Car*_* F. 3 gis geospatial coordinate-systems cesium czml
我想在Cesium的珠穆朗玛峰上面点一点.我昨晚最有可能的候选人是我借用来进行eodef转换的代码(来自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
Run Code Online (Sandbox Code Playgroud)
我把纬度/经度/高度拉到山顶.维基百科的珠穆朗玛峰.在将对象放入我的CZML之前,我将上面代码提供的ECF坐标乘以1000(m/km).我得到ECF的位置:[302995.41122130124,5640733.98308375,2981975.8695256836].使用默认的terrain提供程序(在教程中描述),这一点明显高于Mt. 珠穆朗玛峰.
这是相关的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]}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
这里有几个因素在起作用.
首先,Cesium用于地形的源数据可能比珠穆朗玛峰的峰值低于预期高度.我们使用CGIAR SRTM数据集,因此FAQ中的这个项目是相关的:
为什么一些山区的峰值明显低于应有的峰值?
如前所述,许多原始数据空隙集中在山区和积雪覆盖的地区.因此,高山区域中的许多峰值实际上是插值的.在不使用高分辨率共变量进行插值的情况下,插值无法识别数据空白实际上是峰值,并且倾向于"平坦化"峰值,导致低估该区域的真实高度.此问题在第4版中得到了很大的解决.
他们说它在很大程度上在v4中得到了解决,即Cesium使用的版本,所以希望这第一个因素不是实际问题.
其次,我们处理与Cesium一起使用的源地形数据可能会使峰值变平.这个问题很快就会得到解决,希望在接下来的几个月内能够解决.
第三,维基百科将高度提供为高于平均海平面(MSL)的高度.MSL是一个复杂的表面,很难用数学方法工作,所以你的geodetic2ecef没有这样做.相反,它与Cesium一样,假设海拔相对于WGS84椭球,这是一个更好的表面.
NGA有一个网站,可用于在WGS84椭圆体上方找到MSL的高度,也称为大地水准面高度:http: //earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/intpt.html
据报道,对于珠穆朗玛峰的顶峰(27°59'17"N,86°55'31"E),MSL比WGS84 低 28.73米.如果从维基百科上报告的峰值高度中减去该数字,至少应该更接近.
本页包含有关以编程方式计算大地水准面高度的信息:http: //earth-info.nga.mil/GandG/wgs84/gravitymod/egm96/egm96.html
我建议在15分钟的大地水准面高度文件上进行插值,而不是从系数计算高度.
其他一些与该问题没有直接关系的笔记:
Ellipsoid.cartographicToCartesian
. 归档时间: |
|
查看次数: |
2293 次 |
最近记录: |