ラベルをアノテーションに変換 (Convert Labels To Annotation) (カートグラフィ)

概要

ラベルを単一レイヤーまたはマップ全体のアノテーションに変換します。標準アノテーションおよびフィーチャリンク アノテーションの両方を作成できます。

使用法

  • ラベルを、単一レイヤーまたはマップ全体のアノテーションに変換できます。単一レイヤーのオプションを選択した場合、マップ内にあるレイヤーを指定する必要があります。

  • ラベル クラスの縮尺範囲が考慮されます。このツールで特定の縮尺のアノテーションを作成すると、その縮尺で表示がオンになっているラベル クラスのみが変換されます。

    メモ:

    ラベル クラスの縮尺範囲は、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
(オプション)

アノテーションに変換するラベルが含まれる範囲を指定します。

  • MAXOF - すべての入力の最大範囲が使用されます。
  • MINOF - すべての入力に共通する最小領域が使用されます。
  • DISPLAY - 範囲は、表示範囲と同じになります。
  • [レイヤー名] - 指定したレイヤーの範囲が使用されます。
  • Extent オブジェクト - 指定したオブジェクトの範囲が使用されます。
  • [座標のスペース区切りの文字列] - 指定した文字列の範囲が使用されます。座標は、x-min、y-min、x-max、y-max の順序で表されます。
Extent
generate_unplaced
(オプション)

未配置アノテーションが未配置ラベルから作成されるかどうかを指定します。

  • ONLY_PLACEDアノテーションは、現在ラベルが配置されているフィーチャに対してのみ作成されます。これがデフォルトです。
  • GENERATE_UNPLACED未配置アノテーションがアノテーション フィーチャクラスに格納されます。これらのアノテーションのステータス フィールドは [未配置] に設定されます。
Boolean
require_symbol_id
(オプション)

編集できるテキスト シンボル プロパティを制限するかどうかを指定します。

  • NO_REQUIRE_IDテキスト シンボル プロパティを編集可能にします。これがデフォルトです。
  • REQUIRE_ID編集可能なシンボル プロパティは、アノテーション フィーチャが関連先のテキスト シンボルへの参照を維持できるものに限定されます。
Boolean
feature_linked
(オプション)
ライセンス:

このパラメーターは ArcGIS Desktop Standard および ArcGIS Desktop Advanced ライセンスでのみ利用可能です。

出力アノテーション フィーチャクラスが別のフィーチャクラスのフィーチャにリンクされるかどうかを指定します。

  • STANDARD出力アノテーション フィーチャクラスは別のフィーチャクラスのフィーチャにリンクされません。これがデフォルトです。
  • FEATURE_LINKED出力アノテーション フィーチャクラスは別のフィーチャクラスのフィーチャにリンクされます。
Boolean
auto_create
(オプション)

feature_linked パラメーターを FEATURE_LINKED に設定した場合、新しいフィーチャがリンクされたフィーチャクラスに追加されたときにアノテーションを作成するかどうかを指定します。

  • AUTO_CREATE新しいフィーチャがリンクされたフィーチャクラスに追加されたときに、フィーチャリンク アノテーションが作成されます。これがデフォルトです。
  • NO_AUTO_CREATE新しいフィーチャがリンクされたフィーチャクラスに追加されたときに、フィーチャリンク アノテーションが作成されません。
Boolean
update_on_shape_change
(オプション)

feature_linked パラメーターを FEATURE_LINKED に設定した場合、リンクされたフィーチャの形状が更新されたときにアノテーションの位置を更新するかどうかを指定します。

  • SHAPE_UPDATEリンクされたフィーチャの形状が変更されたときにアノテーションの位置を更新します。これがデフォルトです。
  • NO_SHAPE_UPDATEリンクされたフィーチャの形状が変更されたときにアノテーションの位置を更新しません。
Boolean
output_group_layer
(オプション)

作成されるアノテーションを格納するグループ レイヤー。[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して出力グループ レイヤーをレイヤー ファイルに書き込むことができます。

Group Layer
which_layers
(オプション)

マップ内のすべてのレイヤーのアノテーションを変換するのか、それとも単一レイヤーのアノテーションを変換するのかを指定します。単一レイヤーを指定する必要があります。

  • ALL_LAYERSラベルが、マップ内のすべてのレイヤーのアノテーションに変換されます。 これがデフォルトです。
  • SINGLE_LAYERラベルが、単一レイヤーのアノテーションに変換されます。レイヤーを指定する必要があります。
String
single_layer
(オプション)

which_layers パラメーターが SINGLE_LAYER に設定された場合に変換するアノテーションを含むレイヤー。このレイヤーがマップ内にある必要があります。

Feature Layer
multiple_feature_classes
(オプション)

ラベルを個別のアノテーション フィーチャクラスまたは単一のアノテーション フィーチャクラスのいずれに変換するかを指定します。単一のアノテーション フィーチャクラスに変換する場合、アノテーションをフィーチャ リンクにすることはできません。

  • SINGLE_FEATURE_CLASSすべてのレイヤーのラベルが、単一のアノテーション フィーチャクラスに変換されます。
  • FEATURE_CLASS_PER_FEATURE_LAYERラベルが、それらのレイヤーに対応する個別のアノテーション フィーチャクラスに変換されます。これがデフォルトです。
Boolean
merge_label_classes
(オプション)

multiple_feature_classes パラメーターを SINGLE_FEATURE_CLASS に設定した場合に、類似するラベル クラスをマージするかどうかを指定します。

  • MERGE_LABEL_CLASSmultiple_feature_classes パラメーターを SINGLE_FEATURE_CLASS に設定した場合に、類似するプロパティを持つラベル クラスがマージされます。
  • NO_MERGE_LABEL_CLASSmultiple_feature_classes パラメーターを SINGLE_FEATURE_CLASS に設定した場合に、ラベル クラスがマージされません。これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
updated_geodatabase

出力フィーチャクラスが保存されるワークスペース。

ワークスペース

コードのサンプル

ConvertLabelsToAnnotation (ラベルをアノテーションに変換) の例 (Python ウィンドウ)

ラベルをマップ内の単一レイヤーのアノテーションに変換する 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 (ラベルをアノテーションに変換) の例 2 (スタンドアロン スクリプト)

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: はい

関連トピック