ArcToolbox / Datenverwaltungstools / Features / Punkt auf Linie gesetzt
PointsToLine
Die Funktion besteht darin, diskrete Punkte zu einer Polylinie zu verbinden. Wenn Sie dieses Werkzeug verwenden, müssen Sie die für die Polylinie verwendete Punktebene (Eingabefunktion) und das ID-Feld (Linienfeld) angeben, das zur Unterscheidung verschiedener Personen verwendet wird. Feld. Eine sehr häufige Verwendung dieser Funktion ist das Verbinden von Taxi-GPS-Signalen zu einer durchgehenden unterbrochenen Linie.
Nehmen Sie die Einstellungen gemäß den Verwendungsanforderungen vor und melden Sie 999999
Fehler bei der Ausführung aus unbekannten Gründen. Eine der Lösungen für dieses Problem:
- Erstellen Sie eine leere Punkt-Feature-Class und fügen Sie zwei Felder hinzu, ID und ORDER_FIELD, um die Linien- und Sortierfelder der Ursprungs-Feature-Class zu speichern
- Kopieren Sie jedes Feature der Ursprungs-Feature-Class in die neue Feature-Class und ordnen Sie die Linienfelder und Sortierfelder gut zu. Da die Datenmenge relativ groß ist, habe ich
arcpy.da.InsertCursor()
die Features und Felder der Ursprungs-Feature-Class in die neue Feature-Class eingefügt. - Die auf die Linienmethode gesetzte Punktmethode wurde für diese neue Feature-Class erfolgreich ausgeführt.
Anhang: Feature-Skript einfügen
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
import arcpy
in_fc = ""
out_fc = ""
search_fields = ["x", "y", "id_field", "order_field"]
insert_fields = ("SHAPE@", "ID", "ORDER_FIELD")
with arcpy.da.InsertCursor(out_fc, insert_fields) as insert_cursor:
with arcpy.da.SearchCursor(in_fc, search_fields) as search_cursor:
for srow in search_cursor:
x = srow[0]
y = srow[1]
point = arcpy.Point(x, y)
id_field = srow[2]
order_field = srow[3]
insert_cursor.insertRow((point, id_field, order_field))
print "---------- Done! ----------"