ベクター タイルには、さまざまな縮尺にわたるデータのベクター表現が含まれます。 ラスター タイルとは異なり、ベクター タイルは表示デバイスの解像度に適合することができ、さまざまな用途に向けてスタイルを変更することができます。 ArcGIS Online または ArcGIS Enterprise ポータルで、「ベクター タイル レイヤーを共有」したり、「ベクター タイル パッケージを共有」したりすることができます。 ベクター タイル パッケージを共有すると、ポータル内に対応するベクター タイル レイヤーが自動的に作成されます。
「ベクター タイル レイヤー」は、「マップ」および「シーン」に追加することもできます。 シーンでは、表示レイヤーとして [2D レイヤー] のカテゴリにのみ含めることができます。 ベクター タイル レイヤーまたはベクター タイル パッケージ (*.vtpk ファイル) を参照できます。
ベクター タイル作成用のマップの作成
ArcGIS Pro でマップまたはベースマップからベクター タイルを作成できますが、いくつかの制限や特別な注意事項があります。 ベクター タイル作成用のマップを作成する際にまず念頭に置くことは、作成されるタイルが迅速に描画されるように、効果的で効率的なマップを作成することです。 ここで概説する方法に従うと、ベクター タイルに適した対象となるマップを作成できます。 詳細な手順については、「マルチスケール マップの作成」をご参照ください。
効果的なマップの作成
ベクター タイルは、「マップ」およびベースマップからのみ作成でき、シーンから作成することはできません。 ベクター タイルを作成するためのマップでは、通常、マップ縮尺リストにあるタイル スキーマと一致する「マップ縮尺」を選択します。 このマップは「基準縮尺」を使用できません。
ベクター タイルは、ポイント、ライン、ポリゴン、またはマルチポイント フィーチャ レイヤーからのみ作成できます。 これらのレイヤーは、グループ レイヤーまたは「サブタイプ グループ レイヤー」に配置できます。 マップに他のレイヤーが含まれている場合は、それらのレイヤーを [コンテンツ] ウィンドウでオフにするか、マップからすべて削除します。 マップの「メタデータ」が定義されていることを確認します。 少なくとも、[説明] フィールドが指定されている必要があります。
マップのシンボル表示
ベクター タイルの作成では、マップでフィーチャが「シンボル表示」される方法が重要となります。 マップ内のシンボルは、「バージョン 8 の Mapbox GL スタイル仕様」に従ってタイルに変換されます。 「単一シンボル」、「個別値」、「等級色」、「等級シンボル」、または「ストレッチ」でシンボル表示されたレイヤーだけがサポートされています。 このような表示でないレイヤーは、シンボル表示し直すか、オフにするか ([コンテンツ] ウィンドウで)、削除します。 ポイント シンボルの特定のレンダリング モードはベクター タイルでサポートされていません。これには、「ストレッチ」、「属性値を使用した色」、および「属性値を使用したアウトライン幅」が含まれます。
複雑な「シンボル」や「シンボル効果」は避けてください。 シンボル内の各レイヤーは、個別にスタイル設定されます。そのため、複雑なシンボルがあると、描画する必要のある情報やタイルとスタイルに格納する必要がある情報の量が大幅に増加する可能性があります。 「ハッチ塗りつぶし/グラデーション塗りつぶし」、「ラインまたはポリゴンのアウトラインに沿ったマーカー」、または概ねのシンボル効果を含むシンボルで、フィーチャを描画しないでください。 これらは、作成されるタイルで正しくレンダリングされません。 複雑なダッシュ パターンを含むストローク シンボル レイヤーは、出力タイルでのダッシュの表示の切り替え (オン/オフ) で解決します。 ストローク シンボルに対するオフセット効果は適用されますが、オフセット ストロークは簡略化して表示され (パフォーマンス上の理由から)、常に [直角] 方式を使用してレンダリングされます。 移動シンボル効果は例外です。 これは、単純なリニア移動として正しくレンダリングされます。 移動シンボル効果を使用して、建物に落ちる影をシミュレートすることができます。
複雑なポイント シンボルの代わりに円形マーカーを使用すると、ベクター タイルでのポイント レイヤーの外観を改善できます。 円形マーカーを使用してシンボル化されたポイント レイヤーは、ベクター タイル スタイルに円レイヤーとして格納されます。 円レイヤーには、属性値から割り当てられる色など、スプライト アイコンでサポートされていないシンボルをレンダリングおよびサポートするスプライトは必要ありません。 また、円レイヤーは、サイズが属性を使用したサイズの場合スプライト アイコンで発生するピクセレーションおよびぼかしを回避します。 フォントのグリフで構成されたシンボル、SVG ファイルからインポートされたシンボル、または複数のシンボル レイヤーを持つシンボルは、円形として表示される場合でも、円レイヤーではなく常にスプライトとして格納されます。 シンボルの「図形マーカーのシンボル レイヤー プロパティ」で [フォームからの図形の挿入] メニューから円形を使用して、シンボルがベクター タイルに円レイヤーとして格納されるようにする必要があります。
詳細については、「ベクター タイルのシンボル」をご参照ください。
注意:
ベクター タイルを生成する前に、サービスで使用されるマップ内のフォントに対する適切なライセンス権限を取得していることを確認してください。 フォントは実際にはタイルに埋め込まれませんが (フォントからラスター表現が作成されます)、フォント ライセンスは Web、モバイル、デスクトップ用に別の条件を指定することがあります。
効率的なマップの作成
余分なデータ、重複データ、および過度な詳細があると、有用なベクター タイルを生成できません。 効率的なマップは、各縮尺で必要なデータだけが含まれること、およびフィーチャと頂点の密度が適切であることを保証するために作成されます。 これを実現するための方法がいくつかあります。
クリーンなデータの確保
効率的なマップを作成する際にまず念頭に置くことは、クリーンなデータを使用していることを確認することです。 過度なフィーチャ詳細、過度なフィーチャ密度、および重複フィーチャのデータ ソースを確認します。 レイヤーに対する定義クエリを指定して、不要なフィーチャを非表示にすることができます。ただし、作成しているマップに無関係なデータがある場合は、これらのフィーチャを除外して新しいフィーチャクラスを作成することをお勧めします。
まず、[ジオメトリのチェック (Check Geometry)] ツールと [ジオメトリの修正 (Repair Geometry)] ツールでジオメトリ エラーを検出して修正します。 詳細については、「ジオメトリのチェックと修正」をご参照ください。 トポロジを使用して、データを整合チェックすることもできます。 トポロジの使用については、「マップ トポロジ」をご参照ください。
表示可能な縮尺範囲の制限によるデータ密度の低減
縮尺を小さくするにつれて、より広範囲のデータが取得されますが、詳細を表示するスペースが狭くなります。 小縮尺のマップにあまりにも多くのフィーチャ頂点があると、タイルが迅速に描画されなかったり、ひどい場合だと、そもそもタイルが作成されなかったりします。 これは、特にポイント フィーチャに当てはまります。 タイルの作成中、頂点を減らすために、ライン フィーチャとポリゴン アウトライン フィーチャに対して控えめな単純化が実行されますが、ポイントの密度と配置は変更されません。 密度の高いポイント フィーチャ レイヤーは、必ず、それらを識別および理解できる大きな縮尺だけで描画します。 縮尺を小さくするにつれて、これらのレイヤーを非表示にします。
目的のベクター タイル パッケージの全縮尺範囲で適切に表示できないレイヤーに対して、表示可能な縮尺範囲を設定できます。 レイヤー内の個々のシンボル クラスの表示可能な縮尺範囲を調整することで、この制限を微調整することもできます。 データ重複の最小化および縮尺範囲の表示制限のための特定の方法については、「マルチスケール マップの作成」をご参照ください。
注意:
「フィーチャ ビニング」はデータ密度を低減させるもう 1 つの方法ですが、ビン化されたフィーチャ レイヤーを含むマップに対してベクター タイルを作成する場合、ビン ポリゴンは含まれません。 結果のベクター タイルにはポイント フィーチャのみが描画されます。
ジェネラライズによるデータ密度の低減
特定の縮尺で一部のフィーチャを非表示にする他に、ジェネラライズ プロセスでデータ量 (視覚的な詳細とファイル サイズの両方) を制限することもできます。 ジェネラライズは広義の用語で、小さな縮尺での表示に適合させるためのデータに対する変更を意味します。 ジェネラライズ処理には、何らかの基準を満たすフィーチャの詳細または実際のフィーチャの除去、フィーチャの詳細の単純化、大きな代表的フィーチャを作成するためのフィーチャの集約などが含まれます。
一部のジェネラライズは、タイル サイズを管理可能にするために、ベクター タイル生成時にデータに対して自動的に実行されます。 これらは控えめな処理で、(このトピックと「マルチスケール マップの作成」トピックに記載されているガイドラインに従って) マップが適切に作成されていれば、ほとんどの場合、これらの変更は目に見える形ではわかりません。 小縮尺マップにおけるフィーチャのジェネラライズ方法を詳細に制御する場合は、次のジオプロセシング ツールを 1 つ以上実行して、ベクター タイル作成前にマップの異なる縮尺範囲に対して異なるフィーチャ レイヤーを作成します。 ライン フィーチャとポリゴン アウトライン フィーチャでは、これらのツールでの事前処理に関係なく、ベクター タイル作成プロセス中に、シンボル表示と縮尺 (詳細レベル) に基づいて何らかのディゾルブと単純化が実行されることを理解しておいてください。
ArcMap では、この他にも、ArcGIS Pro でマップにデータを追加する前にデータに対して実行できるジェネラライズ ジオプロセシング ツールが用意されています。
フィールドのハイライトによる関連する属性の保持
作成されるタイルをできるだけ小さく効率的に保つために、マップからベクター タイルが作成されるときに、フィーチャの描画に必要なフィールドだけがベクター タイルに渡されます。 場合によっては、迅速なレンダリングに役立つように追加のフィールドが取得されます。 たとえば、「等級色」または「等級シンボル」で描画されるレイヤーには、クラス閾値に対応する整数値の新しいフィールドが含まれます。
ベクター タイルは、関連付けられているスタイル ファイルを編集してカスタマイズできるため、ベクター タイルに他のフィールドを取り込んで、このカスタマイズをサポートする場合もあります。 たとえば、別の (現地の) 言語の地名ラベル文字列を含む別のフィールドを使用して、スタイル ファイル内のこれらの文字列にアクセスすることができます。
ヒント:
ObjectID フィールドをハイライト表示すると、フィーチャレベル ID がベクター タイルに追加され、タイル自体からポップアップを表示できるようになります。 ベクター タイル レイヤーを表示すると、「関連 Web フィーチャ レイヤーを使用してポップアップを有効にする」こともできます。 この操作により、タイルのサイズが大幅に大きくなることがあります。 描画に必要ないフィールドはハイライトしないでください。
ベクター タイルに特定のフィールドを取り込むには、レイヤーの「フィールド ビュー」でそのフィールドをハイライトする必要があります。 これを行うには、次の手順に従います。
- マップの [コンテンツ] ウィンドウでフィーチャ レイヤーを選択します。
- リボンで、レイヤーの [データ] タブにある [データ設計] グループで、[フィールド] をクリックしてレイヤーのフィールド ビューを開きます。
- [フィールド] デザイン ビューで、[ハイライト] 列にあるセルをオンにして、該当するフィールドをハイライトしてベクター タイル レイヤーを追加します。
ハイライトされたフィールドにコード値ドメインかサブタイプがある場合、それらのフィールドの属性は数値として保存されます。 ただし、サブタイプかドメインの説明を文字列値として保存することもできます。 これらの文字列の説明では、より柔軟な方法でベクター タイルのスタイルを設定できます。 フィールド ドメインの説明を文字列値として転送するには、「ベクター タイルの作成」時に「フィールド ドメインの説明を転送」ジオプロセシング環境変数を使用します。
ベクター タイルの作成
マップが完成したら、ベクター タイルを作成できます。 これには、そのマップを Web レイヤーとして共有します。
- [コンテンツ] ウィンドウでそのマップをハイライト表示します。
- [共有] タブの [共有] グループで、[Web レイヤー] メニューをクリックした後、[Web レイヤーの公開] をクリックします。
- [Web レイヤーとして共有] ウィンドウの [一般] タブで、[レイヤー タイプ] 見出しの下にある [ベクター タイル] を選択します。
- [構成] タブと [コンテンツ] タブで、ベクター タイルの詳細を指定します。 詳細については、下記の説明をご参照ください。
また、[ベクター タイル パッケージの作成 (Create Vector Tile Package)] ツールを使用することもできます。 このツールでは、マップまたはベースマップから、完全なベクター タイル パッケージ (*.vtpk ファイル) が生成されます。 その後、ArcGIS Online または ArcGIS Enterprise でベクター タイルを共有および使用できます。
Web レイヤーを公開してベクター タイルを作成する場合でも、ジオプロセシング ツールを使用してベクター タイルを作成する場合でも、作成の前にいくつかの意思決定を下す必要があります。
タイル スキーマの遵守
マップからベクター タイルが生成される際、タイル スキーマによって定義されている縮尺ごとに、正方形のタイルの連続メッシュが作成されます。 このスキーマは、縮尺が 2 倍ごとに推移し (2 のべき乗の推移とも呼ばれている)、512 x 512 ピクセルのサイズがあり、フィーチャを描画できるほど十分にデータとオーバーラップしている必要があります。 ベクター タイルのタイル サイズ要件により、マップの最大エリアと最小の詳細レベルを表すルート タイルは、たとえば、ArcGIS Online タイル スキーマでは LOD1 (詳細レベル 1) で始まります。 詳細については、技術情報「FAQ: ルート タイルとは何ですか?ローカル座標系でベクター タイル パッケージを作成する場合に、ルート タイルをどのように使用すればよいですか?」をご参照ください。
タイル形式の選択
ベクター タイルの生成を管理できる 2 つの方法があります。 タイルの標準的な連続メッシュは、各タイルに含まれるフィーチャの密度に関係なく、各縮尺レベルで生成できます。 このタイプのメッシュが生成されるのは、[タイル形式] が [フラット] に設定されている場合です。
タイルのサイズを最小化するさらに最適化された方法は、インデックス ポリゴンを作成して保存することです。 この場合、フィーチャの密度が低すぎてコンテンツが大縮尺のタイルにオーバーズームされてしまう場合を認識できるロジックに従って、タイルが作成されます。 また、最小限のフィーチャ詳細を含むタイルを、より大きな縮尺で再利用して再描画し、処理とストレージを節約できる場合は、より小さなタイル (より大きな縮尺) を作成、格納、要求、描画する必要はありません。 たとえば、縮尺範囲内の小縮尺の大きなタイルが、海のポリゴンだけを表示するとします。 このような最小限のフィーチャ詳細のタイルは、大縮尺でも簡単に使用できるため、大縮尺に向けたより小さなタイル、より小さくほとんど空のタイルを生成する必要がなくなります。 この最適化されたタイル作成方法が使用されるのは、[タイル形式] が [インデックス構築済み] に設定されている場合 (デフォルト設定の場合) です。
インデックス ポリゴンの使用
最適化されたインデックス構築済みのタイル形式を使用する場合は、タイルの事前作成済みインデックス ポリゴン セットを指定できます。 [ベクター タイル インデックスの作成 (Create Vector Tile Index)] ツールを使用して、ポリゴンのこのセットを作成することをおすすめします。
まず、ベクター タイルの作成に使用するマップに対してこのツールを実行します。 次に、出力ポリゴン フィーチャクラスを [インデックス ポリゴン] として使用します。 [ベクター タイル パッケージの作成 (Create Vector Tile Package)] ツールでは、これはオプションのパラメーターであるため、インデックス構築済みタイル形式の使用時に空白のままにしておくと、処理中に、最適化されたインデックス ポリゴン セットが動的に作成されます。 インデックス ポリゴンは、ツールの終了後に破棄されます。
同じマップを複数回処理する場合や、将来的に更新を予定している場合は、[ベクター タイル インデックスの作成 (Create Vector Tile Index)] ツールで、インデックス ポリゴン セットを生成して保存することをお勧めします。 既存のインデックス ポリゴンを使用すると、タイル生成プロセスが高速化するだけでなく、高速な描画に適したサイズのタイルが作成されます。 また、タイル作成前にデータのフィーチャ密度を解析するために、これらのインデックス ポリゴンを個別に描画するのも良い方法です。
タイルの縮尺範囲の選択
[最小キャッシュ縮尺] および [最大キャッシュ縮尺] パラメーターで縮尺を指定して、パッケージで作成されるベクター タイルの縮尺範囲を制限できます。 選択する縮尺は、タイル スキーマに定義されている縮尺でなければなりません。 これらの縮尺は、それぞれ minzoom 値と maxzoom 値に変換されます。 たとえば、詳細レベルが 0 ~ 6 のベクター タイルを作成すると、そのベクター タイルは minzoom = 0 と maxzoom = 6 で保存されます。
ベクター タイルはダウンロードが高速で、高解像度で鮮明に表示され、タイル上のテキストはマップで回転します。 ベクター タイルのスタイルはカスタマイズが可能で、作成後に更新できます。 ベクター タイルの作成前にマルチスケール マップで余計なフィーチャと詳細を制限している場合は、効率的な方法でコンテンツを共有できます。