ベクター タイルのラベリング

ベクター タイルが作成されると、マップ レイヤー上で有効になっているあらゆるラベルがタイルに組み込まれます。 ただし、ベクター タイルのラベリング機能には、ArcGIS Pro で使用可能なラベリング機能のサブセットのみが含まれます。 ArcGIS Pro のラベリング プロパティは、可能な場合、ベクター タイル仕様の対応するプロパティに変換されます。 ArcGIS Pro は 2 つのラベリング エンジンをサポートしていますが、「Maplex ラベル エンジン」を使用した場合、以下に指定されているとおり、変換されるプロパティの数が増加します。

ラベル クラス

1 つ以上のラベル クラスをベクター タイルに変換できます。 ベクター タイル クライアントの配置機能は、ArcGIS Pro のラベル エンジンと比較して、制限されます。 たとえば、ポイント レイヤーの 2 つのラベル クラスで、ラベルの右上に優先位置があるラベルが配置される場合、ArcGIS Pro のラベル エンジンはラベルが両方とも表示されるようにそれらのラベルを移動します。

ベクター タイルの場合、クライアントは最高優先度クラスのラベルのみを指定の位置に配置し、もう一方のラベルは競合の原因となるため削除します。 したがって、競合を回避し、削除されるラベル数を最小限に抑えるために、複数のラベル クラスを持つフィーチャには個別のラベル位置を設定することをお勧めします。 多くの場合、複数行のテキストも、複数のラベル クラスのニーズを満たすことができます。 詳細については、以下の「ラベルの改行」セクションをご参照ください。

テキスト シンボル

テキスト シンボル」は、ベクター タイル仕様の対応するシンボル プロパティに変換されます。 フォント サイズはポイントからピクセルに変換されます。 フォントは、ベクター タイル リソースにおいて最適化された表現に変換され、吹出しはスプライトに変換されます。 「縮尺ベースのラベル サイズ設定」を使用したテキスト シンボルの場合、"text-size" プロパティの stops が作成されます。 ラベルのサイズがサイズ範囲に制限される場合、"text-size" プロパティは stops を使用して適用され、値に基づいてサイズが変化します。

次に、テキスト シンボルの例を示します。

"layout": {
  "text-font": ["Tahoma Bold"],
  "text-size": {
  "stops": [[5, 13.3333], [15, 48]]
  }
}

[ハロー シンボルの色] および [ハローのサイズ]テキスト シンボル プロパティ」は、"text-halo-color" および "text-halo-size" に変換されます。 [ハロー シンボルのアウトライン幅] および [ハロー シンボルのアウトライン色] テキスト シンボル プロパティは、ベクター タイル仕様でサポートされていないため、無視されます。

小文字またはすべて大文字として指定されたテキスト タイプはフィーチャのラベル テキストに適用されます。 文字の間隔は "text-letter-spacing" に変換され、単位が ems に変換されます。 引出し線はベクター タイルでサポートされていません。 引出し線付きの吹出しタイプでは、背景シンボルのみが表示されます。 たとえば、バルーン吹出しには色とアウトラインが指定されますが、引出し線は指定されません。

ブロック進行方向プロパティで右から左として指定された垂直テキストは、vertical の値でテキスト記述モードに変換されます。 このプロパティは、アジア文字の縦書き配置に使用されます。 縦書きをサポートする範囲の文字 (CJK 文字など) を 1 つ以上含むラベルだけが縦長に配置されます。

次のテキスト シンボル プロパティは、ベクター タイルの作成ではサポートされません。

  • アウトライン色、アウトライン幅、下線、取り消し線、小文字のテキスト タイプ、位置調整、水平方向の配置、垂直方向の配置、影などのテキスト シンボル プロパティ
  • 単語間隔、文字幅、行間隔、反転角度、合字、カーニング、グリフをジオメトリとして描画、ベースラインの外挿、グリフ ヒンティング、互換性モードなどのテキスト シンボルの書式設定プロパティ
  • ソフト ハイフン、最初の行をインデント、前にインデント、後にインデントなどのテキスト シンボルの段落プロパティ
  • テキストの方向、グリフ方向、地域言語、フォントのエンコードなどのテキスト シンボルの国際化プロパティ

ラベル式

ベクター タイルでは、Arcade、VBScript、JScript、および Python 言語でのシンプルな単一行のラベル式または高度なラベル式がサポートされています。 フィールド値に基づくフィーチャのサブセットのラベリングに使用される SQL クエリもサポートされています。 ラベル式は、"_name" というプロパティ名を使用して、ベクター タイルのプロパティ値として処理および保存されます。 複数のラベル クラスがラベリングされる場合、このプロパティ名には、ラベル クラスの順序に対応する数字が含まれます ("_name1""_name2" など)。

ラベルの書式タグは、ベクター タイルではサポートされず、ラベル テキストから削除されます。

ラベルの改行

Maplex ラベルは、ラベルに存在する文字数およびマップ上の余白に応じて動的に改行されるように構成できます。 または、指定した文字数に達したかどうかに応じて強制的に改行されるように Maplex ラベルを構成することもできます。 ベクター タイルでは、動的な改行はサポートされていませんが、強制的な改行はサポートされています。 ベクター タイルの作成プロセスでは、ラベリングされるフィーチャの name プロパティに書き込まれるテキストに強制的な改行が適用されます。

