Zusammenfassung
Konvertiert Beschriftungen für Layer in einer Karte auf der Grundlage eines Polygon-Index-Layers in Annotationen.
Das Werkzeug unterteilt eine Karte in Kacheln und erstellt dann für jede Kachel Annotationen. Dies ist beim Konvertieren einer großen Anzahl von Beschriftungen in Annotationen nützlich. Der Polygon-Index-Layer kann mit dem Werkzeug Kachelschema des Kartenserver-Cache in Polygone oder Indexgitter-Features generiert werden oder es kann sich um eine beliebige andere Polygon-Feature-Class handeln, die den Bereich für die zu erstellenden Annotationen umfasst.
Verwendung
Die Maßstabsbereiche der Beschriftungsklassen werden berücksichtigt. Wenn das Werkzeug Annotationen für einen bestimmten Bezugsmaßstab generiert, konvertiert es nur die Beschriftungsklassen, die aktiviert und bei diesem Maßstab sichtbar sind.
Wenn Sie vor dem Ausführen des Werkzeugs Kacheln auswählen, werden nur für die ausgewählten Kacheln Annotationen erstellt.
Wenn nur die Annotationen für einige Kacheln im Polygon-Index-Layer aktualisiert werden sollen, wählen Sie zuerst die Annotation-Features mit genau diesem "TileID"-Wert aus, und löschen Sie sie. Wählen Sie dann die Polygon-Features aus, und führen Sie das Werkzeug erneut aus.
Eine der Ausgaben dieses Werkzeugs ist eine Reihe von Gruppen-Layern. Einer der Gruppen-Layer enthält einen Gruppen-Layer für jeden Bezugsmaßstab, für den Annotationen erstellt wurden.
In ArcCatalog oder ModelBuilder können Sie den Ausgabe-Gruppen-Layer mit dem Werkzeug In Layer-Datei speichern in einer Layer-Datei speichern. Bei der Verwendung von ArcMap und Aktivierung dieser Option in den Geoverarbeitungsoptionen fügt das Werkzeug den Gruppen-Layer der Anzeige hinzu. Der erstellte Gruppen-Layer ist temporär und nur für die Dauer der Sitzung vorhanden, es sei denn, das Dokument wird gespeichert.
In ArcCatalog erstellte Gruppen-Layer können nur in ArcMap verwendet werden, wenn diese mit dem Werkzeug In Layer-Datei speichern als Layer-Datei gespeichert wurden.
Ein vorhandener Gruppen-Layer wird überschrieben, wenn Sie denselben Layer-Namen angeben und das Überschreiben von Ausgaben ausdrücklich zulassen.
Wenn im Datenrahmen doppelte Feature-Class-Namen gefunden werden, wird der Annotation nach dem Feature-Class-Namen eine Zahl angefügt (z. B. "Cities01Anno10000", "Cities02Anno10000" usw.).
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. "CitiesAnno10000", "CitiesAnno10000_1" usw.).
Der Bezugsmaßstab für die Annotation-Feature-Classes kann auf die nachfolgenden zwei Arten angegeben werden:
- Die erste Option besteht darin, den Bezugsmaßstab der Ausgabe-Annotation-Feature-Classes anhand eines Feldes des Polygon-Index-Layers zu ermitteln. Verwenden Sie diese Option, wenn Sie Annotationen für eine Vielzahl von Maßstabsebenen erstellen.
- Die zweite Option besteht in der expliziten Angabe eines Bezugsmaßstabs. Dieser Bezugsmaßstab wird für alle Annotation-Feature-Classes verwendet. Wenn im Kartendokument ein Bezugsmaßstab festgelegt wird, ist dies der Standardwert für das Werkzeug. In ArcMap entspricht der Standardwert dem aktuellen Maßstab, wenn kein Bezugsmaßstab festgelegt wird.
Wenn Sie einen Polygonindex-Layer verwenden, der vom Werkzeug Kachelschema des Kartenserver-Cache in Polygone erstellt wurde, verwenden Sie das Feld Tile_Scale als Bezugsmaßstabsfeld-Parameter. Für jede Kombination aus Layer und "Tile_Scale" wird eine neue Annotation-Feature-Class erstellt.
Erzeugen Sie Annotationen für eine Vielzahl von Bezugsmaßstäben, konzipieren Sie die Karte für jeden dieser Maßstäbe, und legen Sie keinen Bezugsmaßstab fest.
Wird ein Koordinatensystemfeld aus dem Polygon-Index-Layer angegeben, wird die Annotation für jede Kachel zum Zweck der Darstellung und Platzierung in dieses Koordinatensystem projiziert.
Feature-bezogene Annotationen werden einem spezifischen Feature in einer anderen Feature-Class der Geodatabase zugeordnet. Wenn Sie die Option ausgewählt haben, 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 Annotation erstellen. Dadurch werden die nicht platzierten Beschriftungen in der Annotation-Feature-Class gespeichert, sodass Sie diese später in einer Editiersitzung positionieren können.
Syntax
TiledLabelsToAnnotation(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})
Parameter | Erklärung | Datentyp |
map_document | Das Quellkartendokument mit den in Annotationen zu konvertierenden Beschriftungen. | ArcMap Document |
data_frame | Der Datenrahmen des Kartendokuments mit den in Annotationen zu konvertierenden Beschriftungen. | String |
polygon_index_layer | Der Polygon-Layer, der Kachel-Features enthält. | Table View |
out_geodatabase | Der Workspace, in dem die Ausgabe-Feature-Classes gespeichert werden. Der Workspace kann eine vorhandene Geodatabase oder ein vorhandenes Feature-Dataset sein. | Workspace; Feature Dataset |
out_layer | Der Gruppen-Layer, der die erstellten Annotationen enthält. In ArcCatalog können Sie den Ausgabe-Gruppen-Layer mit dem Werkzeug In Layer-Datei speichern in einer Layer-Datei speichern. Bei der Verwendung von ArcMap und Aktivierung dieser Option in den Geoverarbeitungsoptionen fügt das Werkzeug den Gruppen-Layer der Anzeige hinzu. Der erstellte Gruppen-Layer ist temporär und nur für die Dauer der Sitzung vorhanden, es sei denn, das Dokument wird gespeichert. | Group Layer |
anno_suffix | 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. Der Bezugsmaßstab für die Annotation folgt auf dieses Suffix. | String |
reference_scale_value (optional) | Der Maßstabswert, der als Bezug für die Annotation verwendet wird. Alle Symbol- und Textgrößen in der Annotation werden relativ zu diesem Maßstab angezeigt. | Double |
reference_scale_field (optional) | Das Feld im Polygon-Index-Layer, das den Bezugsmaßstab der Annotation festlegt. Alle Symbol- und Textgrößen in der Annotation werden relativ zu diesem Maßstab angezeigt. | Field |
tile_id_field (optional) | Ein Feld im Polygon-Index-Layer, das die gekachelte Fläche eindeutig identifiziert. Mit diesen Werten wird das Feld "TileID" in der Attributtabelle der Annotation-Feature-Class ausgefüllt. | Field |
coordinate_sys_field (optional) | Ein Feld im Polygon-Index-Layer, das das Koordinatensystem für jede Kachel enthält. Aufgrund der zur Speicherung eines Koordinatensystems erforderlichen Feldlänge muss ein Polygon-Index-Layer, der ein Koordinatensystemfeld enthält, eine Geodatabase-Feature-Class sein. | Field |
map_rotation_field (optional) | Ein Feld im Polygon-Index-Layer, das den Winkel enthält, um den der Datenrahmen gedreht werden soll. | Field |
feature_linked (optional) | Gibt an, ob die Ausgabe-Annotation-Feature-Class mit den Features in einer anderen Feature-Class verknüpft werden.
| Boolean |
generate_unplaced_annotation (optional) | Gibt an, ob aus nicht platzierten Beschriftungen eine nicht platzierte Annotation erstellt werden sollen.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_workspace | Der Workspace, in dem die Ausgabe-Feature-Classes gespeichert werden. | Workspace; Feature-Dataset |
Codebeispiel
TiledLabelsToAnnotation – Beispiel (Python-Fenster)
Python-Beispiel für TiledLabelsToAnnotation, das Beschriftungen für Layer in einem Kartendokument auf der Grundlage eines Polygonindex-Layers in Annotationen konvertiert.
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.TiledLabelsToAnnotation_cartography("Annotation.mxd", "Layers",
"data.gdb", "GroupAnno", "Anno", "",
"Tile_Scale", "OID", "", "",
"FEATURE_LINKED",
"GENERATE_UNPLACED_ANNOTATION")
TiledLabelsToAnnotation – Beispiel 2 (Workflowskript)
Das folgende Skript veranschaulicht einen Workflow mit den Funktionen MapServerCacheTilingSchemeToPolygons und 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
import os
# Set environment settings
arcpy.env.workspace = "C:/data/data.gdb"
# Set local variables
inMapDocument = "C:/data/Annotation.mxd"
inDataFrame = "Layers"
inTilingScheme = os.path.join(
arcpy.GetInstallInfo()['InstallDir'],
"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)
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja