Wenn ich eine Shapefile- oder Geodatabase-Feature-Class mit Feldern habe, die ich permanent neu anordnen möchte, gibt es ein Tool, Skript oder Dienstprogramm, mit dem ich diese Aufgabe schnell erledigen kann?
Im Allgemeinen weiß ich, dass Sie ein neues Feld erstellen, es mit den alten Werten füllen und dann das alte Feld löschen müssen. Ich hoffe, dass es da draußen bereits etwas gibt, das dabei helfen wird. Angenommen, Sie haben keine FME oder ein anderes ETL-Tool zur Verfügung, was ist der nächstbeste Vorschlag?
Dies ist KEINE Änderung der Ansichtsebene (z. B. Ziehen / Ablegen der Felder in der Reihenfolge), sondern Schreiben in ein neues Shapefile oder eine neue Feature-Class. Vielen Dank.
spatial-etl
field-mapping
RyanDalton
quelle
quelle
Antworten:
Ich bin mir ziemlich sicher, dass Sie dies mit Feature-Class zu Feature-Class tun können, indem Sie die Felder im Feldzuordnungsabschnitt des Tools neu anordnen.Edit: FC2FC macht das nicht, aber ... zur Rettung.
Ich habe gerade bestätigt, dass ogr2ogr dies kann. Geben Sie die Reihenfolge Ihrer Feldnamen an der Option -select an. Wenn ich zum Beispiel ein Shapefile mit zwei Feldern habe, "Name" und "FolderPath" (in dieser Reihenfolge), aber ich möchte zuerst ein neues Shapefile mit "FolderPath":
quelle
Das ET GeoWizards- Tool erledigt dies, und es sieht so aus, als würde die kostenlose Version dies ohne Einschränkungen in Bezug auf die Anzahl der Funktionen tun.
quelle
Das QGIS "Table Manager" -Plugin bietet jetzt auch die Möglichkeit, diese Aufgabe einfach und ohne Befehlszeile auszuführen.
quelle
In QGIS können Sie jetzt die Verarbeitungs-Toolbox (Strg + Alt + T) verwenden und zu QGIS-Geoalgorithmen> Vektortabellen-Tools> Refactor-Felder wechseln.
Von dort aus haben Sie alle Werkzeuge, um Ihre Tabellenstruktur zu bearbeiten.
quelle
X-Ray Arcmap Add-In verfügt über ein Tool zum Neuanordnen von Feldern im Geodatabes-Format
quelle
Als Referenz: MapInfo kann dies auch sofort erledigen. Öffnen Sie einfach den DBF und ordnen Sie die Felder dauerhaft neu an. http://www.dbf-editor.com tut es auch ($ 40). Andere DBF-Editoren können das wahrscheinlich auch.
quelle
Ich hatte ein ähnliches Problem und die schnellste Möglichkeit, Datenfelder dauerhaft neu zu ordnen, wenn Sie bereits über QGIS verfügen, besteht darin, das Plug-in 'Table Manager' zu verwenden, wie zuvor vorgeschlagen.
Plugins sind einfach zu installieren und benutzerfreundlich, wie auf der folgenden Seite beschrieben:
http://www.qgistutorials.com/en/docs/using_plugins.html
Sie können die Attribute in einer bestimmten Reihenfolge verschieben, die Felder umbenennen, neue Felder einfügen und sie replizieren. Außerdem können Sie die Originaldatei speichern oder umbenennen und anders als das Original speichern.
Dies war eine schnelle und bequeme Lösung für mein Problem mit der Verwaltung von Attributtabellen und wird dringend empfohlen, insbesondere für Dateien, mit denen eine große Anzahl von Attributen verknüpft ist.
quelle
Der beste Weg, dies zu tun, ist die Verwendung von Feldzuordnungen. Ich habe jahrelang mit dieser Funktion der ESRI-Software zu kämpfen, bin aber schließlich mit dieser Lösung zufrieden. Grundsätzlich können Sie einfach eine Kopie Ihrer Feature-Class mit den Feldern erstellen, die mithilfe von arcpy.FieldMappings dauerhaft neu angeordnet wurden . Alle Daten werden ebenfalls übertragen. Wenn das Skript fertig ist, benennen Sie einfach Ihre alte Feature-Class in myFeatureClass_old und Ihre neue in myFeatureClass um!
Hier ist das Skript, es ist super einfach:
quelle
Feature Class to Feature Class kann dies jetzt in 10.5 mithilfe des Abschnitts GP Tool Field Mapping ausführen.
quelle
Mit MakeQueryTable können Sie die Reihenfolge Ihrer Felder für eine Tabelle oder FC definieren (nur Geodatabase). Die Reihenfolge, in der Sie die Felder angeben, ist die Reihenfolge der Ausgabe. Ich finde dieses Tool schwierig zu bedienen. YMMV
Arctoolbox, Datenverwaltungstools, Layer und Tabellenansichten erstellen Abfragetabelle
quelle
Exportieren Sie die Feature-Classes in eine leere Personal Geodatabase (Drag & Drop ist am schnellsten), öffnen Sie die MDB in Access, ordnen Sie die Felder in der Entwurfsansicht neu an , speichern Sie sie und kopieren Sie sie mit ArcMap / Catalog zurück in die Shape- oder File-Geodatabase.
Die gleiche Methode funktioniert für das Umbenennen von Feldern.
Sei aber vorsichtig , arbeite nur an Kopien, es ist einfach, alles zu vermasseln. (Wie Karey Jack in einer anderen Antwort feststellt, rät Esri vom direkten .mdb-Zugriff ab. ) Ignorieren Sie aus Sicherheitsgründen alle Tabellen, die mit beginnen
GDB_
und mit enden_Shape_Index
.quelle
Versuchen Sie es mit OGR2OGR. Sie können eine SQL-Abfrage übergeben und die Felder in der gewünschten Reihenfolge einfügen.
Gerade getestet, und es funktioniert gut!
Der einfachste Weg, OGR zu installieren, ist über FWTools .
quelle
Öffnen Sie die MDB-Datei in MS Access und ordnen Sie die Felder per Drag & Drop in der Entwurfsansicht neu an.
ESRI rät jedoch davon ab, eine Datenbank in der Access ESRI-Verknüpfung zu bearbeiten
quelle
Ich bin ein bisschen zu spät zur Party, aber ich bin überrascht, dass niemand die ESRI Geodatabase Diagrammer erwähnt hat .
Eine von ESRI bereitgestellte Ressource zum Bearbeiten der XML-Struktur Ihrer Geodatabase und Ihrer Dateien. Für mich ist es wichtig, an etwas zu arbeiten, bei dem Design perfekt sein muss (Langzeitprojekt). Dadurch müssen Sie nach einem einfachen Fehler keine Dateien mehr erstellen.
quelle