Ich habe ein Shapefile und möchte die Reihenfolge der Features ändern. Ist das möglich?
Ich möchte die Features im Shapefile sortieren, da ich dieses Shapefile in eine mobile App einbetten möchte. Die App zeigt eine Liste der Funktionen an, und obwohl ich die Sortierung beim Laden durchführen könnte, würde ich es vorziehen, sie zu sortieren.
Antworten:
Sie können die Attributtabelle jederzeit in ArcMap öffnen, mit der rechten Maustaste auf die Spaltenüberschrift klicken und für einzelne Felder Aufsteigend ... / Absteigend ... sortieren auswählen.
Bei mehreren Feldern klicken Sie stattdessen auf Erweiterte Sortierung, um mehrere Felder auszuwählen.
ANMERKUNG: Das Hinzufügen eines sequentiellen ID-Felds basierend auf der aktuellen Sortierung (die temporär ist und nur in dieser Map / mxd gespeichert wird) bei Verwendung der obigen Methode wird nach der ursprünglichen OID / ObjectID der Feature-Class sortiert.
Es ist ein ArcScripts verfügbar, das Datensätze permanent sortiert und ein neues Shapefile ausgibt: http://arcscripts.esri.com/details.asp?dbid=16771
Ich hoffe, wenn Sie die Reihenfolge der Features angeben, ist dies die Reihenfolge in der Attributtabelle und nicht die Zeichenreihenfolge für das Inhaltsverzeichnis / die Symbologieebenen.
quelle
Ich kenne Arc * nicht, aber für QGIS gibt es ein Sortier-Plugin: http://michaelminn.com/linux/mmqgis/
quelle
Hier ist eine Lösung zum Umschreiben eines neuen und sortierten Shapefiles mit dem GDAL / OGR-Befehlszeilentool
ogr2ogr
.Ein Shapefile
orig.shp
verfügt beispielsweise über ein numerisches Feld,volume
nach dem sortiert werden kann. Diese spezielle SQL-Anweisung führt eine umgekehrte Sortierung (mitDESC
) durch, sodass Features mit großenvolume
Werten vor Features mit kleinen Werten (darunter) gezeichnet werden:quelle
Wenn Sie Zugriff auf eine arcinfo-Lizenz haben, können Sie die Option " Sortieren" in der (Toolbox "Datenverwaltung") verwenden, mit der die Datensätze in neue Shapefiles oder GDB-fc-basierte räumliche oder Attributsortierungen geschrieben werden
quelle
Ein Dienstprogramm von MapServer (kostenlos und Open Source) kann Formen nach Attributwerten sortieren:
http://mapserver.org/utilities/sortshp.html
quelle
Eine sehr, sehr SCHNELLE und einfache Methode zum Sortieren einer Shapefile-Ebene (unter Verwendung verschiedener Felder).
1 - Shapefile nach CSV exportieren (gutes Trennzeichen wie Semikolon auswählen) und GEOMETRIE über "Ebenenoptionen" -> "AS WKT" hinzufügen
2 - Öffnen Sie file.csv mit LIBREOFFICE (calc) und verwenden Sie MENU-> DATA-> SORT (sehr intuitiv, leistungsstark und SEHR SCHNELL) habe ein sehr langsames notebook;))
3 - Datei aus LIBREOFFICE (calc) erneut als "Text CSV" speichern ("Filtereinstellungen bearbeiten" markieren und Trennzeichen als "Semikolon" auswählen, keine Warnung aus libreoffice, wie CSV speichern und "Semikolon" als Trennzeichen auswählen)
4 - Öffnen Sie in Qgis die neue Datei ".csv" (und sortieren Sie sie) über das Menü "Ebene hinzufügen" -> Trennzeichen-Textebene hinzufügen.
PROS: - Sehr, sehr schnell, sortiere aus verschiedenen Bereichen - Funktioniert einwandfrei mit UTF_8-codierten Daten
Nachteile: - Brauchen Sie LIBREOFFICE (aber ist es Open-Source-Software)
Alternative Methode zum Sortieren (Punkte 2 und 3 ersetzen und am schnellsten) mit der Konsole (BASH)
Öffnen Sie die Konsole und gehen Sie dorthin, wo Sie file.csv haben
Angenommen, Sie möchten die Datei mit dem Schlüssel sortieren:
feld6 (ab) + feld1 (auf) + feld3 (ab)
So lautet der Befehl:
sort -t ';' -k6,6r -k1,1 -k3,3r file.csv> file_sort.csv
ANMERKUNGEN:
quelle
quelle