Deutsch

How To: Berechnen der Linienrichtung mit der Feldberechnung (Batch-Modus)

Zusammenfassung

Die Richtung von mehreren Linien-Features kann mit der Feldberechnung über die Koordinaten der Start- und Endpunkte berechnet werden.

Vorgehensweise

Mit den folgenden Anweisungen wird beschrieben, wie die Linienrichtung von mehreren Features mit einem Batch-Vorgang berechnet wird.

  1. Fügen Sie in der Attributtabelle der Linien-Features vier neue Felder hinzu: START_X, START_Y, END_X und END_Y. Legen Sie den Feldtyp dieser Felder auf "Double" fest.
  2. Berechnen Sie mit der Funktion Geometrie berechnen die X- und Y-Koordinaten der Start- und Endposition der Linie in den vier neuen Feldern.
  3. Fügen Sie der Attributtabelle ein weiteres neues Feld hinzu, und nennen Sie es NorthAzimu. Legen Sie den Feldtyp auf "Double" fest.
  4. Berechnen Sie das Feld "NorthAzimu" mit dem folgenden Python-Ausdruck. Details sehen Sie im Code und in der Abbildung unten.
    90-math.degrees(math.atan2(( !END_Y! - !START_Y! ),( !END_X! - !START_X! )))

    User-added image
  5. Um den Nordazimut in Quadrantwinkel zu konvertieren, fügen Sie ein weiteres neues Feld hinzu: Quadrant. Legen Sie als Datentyp "String" fest.
  6. Berechnen Sie das Feld "Quadrant" mit dem Python-Code-Block, wie unten dargestellt. Details sehen Sie in der Abbildung. Stellen Sie vor dem Ausführen des Codes sicher, dass die einzelnen Elemente im Feld "Feldberechnung" entsprechend markiert sind.
    def quadrant(NorthAzimuth):
        if ((NorthAzimuth>=0) & (NorthAzimuth<90)): quad="N " +str(northazimuth)+"="" e"="" elif="" ((northazimuth="">=90) & (NorthAzimuth<180)): quad="S " +str(180-northazimuth)+"="" e"="" elif="" ((northazimuth="">=180) & (NorthAzimuth<270)): quad="S " +str(northazimuth-180)+"="" w"="" else:="" quad="N " +str(360-northazimuth)+"="" w"="" return="">

    User-added image

Referenzinformationen