Zusammenfassung
Gibt die Namen aller Schemavorlagen in Beziehung mit einem Netzwerk zurück.
Verwendung
Bei Verwendung eines Utility Network- oder Trace Network-Service wird dieses Werkzeug nicht unterstützt. Sie müssen entweder ein Versorgungs- oder Verfolgungsnetz in einer File-Geodatabase oder eine Datenbankverbindung zu einem Versorgungs- oder Verfolgungsnetz in einer Enterprise-Geodatabase verwenden. Für die Verwendung einer Enterprise-Geodatabase gelten folgende Voraussetzungen:
- Der Parameterwert Eingabe-Netzwerk muss aus einer Datenbankverbindung stammen, die als Besitzer des Datenbank-Versorgungsnetzes oder als Besitzers des Datenbank-Verfolgungsnetzes hergestellt wurde.
- Bei dem verbundenen ArcGIS Enterprise-Portal-Konto muss es sich um den Besitzer des Portal-Versorgungsnetzes oder den Besitzer des Portal-Verfolgungsnetzes handeln.
- Dieses Werkzeug muss mit der Default-Version verbunden sein, von der vorausgesetzt wird, dass sie öffentlich und nicht geschützt ist.
Mit diesem Werkzeug werden in erster Linie Schemavorlagen beim Ausführen in ModelBuilder oder Python in Schleifen ausgeführt.
Syntax
arcpy.nd.GetDiagramTemplateNames(in_utility_network)
Parameter | Erklärung | Datentyp |
in_utility_network | Das Versorgungsnetz oder Verfolgungsnetz, mit dem die Namen der Schemavorlagen in einer Beziehung stehen. | Utility Network; Trace Network |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_template_names | Die Namen der Ausgabe-Schemavorlagen. | Zeichenfolge |
Codebeispiel
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.
- 1. Parameter
- 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
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja