python中坐标怎么表示_如何在Python中以像素表示(有限)平面上的坐标
我假設你有十進制坐標,比如50.3869881,-4.6177269,南北優先。在
因為你有一個相當小的地圖,我們不需要擔心地球的曲率,我們可以假設我們有一個線性地圖,所以地圖上點的(x,y)坐標將是x = longitude * a + b
y = latitude * c + d
其中a,b,c,d是常數。棘手的是找出這些常數是什么,這取決于你的緯度。在
一種技術是使用googleearth,它可以讓你測量兩點之間的距離,你可以說取兩個已知坐標的點,然后找出它們之間的距離和白令。一點高中幾何知識就能給你坐標。在
另一種技術是使用地圖制作者使用的Earth ellipsoid。赤道半徑6378137m,極半徑6356752m。在
更簡單的方法是把地球當作一個半徑為6371000米的完美球體,緯度很容易,繞兩極繞一圈,周長為2πr=40030km。用360除以1度緯度=111.2km。對于經度,我們需要做一點三角學。穿過地球的水平切片有半徑
^{pr2}$
經度1度6371km * 2 * pi * cos(lat) / 360
它的一些價值是lat dist
0 111.2
10 109.5
20 104.5
30 96.3
40 85.2
50 71.5
60 55.6
70 38.0
80 19.3
90 NA things don't work at the poles
所以要找到坐標。讓lat0,long0是圓中心點的坐標,這是地圖上的0,0點。讓lat1,long1成為你們想要找到的點。首先計算m = 6371km * 2 * pi * cos(lat0) / 360,然后找出坐標dlat = lat1 - lat0,dlong = long1 - long0之間的差異。它們的單位是度,所以乘以111.2km和m就可以得到以km為單位的距離。x = dlong * m,y = dlat * 111.2。這只是一個近似值,所以結果只能精確到1%。在
總結
以上是生活随笔為你收集整理的python中坐标怎么表示_如何在Python中以像素表示(有限)平面上的坐标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: winrar 4.20 注册码
- 下一篇: Python贪婪算法