使用Python中的egms评估大地水准面高度

时间:2014-03-21 16:50:40

标签: python

Python中是否有任何库具有使用egm84,egm96和egm2008计算大地水准面高度的函数?

我知道geoplib有一个函数(http://geographiclib.sourceforge.net/html/classGeographicLib_1_1GravityModel.html),它使用三个egms计算大地水准面高度,但我不知道如何在Python中实现它们(如果它们真的适用)。你是如何实现的?或者,如果它不适用于Python,是否有可以使用的库?

谢谢。

1 个答案:

答案 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 时发现的大致相符。