http://wiki.openstreetmap.org/wiki/Mercator
使用上面链接中的C#示例,我可以将lat / lon投影到x / y坐标。但是,我有缩放问题。我想知道投影后每个像素的长度(以英里为单位)。我想在渲染之前缩放地图,每英里500像素或类似的东西。
伙计们,真的没有人回答这个问题吗?没有回答,这已经很久了。
答案 0 :(得分:1)
像素的长度不同,取决于您投射的地球的哪个区域。墨卡托保留角度,而不是长度。
http://en.wikipedia.org/wiki/Mercator_projection
查看地图 - 与赤道相比,两极周围的区域按比例放大。根据您的要求,您最好使用标准投影,如UTM。您应该检查地图所在的世界部分使用的投影。
另一种方法是将反投影应用于两个像素以获取地理坐标并测量它们之间的大圆距离。维基百科有更多信息,但通常会涉及一些数学。