所以我在Lat / Lon中有4个边界点,并且在(x,y)坐标系中我还有4个与lat / lon框的边界点直接相关的边界点。 (它是通过c#中的API加载的磁贴,但不存在获取本地坐标的函数)
这块瓷砖的宽度为305.5单位。高,(它是矢量图块)我如何设置线性代数问题,这样当我在边界内有一个Lat / Lon时,我可以找到与其他坐标系相关的x,y坐标。
我已经阅读了多个投影问题,并且它们都没有处理图像是矢量图像,但我确实有一个绝对距离,地图被表示到(305.5本地单位)。
这是我的一些数据,但我试图将其变成一种算法,我可以在c#中用于不同的边界等(数据是通过API获得的,我可以很容易地获得边界和纬度/经度值:
(lat,lon) -> (x,y)
Top-Left Bound: (38.79691,-90) -> (-305.5,305.5)
Top-Right Bound: (38.79691,-89.99451) -> (305.5,305.5)
Bot-Left Bound: (38.79263,-90) -> (-305.5,-305.5)
Bot-Right Bound: (38.79263,-89.99451) -> (305.5,-305.5)
Center-Bound: (38.79477,-89.99725) -> (0,0)
答案 0 :(得分:1)
在您的具体情况下,这就是您正在寻找的
X = -305.5 +(305.5 - -305.5)*(lon - -90)/( - 89.99451 - -90) Y = -305.5 +(305.5 - -305.5)*(纬度 - 38.79691)/(38.79691 - 38.79477)
一般形式是:
X = ImageLeft + ImageWidth *(lon - LonLeft)/(LonWidth)
如果最小值位于顶部/左侧或底部/左侧,您可能需要稍微调整一下。