Schemavorlagenamen abrufen (Network Diagram)

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:

  • Mit diesem Werkzeug werden in erster Linie Schemavorlagen beim Ausführen in ModelBuilder oder Python in Schleifen ausgeführt.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Netzwerk

Das Versorgungsnetz oder Verfolgungsnetz, mit dem die Namen der Schemavorlagen in einer Beziehung stehen.

Utility Network; Trace Network

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Ausgabe-Schemavorlagen

Die Namen der Ausgabe-Schemavorlagen.

Zeichenfolge

arcpy.nd.GetDiagramTemplateNames(in_utility_network)
NameErläuterungDatentyp
in_utility_network

Das Versorgungsnetz oder Verfolgungsnetz, mit dem die Namen der Schemavorlagen in einer Beziehung stehen.

Utility Network; Trace Network

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_template_names

Die Namen der Ausgabe-Schemavorlagen.

Zeichenfolge

Codebeispiel

GetDiagramTemplateNames – Beispiel (Workflow)

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:

  1. Kopieren Sie das folgende Skript in eine Python-IDE, und speichern Sie es mit der Erweiterung .py.
  2. Starten Sie ArcGIS Pro mit einem neuen leeren Projekt oder einem vorhandenen Projekt.
  3. 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.
  4. Klicken Sie mit der rechten Maustaste auf diese Toolbox, und klicken Sie dann auf Neues > Skript.
  5. 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.
  6. 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.
  7. Klicken Sie auf OK. Das Dialogfeld Skriptwerkzeug wird geschlossen.

Zum Ausführen des Skriptwerkzeugs führen Sie die folgenden Schritte aus:

  1. Erweitern Sie die Toolbox und doppelklicken Sie auf das Werkzeug, um es zu öffnen.
  2. 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.
  3. 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.
  4. 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

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Nein
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen