Zusammenfassung
Konvertiert Beschriftungen in Annotationen für einen einzelnen Layer oder die gesamte Karte. Es können sowohl Standard- als auch Feature-bezogene Annotationen erstellt werden.
Verwendung
Beschriftungen können für einen einzelnen Layer oder die gesamte Karte in eine Annotation konvertiert werden. Findet die Konvertierung für einen einzelnen Layer statt, muss er angegeben werden und sich in der Karte befinden.
Die Maßstabsbereiche der Beschriftungsklassen werden berücksichtigt. Wenn das Werkzeug Annotationen für einen bestimmten Kartenmaßstab generiert, konvertiert es nur die Beschriftungsklassen, die aktiviert und bei diesem Maßstab sichtbar sind.
Hinweis:
Die Maßstabsbereiche der Beschriftungsklasse werden auf der Registerkarte Beschriftung in ArcGIS Pro festgelegt.
Annotation-Feature-Classes werden nicht überschrieben, wenn ein bereits vorhandener Suffix angegeben wird. In diesem Fall wird dem Suffix für die Annotation-Feature-Class eine Zahl hinzugefügt (z. B. "CitiesAnno", "CitiesAnno_1" usw.). Das vollständige Format für die Benennung lautet wie folgt:
<layer name> <duplicate feature class count> <anno suffix> <running number>
Wenn Sie Annotationen für eine Vielzahl von Bezugsmaßstäben erzeugen, konzipieren Sie die Karte für alle diese Maßstäbe, und vermeiden Sie es, in der Karte einen Bezugsmaßstab festzulegen. Sie können anschließend die Beschriftungen für jeden Maßstab in Annotationen konvertieren und entsprechend benennen, z. B. "CitiesAnno_1000", "CitiesAnno_100000".
Eine Ausgabe dieses Werkzeugs ist ein Gruppen-Layer. Wenn Sie im Katalog-Bereich, im Python-Fenster oder in einem eigenständigen Python-Skript arbeiten, können Sie den Ausgabe-Gruppen-Layer mit dem Werkzeug In Layer-Datei speichern in einer Layer-Datei speichern. Bei Verwendung von ArcGIS Pro fügt das Werkzeug der Anzeige den Gruppen-Layer hinzu. Der erstellte Gruppen-Layer ist temporär und nur für die Dauer der Sitzung vorhanden, es sei denn, das Projekt wird gespeichert.
Ein vorhandener Gruppen-Layer wird überschrieben, wenn Sie denselben Layer-Namen angeben und das Überschreiben der Ausgabe ausdrücklich zulassen.
Ist die Option Feature-bezogene Annotationen erstellen nicht aktiviert, kann die Option Beschriftungen aller Layer in eine einzige Ausgabe-Feature-Class konvertieren zum Erstellen einer Annotation-Feature-Class für die gesamte Karte verwendet werden.
Beim Erstellen einer Annotation-Feature-Class für die gesamte Karte können Beschriftungsklassen mit ähnlichen Eigenschaften über den Parameter Ähnliche Beschriftungsklassen zusammenführen zu einer Annotationsklasse zusammengeführt werden.
Feature-bezogene Annotationen werden einem spezifischen Feature in einer anderen Feature-Class der Geodatabase zugeordnet. Wenn die Option Feature-bezogene Annotation erstellen aktiviert ist, wird ferner automatisch eine Beziehungsklasse generiert, wenn Sie die Ausgabe-Annotation-Feature-Class erstellen.
Wenn Sie Feature-bezogene Annotationen erstellen, muss der Ausgabe-Workspace derselbe wie der mit diesen verknüpften Feature-Classes sein.
Möglicherweise werden einige Beschriftungen momentan nicht auf der Karte angezeigt, da kein Platz für sie vorhanden ist. Um diese Beschriftungen zu konvertieren, aktivieren Sie das Kontrollkästchen Nicht platzierte Beschriftungen in nicht platzierte Annotationen konvertieren. Dadurch werden die nicht platzierten Beschriftungen in der Annotation-Feature-Class gespeichert, sodass Sie diese später in einer ArcGIS Pro-Editiersitzung positionieren können.
Die Workspaces "in_memory" und "memory" unterstützen keine Feature-bezogenen Annotationen.
Syntax
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})
Parameter | Erklärung | Datentyp |
input_map | Die Eingabekarte. | Map |
conversion_scale | Der Maßstab, mit dem Beschriftungen konvertiert werden. Wenn ein Bezugsmaßstab für die Karte festgelegt ist, wird der Bezugsmaßstab zum Festlegen der Symbolgröße und zum Erstellen der Annotation-Feature-Class verwendet, die Konvertierung erfolgt jedoch mit diesem Maßstab. | Double |
output_geodatabase | Der Workspace, in dem die Ausgabe-Feature-Classes gespeichert werden. Der Workspace kann eine vorhandene Geodatabase oder ein vorhandenes Feature-Dataset sein. Wenn es sich bei dieser Datenbank nicht um die von allen Layern in der Karte verwendete Datenbank handelt, wird die Feature-bezogene Option deaktiviert. | Workspace; Feature Dataset |
anno_suffix (optional) | Das Suffix, das jeder neuen Annotation-Feature-Class hinzugefügt wird. Dieses Suffix wird für jede neue Annotation-Feature-Class an den Namen der Quell-Feature-Class angehängt. | String |
extent (optional) | Gibt die Ausdehnung mit den Beschriftungen an, die in Annotationen konvertiert werden sollen.
| Extent |
generate_unplaced (optional) | Gibt an, ob aus nicht platzierten Beschriftungen eine nicht platzierte Annotation erstellt werden sollen.
| Boolean |
require_symbol_id (optional) | Gibt an, ob alle oder nur bestimmte Textsymboleigenschaften bearbeitet werden können.
| Boolean |
feature_linked (optional) | Lizenz:Dieser Parameter ist nur mit ArcGIS Desktop Standard- und ArcGIS Desktop Advanced-Lizenzen verfügbar. Gibt an, ob die Ausgabe-Annotation-Feature-Class mit den Features in einer anderen Feature-Class verknüpft werden.
| Boolean |
auto_create (optional) | Gibt an, ob beim Hinzufügen neuer Features zur verknüpften Feature-Class eine Annotation erstellt werden sollen, wenn der Parameter feature_linked auf FEATURE_LINKED gesetzt ist.
| Boolean |
update_on_shape_change (optional) | Gibt an, ob die Position der Annotation beim Aktualisieren der Form des verknüpften Features aktualisiert werden soll, wenn der Parameter feature_linked auf FEATURE_LINKED gesetzt ist.
| Boolean |
output_group_layer (optional) | Der Gruppen-Layer, der die erstellten Annotationen enthält. Sie können den Ausgabe-Gruppen-Layer mit dem Werkzeug In Layer-Datei speichern in einer Layer-Datei speichern. | Group Layer |
which_layers (optional) | Gibt an, ob die Annotation für alle Layer in der Karte oder für einen einzelnen Layer konvertiert werden soll. Bei einem einzelnen Layer muss dieser angegeben werden.
| String |
single_layer (optional) | Der Layer mit der Annotation, die konvertiert werden soll, wenn der Parameter which_layers auf SINGLE_LAYER festgelegt ist. Dieser Layer muss sich in der Karte befinden. | Feature Layer |
multiple_feature_classes (optional) | Gibt an, ob die Beschriftungen in einzelne Annotation-Feature-Classes oder nur eine einzige Annotation-Feature-Class konvertiert werden. Findet die Konvertierung in eine einzige Annotation-Feature-Class statt, kann die Annotation nicht Feature-bezogen sein.
| Boolean |
merge_label_classes (optional) | Gibt an, ob ähnliche Beschriftungsklassen zusammengeführt werden sollen, wenn der Parameter multiple_feature_classes auf SINGLE_FEATURE_CLASS gesetzt ist.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
updated_geodatabase | Der Workspace, in dem die Ausgabe-Feature-Classes gespeichert werden. | Workspace |
Codebeispiel
Python-Beispiel für ConvertLabelsToAnnotation, das Beschriftungen in Annotationen für einen einzelnen Layer konvertiert.
import arcpy
arcpy.cartography.ConvertLabelsToAnnotation(
'Map1', 10000, 'D:/data/Cobourg.gdb', 'Anno', 'MAXOF', 'ONLY_PLACED',
'REQUIRE_ID', 'STANDARD', '', '', 'AnnoLayer', 'SINGLE_LAYER', 'Schools', '', '')
Eigenständiges Skript, das Beschriftungen mithilfe der Funktion ConvertLabelsToAnnotation in Annotationen für die Karte konvertiert. Die Annotation wird in eine einzige Annotation-Feature-Class konvertiert, und ähnliche Beschriftungsklassen werden zusammengeführt.
# 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')
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja