如何在屏幕上绘制纬度/经度坐标?

时间:2010-09-17 21:41:14

标签: delphi latitude-longitude cartography

我试图找出如何在位图上绘制WGS84纬度/经度点,但无法计算出将lat / lon点转换为可绘制坐标所需的数学运算。任何人都可以给我一些关于如何做到这一点的指示或示例吗?

感谢

科林

4 个答案:

答案 0 :(得分:5)

将纬度经度转换为x,y,用于绘制平面2d表面(如位图)是一个庞大而复杂的主题。

有关此内容的一般信息,请参阅维基百科上的map Projections

一般来说,像Google地图和bing这样的网站通过在完美的球体上使用墨卡托投影来解决这个问题,这种球体很容易覆盖大部分地球(北极/南极除外)并且在大多数情况下都“足够好”。然而,这些都是一些大问题,这实际上取决于你的图片需要准确的程度以及它们需要保留的内容。

不幸的是,我不太熟悉delpi以提供源代码,但是mercator预测的数学记录很好地记录了here

如果准确度根本不是问题而你的点“靠得很近”,最简单的方法就是简单地使用常数因子和偏移来将纬度/经度转换为适合你位图的x和y值。 / p>

这可能会使你的照片在北/南方向稍微挤压,但一般会产生很像mercator的照片而没有自然对数和sin / tangent调用。

答案 1 :(得分:3)

您可以查看墨卡托投影演示,使用Delphi源代码:

http://delphiforfun.org/programs/MercatorDemo.htm

答案 2 :(得分:0)

正如MerickOWA已经提到的那样,这个问题没有正确的答案,因为它取决于你所从事的规模,以及你需要的准确性。这很大程度上取决于您正在讨论的.bmp上的内容。如果它是Mercator投影中的全局地图,那么Greg的回答会给你一些指示。如果它是本地地图,那么它将取决于地图使用的数据,以及所使用的预测(并且数据将主要由相关国家的国家主管部门确定)。 说了这么多,如果您想要做的只是将GPS提供的Lat Lon(GS84基准面)投影到覆盖区域的本地地图上。纬度为6°,那么你可能比将WGS84 Lat Lon投影到WGS84 UTM投影更糟糕,然后缩放(并可能)旋转地图以适应2个已知坐标。

此处的链接应该提供一些帮助http://www.uwgb.edu/dutchs/usefuldata/utmformulas.htm

答案 3 :(得分:0)

您是否尝试过The World Coordinate Converter:http://twcc.free.fr