概要
ポリゴン インデックス レイヤーを基にして、ラベルをマップ内のレイヤーのアノテーションに変換します。
このツールでは、マップを複数のタイルに分割してから、各タイルのアノテーションを作成します。 この方法は、多数のラベルをアノテーションに変換するときに便利です。 ポリゴン インデックス レイヤーは、[マップ サービス キャッシュ タイル スキーマ → ポリゴン (Map Server Cache Tiling Scheme To Polygons)] ツールまたは [インデックス フィーチャ (格子状) の作成 (Grid Index Features)] ツール、あるいはアノテーションを作成する領域が含まれる任意のポリゴン フィーチャクラスを使用して生成されます。
使用法
ラベル クラスの縮尺範囲が考慮されます。 このツールで特定の基準縮尺のアノテーションを作成すると、その縮尺で表示がオンになっているラベル クラスのみが変換されます。
このツールを実行する前にタイルを選択すると、選択したタイルのみに対してアノテーションが作成されます。
ポリゴン インデックス レイヤー内の一部のタイルのみに対してアノテーションを更新するには、初めに、該当する TileID の値を持つアノテーション フィーチャを選択して削除します。 次にポリゴン フィーチャを選択してツールを実行します。
このツールの出力の 1 つは、一連のグループ レイヤーになります。 1 つのグループ レイヤーには、アノテーションの作成対象となった各基準縮尺のグループ レイヤーが含まれます。
ArcCatalog または ModelBuilder での作業中は、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。 ArcMap を使用している場合は、ジオプロセシング オプションでこのオプションをオンにしておくと、ツールによってグループ レイヤーが表示に追加されます。 作成されるグループ レイヤーは一時的なもので、ドキュメントを保存しない限り、セッションの終了後は維持されません。
ArcCatalog で作成されたグループ レイヤーは、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用してレイヤー ファイルに保存しておかない限り、ArcMap で使用できません。
同じレイヤー名が指定されるか、出力の上書きが明示的に許可された場合は、既存のグループ レイヤーが上書きされます。
データ フレーム内でフィーチャクラス名の重複が見つかった場合は、フィーチャクラス名に続くアノテーションに数字が追加されます (たとえば、Cities01Anno10000、Cities02Anno10000)。
アノテーション フィーチャクラスは、既存の接尾辞を指定しても上書きされません。 その場合、アノテーション フィーチャクラスの接尾辞に数字が追加されます (たとえば、CitiesAnno10000、CitiesAnno10000_1 など)。
アノテーション フィーチャクラスの基準縮尺は、次の 2 つの方法で指定できます。
- 1 つ目の方法では、ポリゴン インデックス レイヤーのフィールドを使用して、出力アノテーション フィーチャクラスの基準縮尺を決定します。 この方法は、さまざまな縮尺レベルに対してアノテーションを作成する場合に使用します。
- 2 つ目の方法では、基準縮尺の値を明示的に指定します。 すべてのアノテーション フィーチャクラスでこの基準縮尺が使用されます。 基準縮尺がマップ ドキュメントで設定されている場合は、その縮尺がツールに入力されるデフォルト値になります。 ArcMap を使用していて、基準縮尺が設定されていない場合は、現在の縮尺がデフォルト値になります。
[マップ サービス キャッシュ タイル スキーマ → ポリゴン (Map Server Cache Tiling Scheme To Polygons)] ツールで作成したポリゴン インデックス レイヤーを使用している場合は、[基準縮尺フィールド] パラメーターの Tile_Scale フィールドを使用します。 レイヤーとタイルの縮尺の組み合わせごとにアノテーション フィーチャクラスが作成されます。
異なる基準縮尺でアノテーションを作成する場合は、縮尺ごとにマップを設計し、基準縮尺を設定しないでください。
ポリゴン インデックス レイヤーの座標系フィールドが指定されている場合は、描画および配置の目的で、各タイルのアノテーションがその座標系に投影されます。
フィーチャリンク アノテーションは、ジオデータベースの別のフィーチャクラスに含まれている特定のフィーチャに関連付けられます。 フィーチャ リンク アノテーション フィーチャクラスを作成すると、リレーションシップ クラスも自動的に生成されます。
フィーチャリンク アノテーションを作成するときは、出力ワークスペースを、リンク先のフィーチャクラスと同じものにする必要があります。
表示スペースが不足しているために、一部のラベルがマップ上に表示されない場合があります。 これらのラベルを変換するには、[未配置アノテーションの生成] チェックボックスをオンにします。 これにより、アノテーション フィーチャクラスの未配置のラベルを保存して、後から編集セッションで一度に配置することができます。
構文
arcpy.cartography.TiledLabelsToAnnotation(map_document, data_frame, 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})
パラメーター | 説明 | データ タイプ |
map_document | アノテーションに変換するラベルが含まれるソース マップ ドキュメント。 | ArcMap Document |
data_frame | アノテーションに変換するラベルが含まれるマップ ドキュメントのデータ フレーム。 | String |
polygon_index_layer | タイル フィーチャが含まれるポリゴン レイヤー。 | Table View |
out_geodatabase | 出力フィーチャクラスが保存されるワークスペース。 ワークスペースには、既存のジオデータベースまたは既存のフィーチャ データセットを指定できます。 | Workspace; Feature Dataset |
out_layer | 作成されるアノテーションを格納するグループ レイヤー。 ArcCatalog での作業中は、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。 ArcMap を使用している場合は、ジオプロセシング オプションでこのオプションをオンにしておくと、ツールによってグループ レイヤーが表示に追加されます。 作成されるグループ レイヤーは一時的なもので、ドキュメントを保存しない限り、セッションの終了後は維持されません。 | 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 (オプション) | 出力アノテーション フィーチャクラスが別のフィーチャクラスのフィーチャにリンクされるかどうかを指定します。
| Boolean |
generate_unplaced_annotation (オプション) | 未配置アノテーションが未配置ラベルから作成されるかどうかを指定します。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
out_workspace | 出力フィーチャクラスが保存されるワークスペース。 | Workspace; Feature Dataset |
コードのサンプル
TiledLabelsToAnnotation (ラベル → タイル分割されたアノテーション) の例 (Python ウィンドウ)
ポリゴン インデックス レイヤーを基にして、ラベルをマップ ドキュメント内のレイヤーのアノテーションに変換する TiledLabelsToAnnotation 関数の Python サンプルです。
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Annotation.mxd", "Layers",
"data.gdb", "GroupAnno", "Anno", "",
"Tile_Scale", "OID", "", "",
"FEATURE_LINKED",
"GENERATE_UNPLACED_ANNOTATION")
TiledLabelsToAnnotation (ラベル → タイル分割されたアノテーション) の例 2 (ワークフロー スクリプト)
次のスクリプトは、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
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inTilingScheme = os.path.join(
arcpy.GetInstallInfo()['InstallDir'],
"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(
inMapDocument, inDataFrame, inTilingScheme, outFeatureClass, inTileExtent,
inClipping, inAntialiasing, inScales)
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
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"
# Execute TiledLabelsToAnnotation
arcpy.TiledLabelsToAnnotation_cartography(
inMapDocument, inDataFrame, inPolygonIndexLayer, inOutGeodatabase,
outOutLayer, inAnnoSuffix, inRefScaleValue, inRefScaleField, inTileIDField,
inCoordSysField, inMapRotationField,inFeatureLinked, inGenerateUnplaced)
環境
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい