我想以米为单位计算地球表面两点之间的距离
我已经尝试过底图和cartopy,但两者都导致不同的数字。
底图:
import mpl_toolkits.basemap.pyproj as pyproj
k = pyproj.Geod(ellps="WGS84")
distance = k.inv(c0[1], c0[0], c1[1], c1[0])[-1]/1000.
卡托普:
import cartopy.geodesic as gd
k = gd.Geodesic() // defaults to WGS84
distance = k.inverse(c0, c1).base[0,0]/1000
其中 coord0 和 coord1 都是大小为 2 的 numpy 数组,具有坐标的纬度和经度。
c0 = numpy.array([77.343750, 22.593726])
c1 = numpy.array([86.945801, 23.684774])
卡托普输出:990.6094719605074
底图输出:1072.3456344712142