本文的背景知識:
- 熟悉wmts
- 熟悉Cesium的加載
今天給大家介紹一個好東西:月球的各種WMTS服務。
對於地球的各種地圖服務,如衛星圖片、街道地圖等各種地圖服務,已有多種服務提供商(百度、微軟、谷歌),並且提供多種方式,如WMTS、WMS、TMS等等。
對於地球以外的行星(或月球),NASA根據已經拍攝的衛星影像,也發佈了相應的地圖服務,通過WMTS方式。
NASA提供WMTS的網址爲:https://trek.nasa.gov/tiles/apidoc/
點擊進入"Moon Trek"網站後,即可看見目前提供的WMTS服務(皆採用RESTful WMTS service)
- Equirectangular(目前暫時鏈接好像不可用)
- North Pole
- South Pole
以Clem_UVVIS_FeO_Clr_Global_152ppd圖層爲例,點擊進去後可以看見其WMTSCapabilities.xml文件,裏面定義了引用的接口:
“https://trek.nasa.gov/tiles/Moon/EQ/Clem_UVVIS_FeO_Clr_Global_152ppd/1.0.0//{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png”
因此,Cesium里加載WMTS的代碼如下:
<body>
<div id="cesiumContainer"></div>
<script>
// Clem_UVVIS_FeO_Clr_Global_152ppd tiles (RESTful)
var clem = new Cesium.WebMapTileServiceImageryProvider({
url: "https://trek.nasa.gov/tiles/Moon/EQ/LRO_LOLA_ClrShade_Global_128ppd_v04/1.0.0//{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png",
layer: "LRO_LOLA_ClrShade_Global_128ppd_v04",
style: "default",
format: "image/png",
tileMatrixSetID: "default028mm",
maximumLevel: 6,
tilingScheme: new Cesium.GeographicTilingScheme(),
credit: new Cesium.Credit("Clem_UVVIS_FeO_Clr_Global_152ppd"),
});
// 初始化Viewer時,直接加載對應額imageryProvider
var viewer = new Cesium.Viewer("cesiumContainer", {
imageryProvider: clem,
baseLayerPicker: false,
});
</script>
</body>
加載後的效果如下:
這裏告訴大家一個快捷路徑,如果大家想下載原始.tiff格式的影像,則可使用下面鏈接方式可直接下載:
“https://trek.nasa.gov/moon/TrekWS/rest/cat/data/stream?label=Clem_UVVIS_FeO_Clr_Global_152ppd”
其中把"label="後面的圖層名換成其它的圖層名即可下載任意圖層的tif格式的影像數據!