cesiumjs中可定制多种图层,可以使用互联网上很多地图提供商的图层数据,也可以使用自己的地图数据。Cesium支持多种标准化格式的GIS瓦片服务,可以把栅格图层绘制到地球的表面——cesiumjs的地图图层本质上是一些瓦片数据,这些图层的亮度、对比度、色相均可以动态调整。
对于地图瓦片数据,OGC(Open Geospatial Consortium开放地理联盟)有很多标准,如TMS、WMTS、各个商业公司也有自己的内部标准。推荐阅读:《OGC标准WMTS服务概念与地图商的瓦片编号流派-web地图切片加载 》
cesiumjs支持的图层格式
-
wms
-
TMS
-
WMTS (with time dynamic imagery)
-
ArcGIS
-
Bing Maps
-
Google Earth
-
Mapbox
-
OpenStreetMap
默认地,Cesium使用Bing Maps作为默认的图层。这个图层被打包进Viewer中用于演示。Cesium需要您自己创建ion account然后生成一个access key用于访问图层数据。
Cesium ion
Cesium ion是一个提供瓦片图和3D地理空间数据的平台,Cesium ion支持把数据添加到用户自己的CesiumJS应用中。下面我们将使用Sentinal-2二维贴图和Cesium世界地形,二者都需要ion的支持。
如果我们在使用Cesium的过程中,没有申请ion,同时没有自己的数据源用而是使用cesium提供的数据源,viewer的底部常常会提示一行小的英文字母。大意就是需要申请access token。
在创建Cesium Viewer的时候,将access token填为自己的access token即可。
Cesium.Ion.defaultAccessToken = '<YOUR ACCESS TOKEN HERE>';
具体官方已经说的很清楚:https://cesium.com/docs/tutorials/getting-started/
使用Cesium的数据源,需要配置IonImageryProvider(去Cesium ion页面,将相关的案例数据 Add to my assets,此时将在个人的app中图层数据源变得可用)
let imageryProvider= new Cesium.IonImageryProvider({
assetId: 3812,
accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhMTg2Mzk0My02NWJmLTQ1ODgtOWRiMy0wODM1ZTkwNGM1NTYiLCJpZCI6MjM0NzYsInNjb3BlcyI6WyJhc2wiLCJhc3IiLCJhc3ciLCJnYyJdLCJpYXQiOjE1ODM0NjEyMDN9.qXnJKCaIHS7JkIPRySJmmbdHvyj1ihQ2CI3itKy9MvY'
})
要是自定义配置,可以使用ImageryProvider
影像服务综述
Cesium中提供了多种ImageryProvider方式,Cesium目前支持的影像服务类型有:
-
ArcGisMapServerImageryProvider
支持ArcGIS Online和Server的相关服务 -
BingMapsImageryProvider
Bing地图影像,可以指定mapStyle,详见BingMapsStyle类 -
createOpenStreetMapImageryProvider
OSM影像服务,根据不同的url选择不同的风格 -
createTileMapServiceImageryProvider

本文详细介绍CesiumJS中地图图层的配置方法,包括使用各种地图提供商的图层数据,自定义图层,以及图层叠加融合的技术。涵盖了BingMaps、GoogleEarth、OpenStreetMap等图层的使用,以及ImageryProvider的自定义实现。
1万+

被折叠的 条评论
为什么被折叠?



