Cesium系列-加载影像数据

1,290 阅读1分钟

Cesium中的影像图层类

Cesium为我们提供了ImageryLayer、ImageryLayerCollection、ImageryProvider类来加载不同的影像图层 cesium.xin/cesium/en/D…

ArcGisMapServerImageryProvider

ArcGIS在线影像底图

this.viewer.imageryLayers.addImageryProvider(
  new ArcGisMapServerImageryProvider({
    url: 'http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer',
  })
);

WebMapTileServiceImageryProvider

提供由 WMTS 1.0.0 兼容服务器提供的平铺图像。该提供程序支持HTTP KVP编码和RESTful GetTile请求,但尚不支持SOAP编码。比如加载国内的天地图

let url =
  'http://t0.tianditu.com/img_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default&format=tiles&tk=';
this.viewer.imageryLayers.addImageryProvider(
  new WebMapTileServiceImageryProvider({
    url: url + this.optionConfig.mapOptions.mapToken,
    layer: 'img',
    style: 'default',
    format: 'tiles',
    tileMatrixSetID: 'w',
    credit: new Credit('天地图全球影像服务'),
    subdomains: ['t0', 't1', 't2', 't3', 't4', 't5', 't6', 't7'],
    maximumLevel: 18,
  })

UrlTemplateImageryProvider

通过使用指定的URL模板请求图块来提供图像。比如高度地图,google地图等

// 高德地图
this.viewer.imageryLayers.addImageryProvider(
  new UrlTemplateImageryProvider({
    url: 'https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}',
  })
);
// google地图
this.viewer.imageryLayers.addImageryProvider(
  new UrlTemplateImageryProvider({
    url: 'http://www.google.cn/maps/vt?lyrs=s@800&x={x}&y={y}&z={z}',
    tilingScheme: new WebMercatorTilingScheme(),
    minimumLevel: 1,
    maximumLevel: 20,
  })
);

Cesium(1.75版本)支持14种类型的影像图层。目前这几个已经基本满足需求,更多类型的影像图层使用还有待挖掘。