擅长:python、mysql、java
<p>好吧,我找到了答案,我将分享它,因为它似乎比我预想的要复杂。解决方案是将GPS坐标顺时针旋转90°,然后在Y轴上进行反射。->;(y,-x)+>;(x,-y)。在</p>
<p><strong>编辑</strong></p>
<p>所以是的,所有要做的就是翻转x和y。这是lat lon,而不是lon-lat</p>
<p>然后,这是一个简单的缩放公式来适应你的屏幕。代码如下:</p>
<pre><code>top_left_raw = GPS_COORD
bottom_right_raw = GPS_COORD
maprect = [0,0,400,500] # Picture of map's width and height
def translate(pos):
#rot = (pos[1], pos[0]*-1)
#reflect = (rot[0], rot[1]*-1)
#return reflect
return (pos[1], pos[0])
def gps_to_coord(pos):
pos1 = translate((pos[0]-top_left_raw[0], pos[1]-top_left_raw[1]))
pos2 = translate((bottom_right_raw[0] - top_left_raw[0], bottom_right_raw[1] - top_left_raw[1]))
x = (maprect[2]*pos1[0]) / pos2[0]
y = (maprect[3]*pos1[1]) / pos2[1]
return (x,y)
gps_to_coord(GPS_COORD)
</code></pre>