如何将地理坐标转换为固定比例的像素?
Posted
技术标签:
【中文标题】如何将地理坐标转换为固定比例的像素?【英文标题】:How to convert geo coordinates to pixels with fixed ratio? 【发布时间】:2014-05-21 00:44:51 【问题描述】:我发现了许多将坐标转换为特定图片大小的像素的示例。但这不是我需要的。
我需要将地理坐标(纬度和经度)转换为具有定义的像素/度比率的屏幕像素,而不绑定到图片大小。它需要在画布上以编程方式绘制几条线(每条线长度为 10-15 公里,整个地图为 80x80 公里)。
我该怎么做?
【问题讨论】:
将度数乘以您的(像素/度)常数以检索像素位置。它还有什么意义,特别是因为其他一切都与您使用的特定球面投影有关,但没有提及? @MarkoTopolnik,是的,我也在考虑这个简单的方法。但是这种方法正确吗?如您所知,显示器是平的,地球是圆的。 好吧,要么你接受近似值,要么你不能有一个固定的像素/度比。 【参考方案1】:如果您想保持正确的纵横比,请记住,经度的长度取决于纬度:当您接近极点时,经度会变短。如果您假设一个球形地球,则经度的长度乘以纬度的余弦,例如如果赤道上的度数是 110 公里,那么在 60°N 上它是 110*cos(60) = 55 公里。
在不到 100 公里的距离内,地球非常平坦。除非您需要非常高的精度,或者必须使用南极洲的地理环境,否则恒定比例因子是可以的。
【讨论】:
【参考方案2】:如果您关心投影(请参阅问题的 cmets)并且您使用 swing 在屏幕上绘图,您可以使用:
http://docs.geotools.org/stable/userguide/unsupported/swing/jmappane.html
请注意,这是一个非常重的库。使用带有传单 (javascript) 的网页在屏幕上显示地理信息可能会更快。
【讨论】:
以上是关于如何将地理坐标转换为固定比例的像素?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 cartopy 将显示坐标转换为地理坐标(纬度、经度)?