「2142-ol3ex.js」
// create the WMTS tile grid in the google projection // google 投影法で WMTS タイルグリッドを作成します
var projection = ol.proj.get('EPSG:3857');
/** ol.proj.get(projectionLike)
* Fetches a Projection object for the code specified.
* 指定されたコードのプロジェクション・オブジェクトを取得。
* (ol3 API)
* projectionLike
* Either a code string which is a combination of authority
* and identifier such as "EPSG:4326", or an existing p
* rojection object, or undefined.
* 「EPSG:4326」のように権限と識別子の組み合わせのコード文字列、
* または、既存の投影オブジェクト、または、未定義のいずれか。
*/
var tileSizePixels = 256;
var tileSizeMtrs = ol.extent.getWidth(projection.getExtent()) / tileSizePixels; /** ol.extent.getWidth(extent) * Return: Width.(ol3 API) */
/** getExtent() * Get the validity extent for this projection. * この投影の有効範囲を取得。(ol3 API) */
var matrixIds = [];
var resolutions = [];
for (var i = 0; i <= 14; i++) {
matrixIds[i] = i;
resolutions[i] = tileSizeMtrs / Math.pow(2, i); /** Math.pow(base, exponent) * base を exponent 乗した値、つまり、base^exponent の * 値を返します。 * (MDN[https://developer.mozilla.org/ja/docs/Web/ * JavaScript/Reference/Global_Objects/Math/pow]) */
}
var tileGrid = new ol.tilegrid.WMTS({
/** ol.tilegrid.WMTS
* Set the grid pattern for sources accessing WMTS
* tiled-image servers.
* WMTSタイル画像サーバにアクセスするソースのグリッドパターン
* を設定(ol3 API)
*/
origin: ol.extent.getTopLeft(projection.getExtent()), /** origin: * The tile grid origin, i.e. where the x and y axes meet * ([z, 0, 0]). Tile coordinates increase left to right * and upwards. If not specified, extent or origins must * be provided. * タイルグリッドの原点(origin)、すなわちx軸とy軸が交わる * 場所([Z、0、0])。タイル座標は左から右へと上方へ増加しま * す。指定しない場合、範囲または origins が提供されなければ * なりません。 * (ol3 API[説明は Stable Only のチェックを外すと表示]) */
/** ol.extent.getTopLeft * Return: Bottom left coordinate. */
resolutions: resolutions, /** resolutions: * Resolutions. The array index of each resolution needs * to match the zoom level. This means that even if a * minZoom is configured, the resolutions array will have * a length of maxZoom + 1. * 解像度。各解像度の配列インデックスは、ズームレベルに一致す * る必要があります。これは minZoom が設定されている場合でも、 * 解像度アレイは、maxZoom+1 の長さを有することを意味します。 * (ol3 API[説明は Stable Only のチェックを外すと表示]) */
matrixIds: matrixIds /** matrixIds * matrix IDs. The length of this array needs to match * the length of the resolutions array. * 行列のID。この配列の長さは、解像度配列の数と一致する必要 * があります。 * (ol3 API[説明は Stable Only のチェックを外すと表示]) */
});
var scalgoToken = 'CC5BF28A7D96B320C7DFBFD1236B5BEB';
var wmtsSource = new ol.source.WMTS({
/** ol.source.WMTS
* Layer source for tile data from WMTS servers.
* WMTSサーバからタイルデータのレイヤソース。(ol3 API)
*/
url: 'http://ts2.scalgo.com/global/wmts?token=' + scalgoToken,
/** url:
* A URL for the service. For the RESTful request
* encoding, this is a URL template. For KVP encoding,
* it is normal URL. A {?-?} template pattern, for
* example subdomain{a-f}.domain.com, may be used i
* nstead of defining each one separately in the urls
* option.
* サービスのURL。 RESTful リクエストエンコーディングに対
* して、これはURLテンプレートです。 KVPエンコーディングに
* 対して、通常のURLです。 {?- ?}テンプレートパターン、たと
* えば subdomain{a-f}.domain.com は、urls オプション
* でそれぞれを個別に定義する替りに使用することができます。
* (ol3 API)
*/
layer: 'hydrosheds:sea-levels', /** layer: * Layer name as advertised in the WMTS capabilities. * Required. * WMTS capabilities でアドバタイズとしてのレイヤ名。必須。 * (ol3 API) */
format: 'image/png', /**format: * Image format. Default is image/jpeg.(ol3 API) */
matrixSet: 'EPSG:3857', /** Matrix * Matrix set. Required.(ol3 API) */
attributions: [
new ol.Attribution({
/** ol.Attribution
* An attribution for a layer source.
* レイヤソースの属性(ol3 API)
*/
html: '<a href="http://scalgo.com">SCALGO</a>' }),
new ol.Attribution({
html: '<a href="http://www.cgiar-csi.org/data/' +
'srtm-90m-digital-elevation-database-v4-1">CGIAR-CSI SRTM</a>'
}) ], tileGrid: tileGrid,
style: 'default', /** style: * Style name as advertised in the WMTS capabilities. * Required. * WMTS capabilities で advertised(?)としての style * 名。(ol3 API) */
dimensions: {
/** dimensions:
* Additional "dimensions" for tile requests. This is an
* object with properties named like the advertised WMTS
* dimensions.
* タイル要求に対する追加の「dimensions」。これは、advertised
* WMTS dimensions のような名前のプロパティを持つオブジェクト
* です。(ol3 API)
*/
'threshold': 100 } });
var map = new ol.Map({
target: 'map',
view: new ol.View({
projection: projection,
center: [-9871995, 3566245],
zoom: 6
}),
layers: [
new ol.layer.Tile({
/** ol.layer.Tile
* For layer sources that provide pre-rendered, tiled
* images in grids that are organized by zoom levels for
* specific resolutions.
* プリレンダリング(事前描画)を提供するレイヤソースのため
* の、特定の解像度でのズームレベルによって編成されているグ
* リッドのタイルイメージ。(ol3 API)
*/
source: new ol.source.OSM()
/** ol.source.OSM
* Layer source for the OpenStreetMap tile server.
* OpenStreetMap タイルサーバのレイヤソース。(ol3 API)
*/
}),
new ol.layer.Tile({
opacity: 0.5,
source: wmtsSource
})
]
});
var updateSourceDimension = function(source, sliderVal) {
source.updateDimensions({'threshold': sliderVal});
/** updateDimensions(dimensions)
* Update the dimensions.
* dimensions を更新します。
* (ol3 API[説明は Stable Only のチェックを外すと表示])
*/
document.getElementById('theinfo').innerHTML = sliderVal + ' meters';
};
updateSourceDimension(wmtsSource, 10);
document.getElementById('slider').addEventListener('input',
function() {
/** EventTarget.addEventListener
* addEventListener は、 1 つのイベントターゲットにイベント
* リスナーを1つ登録します。イベントターゲットは、ドキュメント
* 上の単一のノード、ドキュメント自身、ウィンドウ、あるいは、
* XMLHttpRequest です。
*(MDN[https://developer.mozilla.org/ja/docs/Web/API/
* EventTarget.addEventListener])
*/
updateSourceDimension(wmtsSource, this.value); });


0 件のコメント:
コメントを投稿