Hier ist eine interessante Herausforderung: Ich muss eine Tabelle in ein Kartenlayout einbetten, damit die Datensätze in der Tabelle nach ihrer geografischen Position auf dem Boden sortiert werden. In einer Karte von Norden nach oben sollte beispielsweise das nördlichste Merkmal (in diesem Fall Punkte) als erstes und das südlichste als letztes aufgezeichnet werden.
Die Kartenzusammensetzung ist in ArcGIS, aber ich bin bereit, gdal / ogr, qgis usw. bei Bedarf für die Tabellensortierung zu verwenden.
Um diese Frage über meinen unmittelbaren Anwendungsfall hinaus zu erweitern und sie dadurch für die Community nützlicher zu machen, würde eine robuste Lösung die Auswahl anderer geografischer Sorten ermöglichen, z. B. von West nach Ost oder von Innen nach Außen .
quelle
Antworten:
Um in der Richtung mit einer Peilung von einem Grad östlich von Norden zu sortieren, berechnen Sie den Einheitsrichtungsvektor als (sin (a), cos (a)) vor.
Ermitteln Sie bei einer Feldberechnung die (projizierten) [X] - und [Y] -Koordinaten von Merkmalen (verwenden Sie deren Schwerpunkte oder was auch immer für Nicht-Punkt-Merkmale), falls diese noch nicht verfügbar sind, und berechnen Sie ein neues Feld, das dem Abstand entlang der entspricht Peilung, gegeben durch das Punktprodukt des Richtungsvektors mit den Koordinaten:
Sortieren Sie die Tabelle auf [z] in aufsteigender Reihenfolge.
Zum Beispiel beträgt für eine Nord-Süd-Sortierung die Peilung 180 Grad, v = (sin (180), cos (180)) = (0, -1), und die resultierende Sortierung ist daher auf - [Y], Dadurch werden die Datensätze vom größten [Y] (zuerst) bis zum kleinsten [Y] (zuletzt) genau wie beabsichtigt angeordnet.
Eine "innere zu äußere" Sortierung könnte viele Dinge bedeuten, aber eine Interpretation ist, dass die Sortierung nach Entfernung relativ zu einem zentralen Ort erfolgen sollte. Eine ähnliche Lösung gilt unter Verwendung des Satzes von Pythagoras, um die (quadratische) Entfernung von einem festen Punkt zu berechnen. (Das Anwenden der Quadratwurzel ist nicht erforderlich, da dadurch die Sortierreihenfolge nicht geändert wird.)
Eine phantasievollere Sortierreihenfolge wird unter "Eindimensionale Weltkarte" erklärt und illustriert .
quelle
Um die Antwort von whuber in Bezug auf den Werkzeuggebrauch auszudrücken , finden Sie hier eine einfache Implementierung des Nord-Süd-, Ost-West-Anwendungsfalls bei Verwendung von Punktdaten in Arcgis:
X
und und ) hinzuY
Lat
Long
Mit freundlicher Genehmigung von Esri Technical Article HowTo: Sortierfunktionen Nord / Süd oder Ost / West für den Export
Wie ändere ich die Reihenfolge der Features in einem Shapefile? Gibt es Lösungen, um den Tabellensortierungsteil für Arcgis und Qgis durchzuführen, ohne in ein externes Programm exportieren zu müssen (obwohl Sie die Tabelle / Feature-Class noch duplizieren müssen) und Shapefile-Datensätze nach Attributen zu sortieren, um ein neues Rangfeld mit Python zu aktualisieren? hat eine arcpy Methode.
quelle
Wie von @klewis kommentiert :
Die Hilfe des Sortiertools , für die eine Lizenz für Fortgeschrittene erforderlich ist, beschreibt Folgendes
spatial_sort_method
:quelle