概要
ラベルを単一レイヤーまたはマップ全体のアノテーションに変換します。標準アノテーションおよびフィーチャリンク アノテーションの両方を作成できます。
使用法
ラベルを、単一レイヤーまたはマップ全体のアノテーションに変換できます。単一レイヤーのオプションを選択した場合、マップ内にあるレイヤーを指定する必要があります。
ラベル クラスの縮尺範囲が考慮されます。このツールで特定の縮尺のアノテーションを作成すると、その縮尺で表示がオンになっているラベル クラスのみが変換されます。
メモ:
ラベル クラスの縮尺範囲は、ArcGIS Pro の [ラベリング] タブで設定します。
アノテーション フィーチャクラスは、すでに存在する接尾辞を指定しても上書きされません。その場合、アノテーション フィーチャクラスの接尾辞に数字が追加されます (CitiesAnno、CitiesAnno_1 など)。名前の完全な形式は次のとおりです。
<layer name> <duplicate feature class count> <anno suffix> <running number>
異なる基準縮尺でアノテーションを作成する場合は、縮尺ごとにマップを設計し、マップには基準縮尺を設定しないでください。縮尺ごとにラベルをアノテーションに変換し、適切な名前 (CitiesAnno_1000、CitiesAnno_100000 など) を付けることができます。
このツールの 1 つの出力はグループ レイヤーです。[カタログ] ウィンドウ、[Python] ウィンドウ、またはスタンドアロン Python スクリプトで作業している場合、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。ArcGIS Pro を使用している場合、このツールはグループ レイヤーを表示に追加します。作成されるグループ レイヤーは一時的なもので、プロジェクトを保存しない限り、セッションの終了後は維持されません。
同じレイヤー名が指定され、出力の上書きが明示的に許可されている場合、既存のグループ レイヤーが上書きされます。
[フィーチャリンク アノテーションの作成] オプションがオフである場合、[ラベルをすべてのレイヤーから単一の出力フィーチャクラスに変換] オプションを使用して、マップ全体の単一のアノテーション フィーチャクラスを作成できます。
マップの単一のアノテーション フィーチャクラスを作成する場合、[類似するラベル クラスのマージ] オプションを使用して、類似するプロパティを持つラベル クラスを 1 つのアノテーション クラスにマージできます。
フィーチャ リンク アノテーションは、ジオデータベースの別のフィーチャクラスに含まれている特定のフィーチャに関連付けられます。[フィーチャリンク アノテーションの作成] オプションがオンになっている場合は、出力アノテーション フィーチャクラスを作成すると、リレーションシップ クラスも自動的に生成されます。
フィーチャリンク アノテーションを作成するときは、出力ワークスペースを、リンク先のフィーチャクラスと同じものにする必要があります。
表示スペースが不足しているために、一部のラベルがマップ上に表示されない場合があります。これらのラベルを変換するには、[未配置ラベルをアノテーションに変換] チェックボックスをオンにします。これにより、アノテーション フィーチャクラスの未配置のラベルを保存して、後から ArcGIS Pro の編集セッションで一度に配置することができます。
メモリ ワークスペースと in_memory ワークスペースは、フィーチャリンク アノテーションをサポートしていません。
構文
arcpy.cartography.ConvertLabelsToAnnotation(input_map, conversion_scale, output_geodatabase, {anno_suffix}, {extent}, {generate_unplaced}, {require_symbol_id}, {feature_linked}, {auto_create}, {update_on_shape_change}, {output_group_layer}, {which_layers}, {single_layer}, {multiple_feature_classes}, {merge_label_classes})
パラメーター | 説明 | データ タイプ |
input_map | 入力マップ。 | Map |
conversion_scale | ラベル変換時の縮尺。マップで基準縮尺が設定されている場合、その基準縮尺がシンボル サイズ設定およびアノテーション フィーチャクラス作成に使用されますが、この縮尺で変換が発生します。 | Double |
output_geodatabase | 出力フィーチャクラスが保存されるワークスペース。ワークスペースには、既存のジオデータベースまたは既存のフィーチャ データセットを指定できます。このワークスペースが、マップ内のすべてのレイヤーによって使用されているのと同じデータベースではない場合、フィーチャリンク オプションが無効になります。 | Workspace; Feature Dataset |
anno_suffix (オプション) | 新しいアノテーション フィーチャクラスのそれぞれに追加される接尾辞。この接尾辞は、新しいアノテーション フィーチャクラスのそれぞれのソース フィーチャクラスの名前に追加されます。 | String |
extent (オプション) | アノテーションに変換するラベルが含まれる範囲を指定します。
| Extent |
generate_unplaced (オプション) | 未配置アノテーションが未配置ラベルから作成されるかどうかを指定します。
| Boolean |
require_symbol_id (オプション) | 編集できるテキスト シンボル プロパティを制限するかどうかを指定します。
| Boolean |
feature_linked (オプション) | ライセンス:このパラメーターは ArcGIS Desktop Standard および ArcGIS Desktop Advanced ライセンスでのみ利用可能です。 出力アノテーション フィーチャクラスが別のフィーチャクラスのフィーチャにリンクされるかどうかを指定します。
| Boolean |
auto_create (オプション) | feature_linked パラメーターを FEATURE_LINKED に設定した場合、新しいフィーチャがリンクされたフィーチャクラスに追加されたときにアノテーションを作成するかどうかを指定します。
| Boolean |
update_on_shape_change (オプション) | feature_linked パラメーターを FEATURE_LINKED に設定した場合、リンクされたフィーチャの形状が更新されたときにアノテーションの位置を更新するかどうかを指定します。
| Boolean |
output_group_layer (オプション) | 作成されるアノテーションを格納するグループ レイヤー。[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。 | Group Layer |
which_layers (オプション) | マップ内のすべてのレイヤーのアノテーションを変換するのか、それとも単一レイヤーのアノテーションを変換するのかを指定します。単一レイヤーを指定する必要があります。
| String |
single_layer (オプション) | which_layers パラメーターが SINGLE_LAYER に設定された場合に変換するアノテーションを含むレイヤー。このレイヤーがマップ内にある必要があります。 | Feature Layer |
multiple_feature_classes (オプション) | ラベルを個別のアノテーション フィーチャクラスまたは単一のアノテーション フィーチャクラスのいずれに変換するかを指定します。単一のアノテーション フィーチャクラスに変換する場合、アノテーションをフィーチャ リンクにすることはできません。
| Boolean |
merge_label_classes (オプション) | multiple_feature_classes パラメーターを SINGLE_FEATURE_CLASS に設定した場合に、類似するラベル クラスをマージするかどうかを指定します。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
updated_geodatabase | 出力フィーチャクラスが保存されるワークスペース。 | ワークスペース |
コードのサンプル
ラベルをマップ内の単一レイヤーのアノテーションに変換する ConvertLabelsToAnnotation の Python サンプルです。
import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED',
'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
ConvertLabelsToAnnotation 関数を使用してラベルをマップのアノテーションに変換するスタンドアロン スクリプトです。アノテーションが単一のアノテーション フィーチャクラスに変換され、類似するラベル クラスがマージされます。
# Name: ConvertLabelsToAnnotation.py
# Description: Find all the maps in the project and
# convert labels to annotation for each map
# import system modules
import arcpy
# Loop through the project, find all the maps, and
# convert labels to annotation for each map,
# using the name of the map as part of the annotation suffix
project = arcpy.mp.ArcGISProject("D:\\data\\myproject.aprx")
for mp in project.listMaps():
print("Converting labels to annotation for: " + mp.name)
arcpy.cartography.ConvertLabelsToAnnotation(
mp, 10000, 'D:/data/Cobourg.gdb', 'Anno_' + mp.name, 'MAXOF',
'ONLY_PLACED', 'REQUIRE_ID', 'STANDARD', '', '',
'AnnoLayers_' + mp.name, 'ALL_LAYERS', '', 'SINGLE_FEATURE_CLASS',
'MERGE_LABEL_CLASS')
ライセンス情報
- Basic: はい
- Standard: はい
- Advanced: はい