ベクター タイル大解剖! – 基礎編

「ベクター タイル」という形式のデータをみなさんはご存知でしょうか?地理院地図が提供実験として公開したことから、名前だけは聞いたことがあるという方も多いかもしれませんね。

ArcGIS ではバージョン 10.4 から配信できるようになり、ArcGIS API for JavaScript 3.18 からはインデックス化されたベクター タイルがサポートされるなど、ArcGIS でも徐々に利用できる環境が広がってきています。

さて、当然の疑問として「何がスゴイの?」や「従来のタイル(タイル キャッシュ)と比べてどう違うの?」と、みなさん気になったことでしょう。

01

そこで今回はベクター タイルの「基礎編」と題しまして、ベクター タイルの良さを余すこと無くご紹介します!

ベクター タイルとは?

ベクター タイルとは、あらかじめ作成済みのマップを、ベクター形式で、かつタイル状に区切って用意したデータです。従来 ArcGIS でのタイルというと、作成済みのマップを画像(ラスター)形式で用意したタイル キャッシュのことを指していました。この形式をベクター形式に変えたことで、画像形式では実現することができなかった、多くのメリットを生み出すことができました。

データの容量が小さく、また作成時間も短い!

従来のラスター形式のタイル キャッシュは、地図の描画という面では最高のパフォーマンスを発揮できます。しかしながら、その作成には非常に時間がかかるほか、データの容量も大きくなるため、「作成に十分な時間が取れるか」「ディスクに十分な空き容量があるか」など、綿密な計画を立てた上でキャッシュを作成する必要があります。

ベクター タイルでは作成されるキャッシュは画像ではなく、その名のとおりベクター データになります。キャッシュの形式をベクター データとすることで、ラスター形式のキャッシュのように表示する地図のタイル画像を 1 枚ずつ作成する必要がなくなるため、作成時間が大幅に短縮されるほか、データの容量も非常に小さくすることができます。
作成時間を短く、またデータの容量を小さくできるので綿密な計画を立てずとも、「まずは作って試してみる」という運用ができるようになります。

02

タイルのシンボルを変更できる!

シェープファイルやファイル ジオデータベースのフィーチャクラスを ArcMapArcGIS Pro に追加すると、追加するたびにシンボルの設定が変わりますね。これらのデータがシンボルの設定を持っていないためで、データが追加されるとランダムなシンボルの設定で描画されます。

ベクター タイルでも同様で、作成されたベクター データはシンボルの設定を持っていません。では、マップに追加するたびにシンボルが変わってしまうのかというと、そうではありません。別途用意されるスタイル ファイルに記述されている設定に基づいてシンボルが定義されるので、何度マップに追加しても毎回同じように表示させることができます。

勘のいい方ならすでに想像できているかもしれませんが、タイルのシンボルはスタイル ファイルによって定義されるので、このファイルを修正することでタイルを作成した後でもスタイルを変更することができます。
特に ArcGIS OnlinePortal for ArcGIS に公開すると、スタイル ファイルのダウンロード、アップロードが行える UI も用意されており、ひとつのベクター タイル サービスを使いまわして、複数のシンボルで表示させることも可能です。

03

縮尺・回転によって表示がくずれない!

従来のタイル キャッシュはラスター形式であるため、タイルが用意されていない縮尺ではぼやけて見えてしまうことがあります。
ベクター形式のタイルであれば、都度ベクターデータの情報に基づいて描画されるため、ラスター形式のようにぼやけて見える心配はありません。

また ArcGIS API for JavaScript のバージョン 4.x から Web アプリケーションでマップの回転ができるようになりました。
マップの回転自体は便利な機能ではあるのですが、マップを回転させた際、従来のタイルではラベルも一緒に回転してしまうため、文字が読みにくくなってしまいます。ベクター形式であればマップを回転させても、文字の方向を平行に保つことができるので、ラベルが読みにくくなることがありません。

04

さて、ここまではメリットばかりをご紹介しましたが、残念ながらベクター タイルは万能ではありません。タイルを使用する上で重視したいポイントに応じて、従来のタイルと使い分けていただくのがベストです。

描画速度は従来のタイルには敵わない

地図の描画速度はクライアントに任される処理がどういったものかが、大きなポイントになります。ベクター タイルの場合にクライアントが行う処理は、サーバーから受け取ったベクター データを分析して描画するというものです。ラスター形式のタイルであれば、サーバーから受け取るデータはすでに地図画像になっているので、分析などせずそのまま表示することができますが、ベクター データの場合はクライアントで追加の処理が必要になるため、描画速度の面では勝ち目がありません。

描画速度を重視するのであれば、従来のタイル キャッシュをご使用ください。

データ、シンボルに制限がある

描画速度の点でも説明したとおり、ベクター タイルの地図の描画はクライアントに任されます。そのため、高度なシンボル表現や、マルチパートのポリゴンといったレイヤーは扱うことができません。
また、使用する予定のデータはシンプルなものである必要があります。

何を重視するかによって、従来のタイルと使い分けていただくのが良いですが、ベクター タイルの登場によって「タイル」がより手軽に作りやすくなったのは確かですね。

次回は「作成・共有編」と題して、実際にベクター タイルを作成する方法、また ArcGIS Online に共有する方法をご紹介します。

■関連リンク

ArcGIS Pro

ArcGIS 10.4 をリリースしました!