确定给定地图中的投影

时间:2009-11-29 22:24:40

标签: mapping geography

我意识到这可能不是一个编程问题,但是我不断碰到作为一个程序员,所以我认为这里的其他人可能有分享的有用知识。

我有一个地球区域的地图(可能是任何地图,但这里是an example)我应该如何确定地图中使用的投影,然后我应该如何以编程方式将纬度和经度坐标转换为像素图像上的位置。

目前我有matlab代码打开图像并绘制结果(x,y)坐标,但我无法弄清楚如何将lat / long转换为x,y!

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

地理坐标是球面坐标的变体。您可以将它们转换为法线坐标:

x = r * sin(90 - lat) * cos(lon)
y = r * sin(90 - lat) * sin(lon)
z = r * cos(90 - lat)

这并不准确,因为地球不完全是一个球体。根据地图的类型,有几种方法可以从中获取2D坐标。图像可以从球体投射到圆柱体或两个平面。

这些链接可能有所帮助:

答案 1 :(得分:0)

事实证明,以编程方式计算地图的投影是一项复杂的图像处理任务。我设法解决这个问题的方法就是使用具有明确定义的投影的地图 - 例如Google地图使用墨卡托投影,就像英国的大多数地图一样(因为我们的英国参考网格基于Universal Transverse Mercator)。

我希望这可以帮助其他人!