グローバルナビゲーションへ

本文へ

ローカルナビゲーションへ

フッターへ



トップページ >  MAPCOM WORLD TOPICS >  ベクトルタイルの利点とは? -WebGISのおさらいと今後の動向②

ベクトルタイルの利点とは? -WebGISのおさらいと今後の動向②


このエントリーをはてなブックマークに追加

前回の「ベクトルタイルの利点とは?-WebGISのおさらいと今後の動向①」では、WebGISとタイル画像についておさらいしました。
これまでタイルの配信は、画像データ(ラスター)として配信されていました。しかし、最近では国土地理院がベクトルタイルの提供実験を実施するなど、ベクター形式でのタイル配信が主流になりつつあります。
第2回では、ベクトルタイルの仕組みとPC-MAPPINGでの利用方法について確認しましょう。

タイル画像(ラスター)とベクトルタイルの違いとは?

Webマップで配信されるタイルには、ラスター形式ベクター形式の2種類が存在します。
この2つの違いを理解しておくと、用途に応じた地図表示を行うことが容易になります。

タイル画像(ラスター)

タイル画像(ラスター)は、小さな点(ピクセル)の集まりで地図を表現しています。
ピクセルごとに色情報を持っているため、グラデーション、影などの微妙な色の変化も表現できます。その反面、解像度が上がれば上がるほど、ピクセルの数も増えていくのでデータ容量も大きくなります。

地図を表示するためには事前にタイル画像を用意しておく必要があります。
描画の際には、すでに作成されている地図画像を表示するため、読み込み速度や描画速度は比較的高速になります。

ラスターデータはサイズの可変に対応することができないため、タイル画像の用意がない縮尺で拡大・縮小を行なうと、画質が落ちて表示が粗くなってしまいます。そのため、ズームレベル毎にタイル画像を細かく用意する必要があります。
また、地物毎の表示切り替えやタイル画像の重ね合わせを行なうには複数のタイルを用意しなければなりません。

なお、タイル画像はスタイルの変更ができません。タイル作成時に地物毎の描画を細かく調整することはできますが、その後で線の色や太さなどを変更したい場合には、その都度、元のデータを調整してタイル画像を作成しなければならず、手間と時間がかかってしまいます。

ベクトルタイル

ベクトルタイルは、数値化された点、線、面の情報(ベクター)や、色などの描画にまつわる情報をもとに、地図を表現しています。
スタイルが変わっても数値が変更されるだけなので、同じ範囲で比較するとタイル画像よりもデータ容量が小さく、ファイルサイズは一般にタイル画像の数分の1です。

読み込み速度は比較的高速ですが、サーバーから受け取ったベクターデータをクライアント側で分析・描画するため、描画速度はタイル画像と比べると低速になります。また、スムーズな描画にはクライアント側の負荷を要します。

ベクトルタイルを生成する際には、ベクターデータをそのままタイルにするだけなので、短時間で作成することができます。ベクター形式は拡大・縮小を行なっても数値を変更するだけなので、ズームレベル毎にタイルを細かく用意する必要がありません。

描画スタイルの変更やデータの重ね合わせなどといったデータの調整が容易に行なえるため、利用目的に応じて様々なスタイルの地図を作成できることがベクトルタイルの最大のメリットです。しかし、1つのタイルに多くの情報を載せると、その分描画に時間がかかってしまうため、一部のデータしか必要のない利用者にとっては負荷になってしまうこともあります。

タイル画像(ラスター)とベクトルタイルを比較してみる

タイル画像(ラスター)とベクトルタイルの比較

比較してみると、タイル画像とベクトルタイルにはそれぞれメリットとデメリットが存在します。
どちらが優れているか、ではなく、利用用途に応じて使い分けることがポイントになります。

ベクトルタイルの配信について

国土地理院ベクトルタイル提供実験では、地理院タイル(ラスター)と同じ仕様に則ってタイル分割したGeoJSON形式(*. geojson)のファイル群を、地理院タイル(ラスター)と同じ方式で配信しています。
例えば、
https://cyberjapandata.gsi.go.jp/xyz/experimental_rdcl/{z}/{x}/{y}.geojsonでは、x:タイル座標のX値、y:タイル座標のY値、z:ズームレベルを指定することで、ベクトルタイルの「地図情報(道路中心線)」を取り寄せることができます。

2014年8月に開始された国土地理院ベクトルタイル提供実験では GeoJSON 形式のベクトルタイルが配信されていましたが、2019年7月に新たに開始された地理院地図Vector(仮称)提供実験では、タイルに分割したVector tile specification形式(*.pbf)のファイル群で配信されるようになりました。

pbfファイルはMapBox社が提唱したバイナリ形式のデータファイルです。テキスト形式のGeoJSONと比較すると容量が抑えられ、高速に処理ができる点から、ベクトルタイルの配信においてpbfファイルが標準になりつつあります。

PC-MAPPINGでのバイナリーベクトルタイル表示方法

PC-MAPPINGでもGDALをインストールすることで、GeoJSON形式のベクトルタイルだけでなく、MapBox形式のバイナリーベクトルタイル(*.pbf)のファイルのエクスポートに対応しています。
まだ正式なメニューとして、ヘルプなどの記載はありませんが、iniファイルの設定などを行なうことで、お手元のPC-MAPPINGでお試しいただけます。

事前準備

1.GDALのインストール
こちらのサイトからGDALのモジュールを取り込みます。
MSVC 2019 new x64 release-1928-x64-gdal-3-3-3-mapserver-7-6-4のダウンロードページからgdal-303-1928-x64-core.msiをダウンロードして実行します。(2021年11月22日現在)

2.PCMの設定
pcm.iniに、
[GDAL]
Root= C:\Program Files\GDAL 
(GDALのインストールフォルダを指定)
と、セットします。

これにより、GDALのインストールが確認されれば、[エクスポート]-[Webタイル]-[GeoJSON]に、「(GeoJSONではなく)バイナリーベクトルタイル(MVT)を出力する」チェックが現れます。チェックがONの場合、ダイアログで指定したフォルダに、MapBox形式のバイナリーベクトルタイルファイル(*.pbf)が生成されます。

バイナリーベクトルタイルを表示してみる

それでは、MapBox形式バイナリーベクトルタイルを取り込んで表示してみましょう。

今回は、地理院地図Vectorで提供されているhttps://cyberjapandata.gsi.go.jp/xyz/experimental_bvmap/{z}/{x}/{y}.pbfをインポートします。

2.バイナリーベクトルタイルを取り込んで表示する

[地理院地図]-[現在の表示領域のベクトルタイルデータを取得]-[汎用(一般)]をクリックすると、「ベクトルタイルインポート」ダイアログが表示されます。

「ベースURL」のラジオボタンを選択して、取り寄せたいタイルデータのURLを入力します。
「データタイプ」のプルダウンで「バイナリーベクトルタイル(.pbf)」を選択し、その他、適宜設定して「OK」をクリックすると、バイナリーベクトルタイルが取り込まれます。

なお、ダイアログ内の「広域ベクターとして登録する」にチェックを入れると、レイヤーではなく広域ベクター(※)として表示されます。

(※)広域ベクターに登録することで、現在表示されている領域のタイルのみをメモリに読み込み、表示することができます。これによって、表示スピードの向上と有効なメモリの利用を行なえます。

PC-MAPPINGでは[プロジェクトエキスパート]-[描画パラメーター]パネルの設定による描画の切り替えが可能です。

今回は、近年普及が進んでいるベクトルタイルの仕組みとPC-MAPPINGで利用する方法を紹介しました。
今後もベクトルタイルの動向に注目していきます!