2010-09-17 128 views
5

我想弄清楚如何在位图上绘制WGS84纬度/经度点,但无法找出将经纬度点转换为可绘制坐标所需的数学运算。任何人都可以给我一些指导或例子如何做到这一点?如何绘制屏幕上的纬度/经度坐标?

感谢

科林

+8

您使用哪个[projection](http://en.wikipedia.org/wiki/Map_projection)?如果你不知道那个问题的含义,那么考虑“了解地图投影”是你的第一个指针。 – 2010-09-17 21:45:38

+0

此外,当你说你不能“算出”数学,这是否意味着你已经找到了转换公式,不知道如何将它们应用到你的程序中,或者这是否意味着你不知道什么是公式是? – 2010-09-17 21:52:18

+0

我正在讨论如何将纬度/经度转换为XY来绘制位图 – colin 2010-09-17 22:17:22

回答

5

车削经纬度到的x,y用于绘图像上的位图的平坦2D表面是一个庞大而复杂的课题。

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

在一般的网站,如谷歌地图和冰通过使用一个完美的球体上的墨卡托投影解决了这个问题,它可以很容易地覆盖大部分地球(除了南/北极)并且对大多数目的来说是'够用'的。但是,这些都是很大的假设,这取决于您的照片需要的准确程度以及他们需要保留的内容。

不幸的是,我不知道delpi是否足够提供源代码,但墨卡托投影的数学方法已有详细记录here

如果精度完全不是问题,而你的观点是“靠近在一起”的话,最简单的方法就是简单地使用常数因子和偏移量将纬度/经度转换为适合你的位图的x和y值。

这可能会使您的照片在北/南方向略微挤压,但通常会产生非常像墨卡托一样的图像,而没有自然对数和正弦/正切调用。

0

正如已经MerickOWA提到的,没有正确答案的问题,因为它依赖于规模的你正在努力工作,以及您需要的准确性。这主要取决于您正在讨论的.bmp上的内容。如果它是墨卡托投影中的全球地图,那么格雷格的答案会给你一些指示。如果它是一张本地地图,那么它将取决于地图所使用的数据,并且使用的投影(和数据将主要由所涉国家的国家当局确定)。尽管如此,如果你想要做的只是将GPS提供的Lat Lon(GS84基准)投影到覆盖纬度区域<的局部地图上,那么你可能做得比投影WGS84 Lat Lon更糟WGS84 UTM投影,然后缩放(可能)旋转地图以适应2个已知坐标。

这里的链接应该给予一定的帮助http://www.uwgb.edu/dutchs/usefuldata/utmformulas.htm

+0

当我说出一个位图时,我真的想要用空白位图来处理Timage,我不希望将这些坐标叠加在地图或图像上让他们在相对位置上画在屏幕上。它更多如何采取经纬度并转换为XY而不是叠加在图像上 – colin 2010-09-18 18:28:23