Python中是否有任何库具有使用egm84,egm96和egm2008计算大地水准面高度的函数?
我知道geoplib有一个函数(http://geographiclib.sourceforge.net/html/classGeographicLib_1_1GravityModel.html),它使用三个egms计算大地水准面高度,但我不知道如何在Python中实现它们(如果它们真的适用)。你是如何实现的?或者,如果它不适用于Python,是否有可以使用的库?
谢谢。
答案 0 :(得分:0)
这里有一些相关的工作:
https://github.com/mrJean1/PyGeodesy
他们的使用说明不是最新的,但这里有一个 TLDR:
首先下载您选择的大地水准面 from here,如下所示:
wget https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm2008-5.tar.bz2
bzip2 -d egm2008-5.tar.bz2
tar -xvf egm2008-5.tar
然后在你的python脚本中使用:
import pygeodesy
from pygeodesy.ellipsoidalKarney import LatLon
ginterpolator = pygeodesy.GeoidKarney("./geoids/egm2008-5.pgm")
# Make an example location
lat=51.416422
lon=-116.217151
# Get the geoid height
single_position=LatLon(lat, lon)
h = ginterpolator(single_position)
print(h)
这将为您提供与该位置椭球的偏差(以米为单位):
-11.973145778529625
这与我们在 we use an online calculator 时发现的大致相符。