在球形墨卡托与区域UTM中测量距离
我在WGS84纬度/经度中有积分,我想测量它们之间的“小”(小于5公里)距离。 我可以使用http://www.movable-type.co.uk/scripts/latlong.html中的Haversine公式,效果很好。 不过,我想使用Python Shapely库,这样我不仅可以进行距离操作,而且可以进行更多的操作,并且因为在我正在使用的规模上,平整的地球足够近似。为了将地理坐标可靠地投影到笛卡尔坐标,我使用的是Python的proj4,但是似乎会得到比我想要的更大的错误。 如果我使用本地UTM区域,则会出现两米长的正弦波之间的差异,这很好。但是我不想解决UTM区域(这些点可能在世界范围内),因此我尝试使用“球形墨卡托”,但现在正弦距离与预计距离之间的差异远超过100%。这对球形墨卡托真的合适吗?我真正想要的是一个可行的笛卡尔投影,用于在世界任何地方彼此之间5公里之内的两个点。 from shapely.geometry import Point from pyproj import Proj proj = Proj(proj='utm',zone=27,ellps='WGS84') #proj = Proj(init="epsg:3785") # spherical mercator, should work anywhere... point1_geo = (-21.9309694, 64.1455718) point2_geo = (-21.9372481, 64.1478206) point1 = proj(point1_geo[0], point1_geo[1]) point2 = proj(point2_geo[0], point2_geo[1]) point1_cart = Point(point1) point2_cart = Point(point2) print "p1-p2 (haversine)", …