2012-06-02 34 views
2

我有一个由左下角和右上角坐标定义的特定地理区域。我怎样才能把这个地区分成20x20公里的地区。我的意思是实际上地球的形状并不平坦。边界框只是一个近似值。在实际意义上它甚至不是矩形。这只是一个假设。可以说,bottomleft坐标由x1,y1给出,topright坐标由x2,y2给出,y1处x1到x2的长度与y2处x1到x2之间长度的长度不同。我如何解决这个问题划分地理区域

实际上,我必须使用matlab的meshgrid函数为这个区域创建一个空间meshgrid。这样网格的面积为20x20km。

meshgrid(x1:deltaY:x2,y1:deltaX:y2) 

正如你所看到的,我只能有一个deltaX和一个deltaY。我想选择deltaX和deltaY,以便增量创建大小为20x20km的网格。然而,这个deltaX和deltaY应该根据位置而变化。有什么建议么?

我的意思是让我们说deltaX = del1。然后点(x1,y1)到(x1,y1 + del1)之间的距离为20km。当我测量点(x2,y1)到(x2,y1_del1)之间的距离时,距离为< 20km。上面的meshgrid函数确实创建了网格。但距离不一致。任何想法如何克服这个问题?

回答

0

请记住,地球表面的20公里是一个非常短的距离,大约0.01弧度 - 因此,对于任何非科学的东西,您所看到的面积将近似平坦。假设这是科学...

得到比在meshgrid你应该创建一个函数,它接受作为其输入你想要的(X,Y),并把它映射相对于单调的步骤以外的东西(X_0,y_0)和(X_MAX ,y_max)在你的单位选择。下面是一个内联函数证明使用功能meshgrid步骤

step=inline('log10(x)'); 
[x,y]=meshgrid(step(1:10),step(1:10)); 
image(255*x.*y) 
colormap(gray(255)) 

那么如何确定函数应该是什么样的想法?对于我们来说,如果没有关于您的数据集的外观,您与其互动的方式以及您的准确性要求是什么,我们很难回答。如果您有权访问每个点的实际位置,则应该一次更改一个维度(例如,如果您的数据网格与您的纬度网格对齐),并使用曲线拟合与模型选择技术(akaike /贝叶斯准则)为您的数据找到最佳功能。