我被困在创建一个简单的地图应用程序的小问题上。我想学习的是我的WGS 84 GPS坐标转换背后的数学。
这就是问题所在:
我有两个WGS 84坐标;lat:53.7506 Long:-2.3931 + lat:53.7638 Long:-2.4212我想把这些值转换成屏幕上的点x = 'a'值在0到200之间y = 'a'值在0到200之间
我说了一个值,因为这个值将从上面提到的后期和长数字中得到。
有人能帮忙吗?我尝试使用公式N = V/D规范化数字(N是规范化值,V是坐标值,D是屏幕面积的最大值,在我的情况下是200。)这不起作用,因为所有生成的数字都在199 - 200范围内,但我现在已经迷失了思考过程,所以我需要一些帮助。
我相信有一个公式计算权利,但我似乎找不到它
请帮帮我,因为我今晚需要睡个好觉:)
谢谢
这是x的简单线性映射,也是y的一个扭曲的线性映射:
x),因为下限在左边,您可以简单地使用
x = (long + 180)/360 * x_max
y)只要0在中间,你就需要做相应的减法/加法:
y = (y_max/2) - (lat/90) * (y_max/2)