我试图把一个点珠穆朗玛峰的顶部铯 。 我最有可能的候选截至昨晚是我借来做大地到地心固定转换(从PySatel.coord)的代码。 经审查今天上午,这似乎是正确的:
a = 6378.137
b = 6356.7523142
esq = 6.69437999014 * 0.001
e1sq = 6.73949674228 * 0.001
f = 1 / 298.257223563
def geodetic2ecef(lat, lon, alt):
"""Convert geodetic coordinates to ECEF.
Units are degrees and kilometers.
"""
lat, lon = radians(lat), radians(lon)
xi = sqrt(1 - esq * sin(lat))
x = (a / xi + alt) * cos(lat) * cos(lon)
y = (a / xi + alt) * cos(lat) * sin(lon)
z = (a / xi * (1 - esq) + alt) * sin(lat)
return x, y, z
我把经/纬度/ ALT为山高峰 珠峰维基百科。 我相乘的ECF坐标由上述代码在我CZML定位所述对象之前提供由1000(米/公里)。 我得到的ECF位置:302995.41122130124,5640733.98308375,2981975.8695256836。 用默认的地形提供商(在所描述的教程 ),这点比山的峰显著更高 珠穆朗玛峰。
以下是相关CZML片段:
{"position":
{"cartesian": [302995.41122130124, 5640733.98308375, 2981975.8695256836]},
"id": "ellipsoid-1",
"ellipsoid":
{
"radii": {"cartesian": [3545.5375159540376,
164.44985193756034,
164.62702908803794]},
"material": {"solidColor": {"color": {"rgba": [0, 255, 0, 100]}}}
},
"orientation": {"unitQuaternion": [0.00014107125875577922,
-0.011462389405915903,
-0.010254110199791062,
-0.70702315200093502]}
}