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.
- 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.
- Berechnen Sie mit der Funktion Geometrie berechnen die X- und Y-Koordinaten der Start- und Endposition der Liniein den vier neuen Feldern.
- Fügen Sie der Attributtabelle ein weiteres neues Feld hinzu, und nennen Sie es NorthAzimu. Legen Sie den Feldtyp auf "Double" fest.
- 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! )))
- Um den Nordazimut in Quadrantwinkel zu konvertieren, fügen Sie ein weiteres neues Feld hinzu: Quadrant. Legen Sie als Datentyp "String" fest.
- 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 quad