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%。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值