Mit diesem Beispielskript werden die Definitionen aller Schemavorlagen in Beziehung mit einem gegebenen Netzwerk exportiert.
Mit dem folgenden Skriptwerkzeug wird die Liste der Schemavorlagen in Beziehung mit einem Netzwerk abgerufen. Außerdem werden die Definitionen für jede Vorlage in .ndbd- und .ndld-Dateien in einen gegebenen Ordner exportiert.
Zum Hinzufügen und Konfigurieren dieses Skriptwerkzeugs führen Sie die folgenden Schritte aus:
- Kopieren Sie das folgende Skript in eine Python-IDE, und speichern Sie es mit der Erweiterung .py.
- Starten Sie ArcGIS Pro mit einem neuen leeren Projekt oder einem vorhandenen Projekt.
- Fügen Sie eine neue Toolbox hinzu, oder klicken Sie im Bereich Katalog auf Projekt, und verwenden Sie die standardmäßige Projekt-Toolbox unter Toolboxes.
- Klicken Sie mit der rechten Maustaste auf diese Toolbox, und klicken Sie dann auf Neues > Skript.
- Führen Sie auf der Registerkarte Allgemein folgende Schritte durch:
- Name: ExportAllDiagramTemplateDefinitions eingeben.
- Beschriftung: Export All Diagram Template Definitions eingeben.
- Skriptdatei: die in Schritt 1 erstellte .py-Datei suchen und auswählen.
- Führen Sie auf der Registerkarte Parameter folgende Schritte durch:
- 1. Parameter
- Beschriftung: Input Network eingeben.
- Name: Den Standardnamen Input_Network beibehalten.
- Datentyp: Utility Network und Trace Network auswählen.
- Typ: Required auswählen.
- Richtung: Input auswählen.
- 2. Parameter
- Beschriftung: Definition Files Export Folder eingeben.
- Name: Den Standardnamen Definition_Files_Export_Folder beibehalten.
- Datentyp: Folder auswählen.
- Typ: Required auswählen.
- Richtung: Input auswählen.
- Klicken Sie auf OK. Das Dialogfeld Skriptwerkzeug wird geschlossen.
Zum Ausführen des Skriptwerkzeugs führen Sie die folgenden Schritte aus:
- Erweitern Sie die Toolbox und doppelklicken Sie auf das Werkzeug, um es zu öffnen.
- Geben Sie den Parameter Eingabe-Netzwerk an, d. h. suchen Sie die Datenbankverbindungsdatei, die auf das Netzwerk verweist, von dem Sie alle Vorlagendefinitionen exportieren möchten, und wählen Sie diese aus.
- Geben Sie den Parameter Output Folder an, d. h. suchen Sie den Ausgabeordner, in den Sie die Vorlagendefinitionsdateien exportieren möchten, und wählen Sie diesen aus.
- Klicken Sie auf Ausführen.
# Name: ExportAllDiagramTemplateDefinitions.py
# Description: Export definitions of all diagram templates related to a given network.
# Import system modules
import arcpy
import os
import re
# Initialize variables
msgInputsErr = "Invalid arguments."
msgScriptErr = "Error during script operation."
ndbd_ext = ".ndbd"
ndld_ext = ".ndld"
# Set overwrite option
arcpy.env.overwriteOutput = True
# Decodes parameters
try:
input_Network = arcpy.GetParameterAsText(0)
input_Folder = arcpy.GetParameterAsText(1)
if input_Network == "" or input_Folder == "" :
raise Exception()
except Exception:
arcpy.AddError(msgInputsErr)
raise
# Main code
try:
arcpy.AddMessage("Retrieving the templates list...")
output_TemplateNames = arcpy.GetDiagramTemplateNames_nd(input_Network)
templateNamesList = re.split(';', str(output_TemplateNames))
arcpy.AddMessage("Looping on each template...")
for template in templateNamesList:
message = "Exporting template: {}".format(template)
arcpy.AddMessage(message)
arcpy.ExportDiagramTemplateDefinitions_nd(input_Network, template,
os.path.join(input_Folder, template + ndbd_ext),
os.path.join(input_Folder, template + ndld_ext))
except Exception:
arcpy.AddError(msgScriptErr)
raise