ラベル → タイル分割されたアノテーション(Tiled Labels To Annotation) (カートグラフィ)
サマリ
ポリゴン インデックス レイヤを基にして、ラベルをマップ ドキュメント内のレイヤのアノテーションに変換します。
このツールでは、マップを複数のタイルに分割してから、各タイルのアノテーションを作成します。この方法は、多数のラベルをアノテーションに変換するときに便利です。ポリゴン インデックス レイヤには、[マップ サービス キャッシュ タイル スキーマ → ポリゴン(Map Server Cache Tiling Scheme To Polygons)] ツールまたは [インデックス フィーチャ(格子状)の作成 (Grid Index Features)] ツールで作成したもの、あるいはアノテーションを作成する領域が含まれる任意のポリゴン フィーチャクラスを使用できます。
使用法
-
ラベル クラスの縮尺範囲が考慮されます。このツールで特定の基準縮尺のアノテーションを作成すると、その縮尺で表示がオンになっているラベル クラスのみが変換されます。
注意:ラベル クラスの縮尺範囲は、ArcMap のレイヤのプロパティで設定します。ラベルのプロパティを設定した後は、マップ ドキュメントを保存してからこのツールを実行してください。
-
このツールを実行する前にタイルを選択すると、選択したタイルのみに対してアノテーションが作成されます。
-
ポリゴン インデックス レイヤ内の一部のタイルのみに対してアノテーションを更新するには、初めに、該当する 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 の編集セッションで一度に配置することができます。
構文
パラメータ | 説明 | データ タイプ |
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 (オプション) |
ライセンス: このパラメータは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced のライセンスのみで利用できます。 出力アノテーション フィーチャクラスが別のフィーチャクラスのフィーチャにリンクされるかどうかを選択します。
| Boolean |
generate_unplaced_annotation (オプション) |
未配置ラベルから未配置アノテーションを作成するかどうかを選択します。
| Boolean |
コードのサンプル
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")
次のスクリプトは、MapServerCacheTilingSchemeToPolygons(マップ サービス キャッシュ タイル スキーマ → ポリゴン)関数と TiledLabelsToAnnotation(ラベル → タイル分割されたアノテーション)関数を使用するワークフローを示しています。
# Name: TiledLabelsToAnnotation_Example2.py
# Description: Create a tile feature class and use those tiles to create annotation.
# Requirements: ArcGIS for 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.1/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)