1. 程式人生 > >Cesium入門6 - Adding Imagery - 新增圖層

Cesium入門6 - Adding Imagery - 新增圖層

Cesium入門6 - Adding Imagery - 新增圖層

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/

Cesium應用程式另一個關鍵元素是Imagery(圖層)。瓦片圖集合根據不同的投影方式對映到虛擬的三維數字地球表面。依賴於相機指向地表的方向和距離,Cesium會去請求和渲染不同層級的圖層詳細資訊。

多種圖層能夠被新增、移除、排序和適應到Cesium中。

Cesium提供了一系列方法用於處理圖層,比如顏色自適應,圖層疊加融合。一些樣例程式碼如下:

Cesium提供了各種**介面**支援各樣的圖層資料來源。

支援的圖層格式

  1. wms
  2. TMS
  3. WMTS (with time dynamic imagery)
  4. ArcGIS
  5. Bing Maps
  6. Google Earth
  7. Mapbox
  8. OpenStreetMap

注意:不同的資料來源需要不同的認證 - 需要確保自己能夠有許可權訪問到這些資料來源,自然地需要註冊特定的認證才可以

預設地,Cesium使用Bing Maps作為預設的圖層。這個圖層被打包進Viewer中用於演示。Cesium需要您自己建立**ion account**然後生成一個access key用於訪問圖層資料。

在接下來的例子中,將使用Cesium ion中的Sentinel-2圖層。

  1. 去Cesium ion頁面,將Sentinel-2圖層加入到自己的assets中。點選在導航欄中點選“Asset Depot”
    image

  2. 點選“Add to my assets”。Sentinel-2將在你個人使用者中的asset列表(My Assets)中出現,此時將在個人的app中圖層資料來源變得可用。

  3. 程式碼級別:我們建立一個IonImageryProvider,將assetId傳給對應的Sentinel-2圖層。然後我們將ImageryProvider新增到viewer.imageryLayers**。

// Remove default base layer
viewer.imageryLayers.remove(viewer.imageryLayers.get(0));

// Add Sentinel-2 imagery
viewer.imageryLayers.addImageryProvider(new Cesium.IonImageryProvider({ assetId : 3954 }));

基於上述的程式碼,我們的Cesium應用程式在縮排zoom in的時候會看到如下圖層:
image

關於圖層的更多資訊:請訪問Imagery Layers Tutorial

Cesium中文網交流QQ群:807482793

Cesium中文網:http://cesiumcn.org/ | 國內快速訪問:http://cesium.coinidea.com/