サマリー
ポリゴン インデックス レイヤーを基にして、ラベルをマップ ドキュメント内のレイヤーのアノテーションに変換します。
このツールでは、マップを複数のタイルに分割してから、各タイルのアノテーションを作成します。この方法は、多数のラベルをアノテーションに変換するときに便利です。ポリゴン インデックス レイヤーには、[マップ サービス キャッシュ タイル スキーマ → ポリゴン (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 フィールドを使用します。レイヤーとタイルの縮尺の組み合わせごとに新しいアノテーション フィーチャクラスが作成されます。
異なる基準縮尺でアノテーションを作成する場合は、縮尺ごとにマップを設計し、データ フレームには基準縮尺を設定しないでください。
ポリゴン インデックス レイヤーの座標系フィールドが指定されている場合は、描画および配置の目的で、各タイルのアノテーションがその座標系に投影されます。
フィーチャリンク アノテーションは、ジオデータベースの別のフィーチャクラスに含まれている特定のフィーチャに関連付けられます。オンになっている場合は、出力アノテーション フィーチャクラスを作成すると、リレーションシップ クラスも自動的に生成されます。
フィーチャリンク アノテーションを作成するときは、出力ワークスペースを、リンク先のフィーチャクラスと同じものにする必要があります。
表示スペースが不足しているために、一部のラベルがマップ上に表示されない場合があります。これらのラベルを変換するには、[未配置アノテーションの生成] チェックボックスをオンにします。これにより、アノテーション フィーチャクラスの未配置のラベルを保存して、後から ArcMap の編集セッションで一度に配置することができます。
構文
TiledLabelsToAnnotation_cartography (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 |
コードのサンプル
TiledLabelsToAnnotation (ラベル → タイル分割されたアノテーション) の例 (Python ウィンドウ)
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Annotation.mxd", "Layers",
"Tiles", "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
from arcpy import env
# Set environment settings
env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inTilingScheme = "C:/Program Files/ArcGIS/Desktop10.2/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)
環境
ライセンス情報
- ArcGIS Desktop Basic: はい
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい