Skip to content
国土地理院の地図系APIをCesiumで利用可能にするライブラリ群です。 / Libraries which make Japan GSI's APIs can be used with Cesium.
JavaScript HTML CSS
Branch: master
Clone or download
kochizufan Merge pull request #3 from satakagi/patch-2
PNG形式の地形データを読み込む機能を実装しました
Latest commit 651b7ef Mar 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Cesium
.gitignore
JapanGSIImageryProvider.js
JapanGSITerrainProvider.js
LICENSE
README.md
bucket.css
index.html
server.js

README.md

Cesium-JapanGSI

概要(Abstruct)

国土地理院の地図系APIをCesiumで利用可能にするライブラリ群です。
Libraries which make Japan GSI's APIs can be used with Cesium.

JapanGSIImageryProvider

国土地理院の提供する地図画像タイル群から、好きなレイヤを組み合わせてCesiumの地図タイルレイヤを生成するライブラリです。
Cesium's image tile provider from Japan GSI's map image tile service.

プロパティ / Property

  • layerLists

地理院地図の使いたいレイヤIDを、配列で与えます。
全国レベルの画像セットがあるレイヤはプリセットされていますが、災害情報レイヤ等、一部しかないレイヤはプリセットされていません。
そのようなレイヤを使いたい場合は、本項末尾に記載したような方法で使いたいレイヤを定義してください。
列挙されたレイヤ中、提供されるズームレベルに重なりがある場合は、先に書いたレイヤが優先されます。
Give a list of GSI tile layer names which you want to use.

var layers = new Cesium.JapanGSIImageryProvider({
    layerLists: [{
        "id": "20130717dol",
        "zoom": "10-18",
        "ext": "jpg"
    },"relief","std"]
});

JapanGSITerrainProvider

国土地理院のDEMタイル仕様から、Cesiumの地形を生成するライブラリです。
Cesium's terrain provider from Japan GSI's DEM tile service.

  • heightPower

高度差の描画を強調したい場合、この値に1以上の値を与えると、その倍率だけ高さが強調された描画が為されます。
ただしもちろん、建物地物や飛行機の飛行経路等、その他の高度を持つ情報を描画する際は、そちらも同じ倍率を掛けないと相対高さがおかしくなります。
If you want to emphasize height of terrain, you can give powering value by this property.

var terrain = new Cesium.JapanGSITerrainProvider({
    heightPower: 2.0
});

使い方 / Usage

var viewer = new Cesium.Viewer('cesiumContainer', {
    imageryProvider: new Cesium.JapanGSIImageryProvider({
        layerLists: ["ort","relief","std"]
    }),
    terrainProvider: new Cesium.JapanGSITerrainProvider({}),
    baseLayerPicker: false,
    mapProjection: new Cesium.WebMercatorProjection(Cesium.Ellipsoid.WGS84)
});
var scene = viewer.scene;
scene.globe.depthTestAgainstTerrain = true;

Tips

どちらのライブラリも、Cesium.ViewerのbaseLayerPickerプロパティをfalse、viewer.scene.globe.depthTestAgainstTerrainプロパティをtrueにして使う事が推奨されます。
前者は、falseにしないと、Cesium標準の地図セット切り替えコントロールが出てきてしまい、設定した地図タイル、地形が反映されません。
後者は、trueにしないと、地形の地面の下に描画した地物も、透けて見えてしまいます。
You should use these libraries with Cesium.Viewer's baseLayerPicker property as false and viewer.scene.globe.depthTestAgainstTerrain property as true.

https://github.com/gsi-cyberjapan/elevation-php/blob/master/getelevation.php に示されている「dem5a」も活用して、特に都市域で詳しく地形が見えるようにしています。

参照 / See other

You can’t perform that action at this time.