ラベルの短縮

Maplex ラベルは、ラベルのテキストおよびマップ上の余白に応じて動的に短縮されるように構成できます。 または、[変換] オプションを使用すれば、余白に関係なく、Maplex 略語辞書エントリが適用されます。 ベクター タイルでは、動的な短縮はサポートされていませんが、変換による短縮はサポートされています。 ベクター タイルの作成プロセスでは、ラベリングされるフィーチャの name プロパティに書き込まれるテキストに、変換による短縮が適用されます。

ラベルの配置

次のようなラベル配置オプションがあります。

ポイントの配置

ベクター タイルの作成では、ラベル配置プロパティに指定されたデフォルト位置に基づいて、"text-anchor" というラベル位置が設定されます。 Maplex ラベル エンジンまたは標準ラベル エンジンで固定の配置スタイルを使用する場合は、配置が (そのラベル位置に) 一致します。 "Best Position" スタイル配置を使用する場合は、最高のランクの位置がベクター タイル内の位置として指定されます。 ラベルは "text-offset" プロパティを使用して、フィーチャからオフセットされます。このプロパティでは、シンボル サイズおよびラベル配置に指定されたオフセットが考慮されます。 回転がテキストに適用される場合は、その回転値が "text-rotate" プロパティに設定されます。 回転フィールドまたは式を使用してテキストが回転される場合は、回転フィールドに加え、追加の回転が "text-rotate" プロパティに設定されます。 マップが回転されるとラベルを回転するようにマップのラベル設定が構成された場合、この設定は "map" に設定された "text-rotation-alignment" プロパティおよび false に設定された "text-keep-upright" プロパティを使用して、ポイント ラベルに適用されます。

テキストがポイントの真上に配置される (アンカー (anchor) 位置が下 (bottom) である) ポイント レイヤーのラベリング プロパティの例を次に示します。

"id": "U.S. Cities",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Cities",
"layout": {
  "icon-image": "U.S. Cities",
  "icon-allow-overlap": true,
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-anchor": "bottom",
  "text-offset": [0, 0.065],
  "text-field": "{_name}",
  "text-optional": true
  }

ラインの配置

ベクター タイルのライン ラベルの場合は、正則曲線に沿った配置と中央水平配置のみ使用できます。 他のすべてのライン配置スタイルは、正則曲線に沿った配置に変換されます。 ライン上のオフセット ラベル配置は、オフセットがラインの片側のみに制限されている場合、ベクター タイルに変換されます。 オフセット値は、テキストを正しい側に移動するために適用されます。 線分が直線の場合、曲線に沿ったラベルは通常、直線状のテキストとして配置されることに注意してください。 ベクター タイルの作成プロセスでは、曲線に沿った配置を整えるために 2 つ目のライン ジオメトリが作成されます。 中央水平配置では、2 つ目のポイント ジオメトリが作成されます。

ライン上のライン配置の例を次に示します。

"id": "U.S. National Transportation Atlas Interstate Highways/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. National Transportation Atlas Interstate Highways/label",
"layout": {
  "symbol-placement": "line",
  "symbol-spacing": 1000,
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
 }

ポリゴン配置

曲線に沿った配置、水平方向の配置、直線配置、および河川配置がサポートされています。 河川配置の場合は、結果として、曲線に沿った配置と同じ配置になります。 ベクター タイルの作成プロセスでは、要求された配置スタイルに一致するように、必要に応じて、ラベリングする 2 つ目のジオメトリが作成されます。 たとえば、[ポリゴン内で直線][ポリゴン内でカーブ] などのラベル配置オプションでは、各ポリゴン内でラベルを正しく配置および方向付けするためにポイント ジオメトリまたはライン ジオメトリが作成されます。 マップが回転されるとラベルを回転するようにマップのラベル設定が構成された場合、この設定は map に設定された "text-rotation-alignment" スタイル プロパティおよび false に設定された "text-keep-upright" プロパティを使用して、ポリゴン ラベルに適用されます。

ポリゴンの中心における基本的な配置の場合、次の例に示すように、位置プロパティは指定されません。

"id": "U.S. Counties (Generalized)/label/Class 1",
"type": "symbol",
"source": "esri",
"source-layer": "U.S. Counties (Generalized)/label",
"layout": {
  "text-font": ["Tahoma Regular"],
  "text-size": 13.3333,
  "text-field": "{_name}",
  "text-optional": true
}

競合解決

Maplex ラベル配置では、さまざまな競合解決設定が使用されますが、ベクター タイルについては 2 つの設定のみがサポートされています。

ライン ラベルの場合、[繰り返し] → [最小間隔]"symbol-spacing" プロパティに変換され、単位がピクセルに設定されます。 [未配置ラベル] → [ラベルを削除しない] (有効化されている場合、ラベルの重複が許可される) は "text-allow-overlap" プロパティに変換され、値が true に設定されます。

関連トピック