如何解决纬度/经度图的纵横比
如何设置以纬度/经度绘制的数据的纵横比以补偿纬度的影响?目标是获得一个图,其中图中数据点的间隔与它们之间的实际距离成正比。
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
的真实地图投影。
与答案 f
或 1/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 举报,一经查实,本站将立刻删除。