概要
ポリゴン インデックス レイヤーを基にして、ラベルをマップ内のレイヤーのアノテーションに変換します。
このツールでは、マップを複数のタイルに分割してから、各タイルのアノテーションを作成します。この方法は、多数のラベルをアノテーションに変換するときに便利です。ポリゴン インデックス レイヤーは、[マップ サービス キャッシュ タイル スキーマ → ポリゴン (Map Server Cache Tiling Scheme To Polygons)] ツールまたは [インデックス フィーチャ (格子状) の作成 (Grid Index Features)] ツール、あるいはアノテーションを作成する領域が含まれる任意のポリゴン フィーチャクラスで生成されます。
使用法
ラベルを、単一レイヤーまたはマップ全体のアノテーションに変換できます。単一レイヤーのオプションを選択した場合、マップ内にあるレイヤーを指定する必要があります。
ラベル クラスの縮尺範囲が考慮されます。このツールで特定の基準縮尺のアノテーションを作成すると、その縮尺で表示がオンになっているラベル クラスのみが変換されます。
メモ:
ラベル クラスの縮尺範囲は、ArcGIS Pro のレイヤーのプロパティで設定します。ラベルのプロパティを設定した後は、プロジェクトを保存してからこのツールを実行してください。
このツールを実行する前にタイルを選択すると、選択したタイルのみに対してアノテーションが作成されます。
ポリゴン インデックス レイヤー内の一部のタイルのみに対してアノテーションを更新するには、初めに、該当する TileID の値を持つアノテーション フィーチャを選択して削除します。次にポリゴン フィーチャを選択してツールを実行します。
このツールの出力の 1 つは、一連のグループ レイヤーになります。1 つのグループ レイヤーには、アノテーションの作成対象となった各基準縮尺のグループ レイヤーが含まれます。
-
[カタログ] ウィンドウまたは ModelBuilder での作業中は、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。
同じレイヤー名が指定されるか、出力の上書きが明示的に許可された場合は、既存のグループ レイヤーが上書きされます。
マップ内でフィーチャクラス名の重複が見つかった場合は、フィーチャクラス名に続くアノテーションに数字が追加されます (たとえば、Cities01Anno10000、Cities02Anno10000)。
アノテーション フィーチャクラスは、すでに存在する接尾辞を指定しても上書きされません。その場合、アノテーション フィーチャクラスの接尾辞に数字が追加されます (たとえば、CitiesAnno10000、CitiesAnno10000_1 など)。
アノテーション フィーチャクラスの基準縮尺は、次の 2 つの方法で指定できます。
- 1 つ目の方法では、ポリゴン インデックス レイヤーのフィールドを使用して、出力アノテーション フィーチャクラスの基準縮尺を決定します。この方法は、さまざまな縮尺レベルに対してアノテーションを作成する場合に使用します。
- 2 つ目の方法では、基準縮尺の値を明示的に指定します。すべてのアノテーション フィーチャクラスでこの基準縮尺が使用されます。基準縮尺がマップで設定されている場合は、その縮尺がツールに入力されるデフォルト値になります。基準縮尺がマップで設定されていない場合は、現在の縮尺がデフォルト値になります。
[マップ サービス キャッシュ タイル スキーマ → ポリゴン (Map Server Cache Tiling Scheme To Polygons)] ツールで作成したポリゴン インデックス レイヤーを使用している場合は、[基準縮尺フィールド] パラメーターの Tile_Scale フィールドを使用します。レイヤーとタイルの縮尺の組み合わせごとに新しいアノテーション フィーチャクラスが作成されます。
異なる基準縮尺でアノテーションを作成する場合は、縮尺ごとにマップを設計し、基準縮尺を設定しないでください。
ポリゴン インデックス レイヤーの座標系フィールドが指定されている場合は、描画および配置の目的で、各タイルのアノテーションがその座標系に投影されます。
[フィーチャリンク アノテーションの作成] パラメーターがオフである場合、[ラベルをすべてのレイヤーから単一の出力フィーチャクラスに変換] パラメーターを使用して、マップ全体の単一のアノテーション フィーチャクラスを作成できます。
マップの単一のアノテーション フィーチャクラスを作成する場合、[類似するラベル クラスのマージ] パラメーターを使用して、類似するプロパティを持つラベル クラスを 1 つのアノテーション クラスにマージできます。
フィーチャリンク アノテーションは、ジオデータベースの別のフィーチャクラスに含まれている特定のフィーチャに関連付けられます。オンになっている場合は、出力アノテーション フィーチャクラスを作成すると、リレーションシップ クラスも自動的に生成されます。
フィーチャリンク アノテーションを作成するときは、出力ワークスペースを、リンク先のフィーチャクラスと同じものにする必要があります。
表示スペースが不足しているために、一部のラベルがマップ上に表示されない場合があります。これらのラベルを変換するには、[未配置アノテーションの生成] チェックボックスをオンにします。これにより、アノテーション フィーチャクラスの未配置のラベルを保存して、後から編集セッションで一度に配置することができます。
メモリ ワークスペースと in_memory ワークスペースは、フィーチャリンク アノテーションをサポートしていません。
構文
TiledLabelsToAnnotation(input_map, polygon_index_layer, out_geodatabase, out_layer, anno_suffix, {reference_scale_value}, {reference_scale_field}, {tile_id_field}, {coordinate_sys_field}, {map_rotation_field}, {feature_linked}, {generate_unplaced_annotation}, {which_layers}, {single_layer}, {require_symbol_id}, {auto_create}, {update_on_shape_change}, {multiple_feature_classes}, {merge_label_classes})
パラメーター | 説明 | データ タイプ |
input_map | アノテーションに変換するラベルが含まれるマップ。 | Map |
polygon_index_layer | タイル フィーチャが含まれるポリゴン レイヤー。 | Table View |
out_geodatabase | 出力フィーチャクラスが保存されるワークスペース。ワークスペースには、既存のジオデータベースまたは既存のフィーチャ データセットを指定できます。 | Workspace; Feature Dataset |
out_layer | 作成されるアノテーションを格納するグループ レイヤー。[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。 | Group Layer |
anno_suffix | 新しいアノテーション フィーチャクラスのそれぞれに追加される接尾辞。この接尾辞は、新しいアノテーション フィーチャクラスのそれぞれのソース フィーチャクラスの名前に追加されます。この接尾辞の後に、アノテーションの基準縮尺が続きます。 | String |
reference_scale_value (オプション) | アノテーションの基準として使用される縮尺値。これは、アノテーション内のすべてのシンボル サイズとテキスト サイズの基準になる縮尺です。 | Double |
reference_scale_field (オプション) | アノテーションの基準縮尺を決定するポリゴン インデックス レイヤーのフィールド。これは、アノテーション内のすべてのシンボル サイズとテキスト サイズの基準になる縮尺です。 | Field |
tile_id_field (オプション) | タイル分割された領域を一意に識別するポリゴン インデックス レイヤー内のフィールド。この値は、アノテーション フィーチャクラスの属性テーブルの「TileID」フィールドに入力されます。 | Field |
coordinate_sys_field (オプション) | 各タイルの座標系情報が格納されるポリゴン インデックス レイヤーのフィールド。座標系情報を保存するフィールドには特定の長さが必要になるため、座標系フィールドが格納されるポリゴン インデックス レイヤーはジオデータベースのフィーチャクラスにする必要があります。 | Field |
map_rotation_field (オプション) | データフレームの回転に使用する角度が格納されるポリゴン インデックス レイヤーのフィールド。 | Field |
feature_linked (オプション) | ライセンス:このパラメーターは ArcGIS Desktop Standard および ArcGIS Desktop Advanced ライセンスでのみ利用可能です。 出力アノテーション フィーチャクラスが別のフィーチャクラスのフィーチャにリンクされるかどうかを指定します。
| Boolean |
generate_unplaced_annotation (オプション) | 未配置アノテーションが未配置ラベルから作成されるかどうかを指定します。
| Boolean |
which_layers (オプション) | アノテーションがマップ内のすべてのレイヤーに対して作成されるのか、それとも単一レイヤーに対して作成されるのかを指定します。単一レイヤーを指定する必要があります。
| String |
single_layer (オプション) | which_layers パラメーターが SINGLE_LAYER に設定された場合に変換されるレイヤー。このレイヤーがマップ内にある必要があります。 | Feature Layer |
require_symbol_id (オプション) | すべてのテキスト シンボル プロパティを編集できるかどうかを指定します。
| Boolean |
auto_create (オプション) | feature_linked パラメーターを FEATURE_LINKED に設定した場合、新しいフィーチャがリンクされたフィーチャクラスに追加されたときにアノテーションを作成するかどうかを指定します。
| Boolean |
update_on_shape_change (オプション) | feature_linked パラメーターを FEATURE_LINKED に設定した場合、リンクされたフィーチャの形状が更新されたときにアノテーションの位置を更新するかどうかを指定します。
| Boolean |
multiple_feature_classes (オプション) | ラベルを個別のアノテーション フィーチャクラスまたは単一のアノテーション フィーチャクラスのいずれに変換するかを指定します。単一のアノテーション フィーチャクラスに変換する場合、アノテーションをフィーチャ リンクにすることはできません。
| Boolean |
merge_label_classes (オプション) | multiple_feature_classes パラメーターを SINGLE_FEATURE_CLASS に設定した場合に、類似するラベル クラスをマージするかどうかを指定します。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
out_workspace | 出力フィーチャクラスが保存されるワークスペース。 | ワークスペースまたはフィーチャ データセット |
コードのサンプル
ポリゴン インデックス レイヤーを基にして、ラベルをマップ内の単一レイヤーのアノテーションに変換する TiledLabelsToAnnotation の Python サンプルです。
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Map1", "Tiles", "data.gdb",
"GroupAnno", "Anno", "", "Tile_Scale",
"OID", "", "", "FEATURE_LINKED",
"GENERATE_UNPLACED_ANNOTATION",
"SINGLE_LAYER", "Towns",
"REQUIRE_ID", "AUTO_CREATE",
"SHAPE_UPDATE", "", "")
次のスクリプトは、MapServerCacheTilingSchemeToPolygons 関数と TiledLabelsToAnnotation 関数を使用するワークフローを示しています。
# Name: TiledLabelsToAnnotation_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS Desktop Advanced license
# Import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
# Set local variables
aprx = arcpy.mp.ArcGISProject(r"C:/data/Annotation.aprx")
inMap = aprx.listMaps("Map")[0]
inTilingScheme = os.path.join(
arcpy.GetInstallInfo()['InstallDir'],
'Resources\\TilingSchemes\\ArcGIS_Online_Bing_Maps_Google_Maps.xml')
outFeatureClass = "C:/data/data.gdb/Tiles"
inTileExtent = "USE_MAP_EXTENT"
inClipping = "CLIP_TO_HORIZON"
inAntialiasing = "NONE"
inScales = ""
# Execute MapServerCacheTilingSchemeToPolygons
arcpy.MapServerCacheTilingSchemeToPolygons_cartography(
inMap, inTilingScheme, outFeatureClass, inTileExtent, inClipping,
inAntialiasing, inScales)
# Set local variables
inPolygonIndexLayer = "Tiles"
inOutGeodatabase = "C:/data/data.gdb"
outOutLayer = "GroupAnno"
inAnnoSuffix = "Anno"
inRefScaleValue = ""
inRefScaleField = "Tile_Scale"
inTileIDField = "OID"
inCoordSysField = ""
inMapRotationField = ""
inFeatureLinked = "STANDARD"
inGenerateUnplaced = "GENERATE_UNPLACED_ANNOTATION"
inWhichLayers = "ALL_LAYERS"
inSingleLayer = ""
inRequireSymbolID = ""
inAutoCreate = ""
inUpdateOnShapeChange = ""
inMultipleFeatureClasses = "SINGLE_FEATURE_CLASS"
inMergeFeatureClasses = "MERGE_LABEL_CLASS"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
inMap, inPolygonIndexLayer, inOutGeodatabase, outOutLayer, inAnnoSuffix,
inRefScaleValue, inRefScaleField, inTileIDField, inCoordSysField,
inMapRotationField, inFeatureLinked, inGenerateUnplaced, inWhichLayers,
inSingleLayer, inRequireSymbolID, inAutoCreate, inUpdateOnShapeChange,
inMultipleFeatureClasses, inMergeFeatureClasses)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい