http://wiki.openstreetmap.org/wiki/Mercator
通过上面链接中的 C# 示例,我能够将纬度/经度投影到 x/y 坐标。但是,我在缩放方面遇到了问题。我想知道投影后每个像素有多少长度(以英里为单位?)。我想在渲染为每英里 500 像素或类似值之前缩放 map 。
伙计们,真的没人回答这个问题吗?已经很久没有回答了。
最佳答案
像素的长度不会相同,这取决于您投影的地球区域。墨卡托保留角度,而不是长度。
http://en.wikipedia.org/wiki/Mercator_projection
查看 map - 与赤道相比,两极周围的区域按比例放大了。根据你想做什么,你最好使用标准化投影,比如 UTM。您应该检查您的 map 所来自的世界部分使用的是哪种投影。
另一种方法是对两个像素应用逆投影以获得地理坐标并测量它们之间的大圆距离。维基百科对此有更多信息,但通常涉及一些数学知识。
关于c# - 墨卡托投影和缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3074693/