微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

纬度/经度图的纵横比

如何解决纬度/经度图的纵横比

如何设置以纬度/经度绘制的数据的纵横比以补偿纬度的影响?目标是获得一个图,其中图中数据点的间隔与它们之间的实际距离成正比。

import matplotlib.pyplot as plt
import numpy

latitudes = [30.0,30.24,30.44]
longitudes = [18.0,18.5,19.0]

mean_lat = numpy.mean(latitudes)
f = 1.0/numpy.cos(mean_lat*numpy.pi/180)

plt.scatter(longitudes,latitudes)
plt.gca().set_aspect(f?  or 1/f?)

我只需要对距离相对较近的点,在一两个度以内。我想保持我的轴的度数,所以我不想使用来自 pyproj 的真实地图投影。

与答案 f1/f 一样,我对如何知道这是正确的过程很感兴趣。

解决方法

set_aspect(f)

如何证明:

longitudes = [0.0,0.0,1.0,0.0]
latitudes = [60.0,61.0,60.0,60.0]

f = 1.0/numpy.cos(60*numpy.pi/180)

plt.plot(longitudes,latitudes,'bo-')
plt.gca().set_aspect(f)

产生一个盒子,在屏幕上,它的高度大于宽度。在大约 60N 处,就地面距离而言,1 度经度比 1 度纬度短。所以这个检查。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。