PNG標高タイルTerrainProvider


 CesiumでPNG標高タイルを利用するためのJavaScriptプログラム,「PNG標高タイルTerrainProvider」を公開します.Cesiumは,Webブラウザ上で3D地図を描画するためのライブラリで,Apache 2.0ライセンスで公開されています.

バージョン

1.1.1 ( 2016-09-13 )

ライセンス

Apache License 2.0

設置

http://gsj-seamless.jp/labs/elev2/tools/pngElevationTileTerrainProvider-1.1.1/pngElevationTileTerrainProvider.js
 利用する場合は,このURLを直接<script>要素で参照するか,ダウンロードしてお使いください.

仕様

 PNG標高タイルTerrainProviderは,グローバル変数CesiumのフィールドとしてPngElevationTileTerrainProviderクラスを追加します.このクラスのコントラクタの書式は以下の通りです.

new Cesium.PngElevationTileTerrainProvider( options )

optionsで指定できるパラメータ
パラメータデフォルト内容
url 文字列 (シームレス標高サービスデフォルト設定) PNG標高タイルを指定するテンプレート.
{z}, {y}, {x}で,レベルとタイル座標を埋め込む
proxy functon   タイル名を変換するプロキシ
hegihtMapWidth Number 64 1タイルの標高マップの幅
hightScale Number 1 メートル単位の高さ得るためにかける係数
通常はPNG標高タイル仕様における「標高分解能」を指定
hightOffset Number 0 メートル単位の高さ得るために足すオフセット値
credit String (シームレス標高サービスのクレジット) クレジット
maximumLevel Number 14 ズームレベルの最大値
optimizeLevel Boolean true ズームレベル最適化を行うか否か
trueに設定すると,heightMapWidthとtileWidthの値から,最適なズームレベルのタイルを選択するようになります.
tileWidth Number 257 タイル画像の横幅.ズームレベル最適化で利用
tilingScheme Object new Cesium. WebMercatorTilingScheme() タイリングスキーム
正距円筒図法のタイルセットを利用する場合は new Cesium.GeographicTilingScheme()を指定します
useVertexNormals Boolean false 法線データを使用するか否か

利用方法

 PngElevationTileTerrainProviderクラスのオブジェクトを生成し,SceneのterrainProviderフィールドに設定するか,Cesium.Viewer()コンストラクタ引数のオブジェクトのterrainProviderフィールドで設定してください.

利用例
var viewer = new Cesium.Viewer( 'cesiumContainer', {
...
} );

viewer.scene.terrainProvider = new Cesium.PngElevationTileTerrainProvider();
			
サンプルページ
  • 最小版
  • 地形の強調
  • 地形陰影
  • 正距円筒図法タイル
  • 標高分解能1cmのタイル
  • 履歴


    日付バージョン概要
    2016/9/12 1.1.1 タイル内の緯度経度の計算方法を変更
    2016/9/13 地形陰影を含むサンプルページを公開
    2016/9/11 1.1.0 useVertexNormalsパラメータを実装
    2016/5/13 1.0.0 PNG標高タイル(ver.1.0.0)に適合するように修正,公開版とする
    2016/1/19 0.0.1 正距円筒図法に対応