在C#中ArcGIS Runtime是否支持调用GeoServer发布的DTED数据做地形?
关于ArcGIS Runtime调用GeoServer发布的DTED数据实现地形效果的解答
ArcGIS Runtime API没有直接支持调用GeoServer发布的WMTS格式DTED数据生成地形效果的原生能力。
核心原因
ArcGIS Runtime的地形数据源支持范围有限,仅原生适配:
- 本地存储的DTED文件
- ArcGIS Server发布的
Terrain Service(专属地形服务) - ArcGIS Online托管的地形图层
它对WMTS服务的处理仅停留在加载普通栅格底图层面,无法解析WMTS返回的DTED瓦片里的高程信息,也就无法以此构建3D地形起伏效果。
可行的替代方案
转成ArcGIS兼容的地形服务
将GeoServer中的DTED数据导入ArcGIS Pro/ArcMap,创建Terrain Dataset(地形数据集),再发布为ArcGIS Server的地形服务。之后就能直接用ArcGIS Runtime的地形加载API调用该服务,实现标准的3D地形效果。客户端手动解析WMTS瓦片构建地形
若必须依赖GeoServer的WMTS服务,可在ArcGIS Runtime客户端中:- 手动请求WMTS的DTED瓦片
- 按照DTED格式规范解析瓦片内的高程值(比如DTED的像素值对应米级高程)
- 通过ArcGIS Runtime的
Surface或ElevationSource相关API,手动构建自定义高程数据源,将解析后的高程数据注入生成地形。
这种方式需要自行处理瓦片请求、格式解析和数据拼接,开发成本较高,性能表现也不如原生支持的地形服务。
更换支持WMTS高程的3D框架
如果ArcGIS Runtime的限制无法满足需求,可以考虑使用Cesium等框架,这类工具原生支持加载WMTS格式的高程瓦片,能直接基于GeoServer发布的DTED WMTS构建3D地形。
内容的提问来源于stack exchange,提问作者bekici
相关产品推荐
相关产品推荐

