HOW TO

Hinzufügen von Z-Anfangswerten und -Endwerten zu einem Linien-Feature mithilfe eines Python-Skripts

Last Published: October 1, 2025

Zusammenfassung

Die Anfangshöhe und Endhöhe eines Linien-Features können nicht direkt als Attributwerte eingefügt werden. Das Werkzeug "Shape interpolieren" kann nur Z-Werte zur Feature-Geometrie hinzufügen, und das Werkzeug "Oberflächeninformationen hinzufügen" kann nur durch Definieren der Höhenoberfläche den Höhenmittelwert eines Features hinzufügen. Die Z-Anfangswerte und -Endwerte können jedoch einem Linien-Feature als Attributwerte hinzugefügt werden, indem das Werkzeug "Shape interpolieren" mit einem Python-Skript kombiniert wird.

Vorgehensweise

In den Anweisungen wird beschrieben, wie einem Linien-Feature Z-Anfangswerte und -Endwerte hinzugefügt werden.

  1. Führen Sie das Werkzeug Shape interpolieren aus, um den gewünschten Linien-Features die Z-Wert-Stützpunkte hinzuzufügen. Geben Sie im Feld Eingabe-Oberfläche die Höhendaten ein, und wählen Sie in der Dropdown-Liste Eingabe-Feature-Class das gewünschte Linien-Feature aus.

    The image of the Interpolate Shape tool.
     
  2. Öffnen Sie die Attributtabelle des neu erstellten Linien-Features, und fügen Sie zwei neue Felder mit dem Datentyp Float oder Double für den Z-Startwert und -Endwert hinzu. Weitere Informationen zum Hinzufügen von Feldern finden Sie im folgenden Webhilfedokument: ArcGIS Desktop: Hinzufügen von Feldern.

    Image of newly created Z fields.
     
  3. Führen Sie in der Python-Konsole (Geoverarbeitung > Python) das folgende Skript aus.
     
    import arcpy
    
    #Geben Sie den gewünschten Workspace an.
    input_fc = r'\'
    
    #Diesen Teil entsprechend den in Schritt 2 erstellten Feldnamen ändern
    myfield1 = "Z_Start"
    myfield2 = "Z_End"
    myshape = "SHAPE@"
    
    #Die in der Attributtabelle des Linien-Features verfügbaren Zeilen durchlaufen und die Z-Werte eingeben
    with arcpy.da.UpdateCursor(input_fc, (myshape, myfield1, myfield2)) as cursor:
        for row in cursor:
            geom = row[0]
            startpt = row[0].firstPoint
            endpt = row[0].lastPoint
            row[1] = round(startpt.Z, 2)
            row[2] = round(endpt.Z, 2)
            cursor.updateRow(row)

    The image of the sample script.
     
  4. Die zwei neuen Felder, die in Schritt 2 erstellt wurden, werden mit dem Ergebnis gefüllt.

    Image of populated Z fields.

Artikel-ID: 000014433

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln