我已经做了一些研究,但没有一个答案适合我的问题: 我有一个由latlonbox表示的图像(jpeg):
https://developers.google.com/kml/documentation/kmlreference?hl=de#latlonbox 所以我有形成图像的北,南,东和西信息,对吧? N / W是左上角点,S / E是右下角点吗?
图片大小为4000x2000。在我的mvc应用程序中,我将尺寸缩小到1500x750像素。
现在我试图通过获取纬度/经度输入来计算此图像上的x / y位置。我怎样才能做到这一点?
但我没有任何缩放信息,我也不明白如何开始,因为我有一个jpeg和latlbox的kml信息。
感谢您的帮助
答案 0 :(得分:0)
感谢您的回复!是的,就我而言,公里很小,也许只有几百米。我尝试用两个线性方程来解决它,这是否合适? 使用第一个链接,以latlonbox为例,我做了以下内容:
WN: (-90,8714285289695/48,25475939255556) <=> X: (0/0)
ES: (-90,86591508839973/48,25207367852141) <=> Y: (1500/750)
E: -90,86591508839973
S: 48,25207367852141
W: -90,8714285289695
N: 48,25475939255556
Diff EW: 0,00551344056977
Diff_SN: 0,00268571403415
我定义了两个函数: f_X1:m * x_lon + b其中f_X1是X坐标,x_lon是经度值 f_X2:m * x_lat + b其中f_X2是Y坐标,x_lat是纬度值 获取X坐标的函数:
m = (1500/Diff_EW) = 272062 (rounded)
在函数f_X1中插入已知的X /经度对: 1500 = E * 272062 + b b = 1500 - (E * 272062) b = 24722662(四舍五入)
=> f_X1: 272062x + 24722662
获取f_X2的相同程序:
m = (750/-Diff_SN) = - 279255(rounded)
在功能f_X2中插入已知的Y /纬度对:
750 = S * (-279255) + b
b = 750 - (S*(-279255))
b = 13475382
f_X2: -279255x + 13475382
如果我插入东西方(E和W)的值,我会得到X坐标(大约1500和0;由于四舍五入而偏离)
如果我插入南方和北方(S和N)的值,我将得到Y坐标(大约750和0;由于四舍五入而偏离)
在这种情况下,这是否是正确的方法?我假设函数是线性的,我不知道这是否正确。
感谢您的帮助。