ArcGIS JavaScript API 加载天地图指南

3
分享 2025-04-03
天地图作为我国重要的地理信息公共服务平台,提供了两种坐标系的底图服务:WGS 1984 Web Mercator(WKID: 102100)和 CGCS2000(WKID: 4490)。ArcGIS 平台对这两种坐标系均提供了良好的支持,开发者可根据具体应用场景选择合适的加载方式。

本指南将介绍如何使用 WebTileLayer 和 WMTSLayer 加载天地图,并探讨打印、暗色模式、自定义投影转换及 WebMap 存储等相关问题,帮助开发者更高效地将天地图集成至 ArcGIS 平台。

1.加载天地图
 
1)102100 坐标系(Web Mercator)

ArcGIS JavaScript API 支持使用 WebTileLayer 和 WMTSLayer 加载 102100 坐标系的天地图。其中,WebTileLayer 配置简单,适用于大多数应用场景,是推荐的加载方式。

2)4490 坐标系(CGCS2000)

对于 4490 坐标系的天地图,同样可通过 WebTileLayer 和 WMTSLayer 进行加载。但需要注意的是:当使用WebTileLayer方式加载时,在打印天地图和ArcGIS Pro中查看天地图两个场景下会出现偏移问题。因此,若应用涉及打印功能或需要在 ArcGIS Pro 中使用,建议采用 WMTSLayer 方式加载; 若仅需在Web应用中作为底图展示,WebTileLayer方式则更为简便高效。

加载天地图.png

通过WebTileLayer加载Web Mercator (102100) 坐标系天地图Demo: https://codepen.io/xiej/pen/qBoWegm

通过WebTileLayer加载CGCS2000 (4490) 坐标系天地图Demo:https://codepen.io/xiej/pen/vYRBovd

通过WMTSLayer加载CGCS2000 (4490) 坐标系天地图Demo:https://codepen.io/xiej/pen/raNoKdO

2.打印天地图

注意事项:

1)天地图 tk:在浏览器中加载天地图需要使用 客户端 tk,而在服务器端打印时需要 服务器端 tk。普通用户申请的 tk 通常不能同时支持客户端和服务器端,开发者可以监控打印请求,并替换请求参数中的 tk。

2)4490 坐标系(CGCS2000)天地图:打印时必须通过 WMTSLayer 加载,以避免偏移问题。

打印天地图.png

打印天地图Demo:https://codepen.io/xiej/pen/JjBeoww

3.天地图暗色模式

通过重写 fetchTile 方法,在获取切片后对图像进行颜色混合处理,以实现暗色模式效果。

天地图暗黑模式.png

天地图暗色模式Demo:https://codepen.io/xiej/pen/QWebMzM

4.天地图重投影

借助 ImageryTileLayer 代理服务,实现二进制图像切片的客户端投影转换。
天地图重投影.png

天地图重投影Demo:https://codepen.io/xiej/pen/xxeBgaz

5.将天地图以WebMap方式保存到门户中

开发者可以将天地图以 WebMap 形式保存至门户中,后续门户管理员可将 WebMap 共享到底图群组,使其在门户底图库中可见。以下Demo演示如何构建WebMap并保存至门户。

保存WebMap.png

构建和保存天地图WebMap Demo:https://codepen.io/xiej/pen/WNmZMBV
 

0 个评论

要回复文章请先登录注册