ArcGIS JavaScript API 加载天地图指南
分享
天地图作为我国重要的地理信息公共服务平台,提供了两种坐标系的底图服务: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方式则更为简便高效。
通过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 加载,以避免偏移问题。
打印天地图Demo:https://codepen.io/xiej/pen/JjBeoww
3.天地图暗色模式
通过重写 fetchTile 方法,在获取切片后对图像进行颜色混合处理,以实现暗色模式效果。
天地图暗色模式Demo:https://codepen.io/xiej/pen/QWebMzM
4.天地图重投影
借助 ImageryTileLayer 代理服务,实现二进制图像切片的客户端投影转换。
天地图重投影Demo:https://codepen.io/xiej/pen/xxeBgaz
5.将天地图以WebMap方式保存到门户中
开发者可以将天地图以 WebMap 形式保存至门户中,后续门户管理员可将 WebMap 共享到底图群组,使其在门户底图库中可见。以下Demo演示如何构建WebMap并保存至门户。
构建和保存天地图WebMap Demo:https://codepen.io/xiej/pen/WNmZMBV
本指南将介绍如何使用 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方式则更为简便高效。
通过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 加载,以避免偏移问题。
打印天地图Demo:https://codepen.io/xiej/pen/JjBeoww
3.天地图暗色模式
通过重写 fetchTile 方法,在获取切片后对图像进行颜色混合处理,以实现暗色模式效果。
天地图暗色模式Demo:https://codepen.io/xiej/pen/QWebMzM
4.天地图重投影
借助 ImageryTileLayer 代理服务,实现二进制图像切片的客户端投影转换。
天地图重投影Demo:https://codepen.io/xiej/pen/xxeBgaz
5.将天地图以WebMap方式保存到门户中
开发者可以将天地图以 WebMap 形式保存至门户中,后续门户管理员可将 WebMap 共享到底图群组,使其在门户底图库中可见。以下Demo演示如何构建WebMap并保存至门户。
构建和保存天地图WebMap Demo:https://codepen.io/xiej/pen/WNmZMBV
0 个评论
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 苹果系统下可以使用arcgis 吗?
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- arcgis版本兼容性
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”