Ich habe ein Vektor- (Polylinien-) Shapefile und muss die Start- und Endpunkte (Knoten) jeder Linie abrufen und mit diesen Punkten ein Shapefile erstellen. Dann muss ich den Start- und Endpunkt für jede Linie basierend auf der Punkt-ID zur Attributtabelle der Polylinie hinzufügen.
Wie kann ich das auf einfache Weise in ArcGIS Desktop oder QGIS tun?
qgis
arcgis-desktop
user51651
quelle
quelle
Antworten:
Das ist ein Einzeiler für GDAL. Dieser Befehl erstellt aus den Startknoten ein Shapefile mit ausgewählten Attributen:
Verwenden Sie ST_EndPoint für Endpunkte.
quelle
Es gibt ein QGIS-Plugin "Punkte entlang Linien lokalisieren" . Um Start- und Endpunkte abzuleiten, wählen Sie Endpunkte hinzufügen und verwenden Sie ein Intervall, das länger als Ihre längste Linie ist.
quelle
QGIS-Lösung: Es ist möglich, Anfangs- und Endknoten (Koordinaten) einer Linienvektordatei zu extrahieren, indem einfach xat und yat im Feldrechner mit den entsprechenden Indizes 0 (Anfang) und -1 (Ende) verwendet werden.
quelle
Für eine ArcGIS-Lösung habe ich ein Geoverarbeitungswerkzeug erstellt, mit dem Punkte auf Linien erstellt werden.
Sie können es herunterladen und den Code hier anzeigen: Punkte auf Linien erstellen
Für den Typ müssen Sie START / END POINTS auswählen. Dadurch wird eine neue Punkt-Feature-Class erstellt, die die Start- und Endpunkte für jede Polylinie enthält.
Die Ausgabe-Point-Feature-Class verfügt auch über ein Feld namens LineOID, das die OID der Polylinie aufzeichnet, aus der sie erstellt wurde. Auf diese Weise können Sie Ihre Attributdaten wieder zusammenfügen.
Hier ist ein Screenshot, wie Sie die Parameter einstellen würden:
quelle
Zum Hinzufügen der Koordinaten der Endpunkte in der Attributtabelle können Sie in ArcGIS den Feldrechner verwenden (es müssen keine Geometrien erstellt werden). Klicken Sie auf den Feldnamen, den Feldrechner und verwenden Sie dann die Python-Syntax mit den folgenden einzelnen Zeilen (Beispiel mit der X-Koordinate):
Beachten Sie, dass sich alles in den !! befindet
quelle
Verwenden Sie in QGIS das Werkzeug Bestimmte Scheitelpunkte extrahieren . Setzen Sie Vertex-Indizes auf 0 , um Startpunkte und -1 , um Endpunkte zu erhalten, oder auf 0, -1 , um beide zu erhalten.
Beachten Sie die Beschreibung:
quelle
Wenn Sie in ArcGIS über eine erweiterte Lizenz verfügen, können Sie das Tool "Datenverwaltungs-Toolbox" -> "Feature-Toolset" -> "Stützpunkte zu Punkten" mit der Option "Beide Enden" verwenden. Alle Attribute der Linie bleiben erhalten. Sie müssen Ihrer ursprünglichen Linien-Feature-Class jedoch ein Feld hinzufügen und die Feature-ID in Ihrer Linie berechnen, damit dieser Wert in den Punkten erhalten bleibt. Wenn Sie ein anderes eindeutiges Wertefeld in Ihren Zeilen haben, können Sie die FID nach dem Ausführen des Tools verbinden und berechnen. Die letzte Option besteht darin, eine räumliche Verknüpfung mit der Option "Eins zu vielen" durchzuführen und Kopien mit schlechten Attributen zu entfernen.
quelle