国土地理院が提供実験を実施しているベクトルタイル及び最適化ベクトルタイルを @cieloazul310/ol-gsi-vt
パッケージを使って OpenLayers で表示したプロジェクトの作成例です。
https://cieloazul310.github.io/ol-gsi-vt-template/
$ git clone git@github.com:cieloazul310/ol-gsi-vt-template.git --depth=1
$ cd ol-gsi-vt-template
$ npm install
# initialize git
$ rm -rf .git
$ git init
# develop
$ npm run start
# build
$ npm run build
# format with prettier
$ npm run format
@cieloazul310/ol-gsi-vt
は、国土地理院が提供するベクトルタイルを設定不要で表示するためのパッケージです。ベクトルタイル、最適化ベクトルタイルのそれぞれに通常、淡色の2種類ずつ、計4種類のプリセットレイヤを搭載しています。
GitHub リポジトリ https://github.com/cieloazul310/ol-gsi-vt
この例では @cieloazul310/ol-gsi-vt
パッケージに搭載している淡色プリセットレイヤを使います。
import { gsiOptVtPaleLayer } from '@cieloazul310/ol-gsi-vt';
const optVtLayer = gsiOptVtPaleLayer();
export default optVtLayer;
gsiOptVtLayer
: 最適化ベクトルタイルの通常レイヤgsiOptVtPaleLayer
: 最適化ベクトルタイルの淡色レイヤgsiVtLayer
: ベクトルタイルの通常レイヤgsiVtPaleLayer
: ベクトルタイルの淡色レイヤ
この例ではレイヤの theme
オプションで地図の配色を変更します。
import { gsiOptVtLayer, type PaletteOption } from '@cieloazul310/ol-gsi-vt';
const palette: PaletteOptions = {
road: {
highway: {
main: '#ccf',
edge: '#77a',
},
},
};
const optVtLayer = gsiOptVtLayer({
theme: {
palette,
},
});
上の例では road.highway
(高速道路)の道路中心線(main
)と道路縁(edge
)の色を変更しています。
この例ではレイヤの layers
オプションで最適化ベクトルタイルに含まれるソースレイヤの中から描写する地物を選択します。
import { gsiOptVtLayer } from '@cieloazul310/ol-gsi-vt';
const optVtLayer = gsiOptVtLayer({
layers: ['Cntr', 'Cstline', 'WA', 'WL'],
});
export default optVtLayer;
上の例では Cntr
(等高線), Cstline
(海岸線), WA
(水域), WL
(水涯線)を選択して描写しています。
※注意 最適化ベクトルタイル(gsiOptVtLayer
)とベクトルタイル(gsiVtLayer
)のソースレイヤ名は異なります。詳しくはベクトルタイルの仕様をご覧ください。
@cieloazul310/ol-gsi-vt
パッケージに含まれるヘルパー関数を使って、表示しないソースレイヤを選択します。
import { gsiOptVtLayer, gsiOptVtLayerExclude } from '@cieloazul310/ol-gsi-vt';
const optVtLayer = gsiOptVtLayer({
layers: gsiOptVtLayerExclude(['Anno']),
// => ['AdmArea', 'AdmBdry', 'BldA', 'Cntr', 'Cstline', 'Isbt', 'PwrTrnsmL', 'RailCL', 'RailTrCL', 'RdEdg', 'RdCompt', 'RdCL', 'RvrCL', 'SpcfArea', 'StrctLine', 'StrctArea', 'TpgphArea', 'TpgphLine', 'WA', 'WL', 'WStrA', 'WStrL', 'WRltLine']
});
export default optVtLayer;
上の例では Anno
(注記) 以外のレイヤを描写しています。
その他の機能については @cieloazul310/ol-gsi-vt
パッケージの API リファレンスをご覧ください。
地理院地図Vector(仮称)提供実験
https://github.com/gsi-cyberjapan/gsimaps-vector-experiment
最適化ベクトルタイル試験公開
https://github.com/gsi-cyberjapan/optimal_bvmap
国土地理院によるベクトルタイルは提供実験及び試験公開であるため、今後仕様変更や公開終了の可能性があります。留意してください。