Ist es mit ArcGIS 10.0 möglich, die Felder in einer File-Geodatabase neu anzuordnen, und bleibt die Reihenfolge in der Datenbank erhalten?
Wir überlegten, nach XML zu exportieren und einen Parser zu schreiben, um die Feldreihenfolge zu ändern, und dann eine neue Datenbank aus dem XML-Code zu erstellen. Dies scheint ein mühsamer Prozess zu sein.
Eine andere Idee ist, die vorhandenen Felddefinitionen in Excel zu importieren, sie neu zu ordnen, in CSV zu exportieren und dann ein Python-Skript zu schreiben, um diese Felder in einer neuen Geodatabase zu erstellen. Gibt es ein solches Skript, bevor wir es von Grund auf neu schreiben?
Leider scheint ArcGIS Diagrammer die Nachbestellung von Feldern nicht zu unterstützen.
Gibt es Skripte oder Hacks, mit denen wir diesen Prozess vereinfachen könnten?
Antworten:
Wie in den Kommentaren erwähnt, können Sie Felder mit ArcGIS Diagrammer neu anordnen. Ich habe in dieser Antwort Schritt für Schritt eine allgemeinere Beschreibung veröffentlicht: Wie aktualisiere ich die Eigenschaft length eines Feature-Class-Felds?
quelle
In Antwort auf eine andere Frage , sagte ich , dass es möglich ist , zu verwenden Zusammenfassung Statistiken das Äquivalent von PULLITEMS (alt sprechen für Neuordnungsfelder) zu tun. Diese Technik funktioniert nur für Tabellen, aber es gibt jetzt ein anderes Skript , das besagt, dass es sowohl für Feature-Classes als auch für Tabellen funktioniert.
Ich würde auch empfehlen, die Antwort auf das erneute Anordnen von Feldern mit dem ArcGIS-Werkzeug "Abfragetabelle erstellen" dauerhaft zu ändern. Das war inspiriert von @klewis 'Antwort auf diese Frage.
quelle
Die kostenlose Version von ET Geowizards wird dies tun. Grundlegend -> Formen sortieren. Ich habe es gerade auf einer File-Geodatabase der Version 10 getestet und es funktioniert. Es muss jedoch eine neue Feature-Class erstellt werden.
quelle
Wenn Sie Visio für Diagramer nicht haben - Alle anderen Antworten hier unterbrechen alle Verknüpfungen. Ich fand, dass dies in meinem Fall gut funktioniert:
quelle
Sie müssen MakeTableQuery über das Toolset Layer und Tabellenansichten ausführen, um die Felder neu anzuordnen. In der Dokumentation gibt die Reihenfolge der Felder in der Feldliste die Reihenfolge an, in der die Felder in der Ausgabeebene oder in der Tabellenansicht angezeigt werden. Wenn der Feldliste eine Formspalte hinzugefügt wird, ist das Ergebnis eine Ebene. Andernfalls handelt es sich um eine Tabellenansicht. Dies ist mit jeder Lizenzstufe möglich.
quelle
Mit dem Merge-Tool können Sie Felder einfach dauerhaft neu anordnen. Es funktioniert mit Tabellen und Feature-Classes. Die Neuordnung kann über ein Python-Skript und sogar über das Werkzeug-Dialogfeld erfolgen (indem ein Feld entfernt und im Dialogfeld erneut hinzugefügt wird). Eine Nachbestellung über den Dialog ist jedoch kein perfekter Ansatz.
Es wird empfohlen, das Zusammenführungs-Tool einmal zu verwenden und dann Als Python-Snippet kopieren zu verwenden und dann die Feldreihenfolge manuell zu ändern und dann den Python-Code in Python-Fenster einzufügen.
Hier ist ein Python-Skript, das das Merge-Tool verwendet, um Felder neu anzuordnen (von hier kopiert ).
VERWENDUNG:
quelle
Es gibt eine kostenlose Erweiterung von Esri namens X-Ray, die ein Werkzeug enthält, mit dem Felder neu angeordnet werden können. Hat bei uns super geklappt und ist einfach zu bedienen.
quelle
Die bisher effizienteste Methode, Felder umzubenennen, ihre Standardreihenfolge zu ändern und eine Reihe anderer Dinge zu tun, ist die Verwendung von Microsoft Access:
GDB_
Tabellen ignorieren , öffnen Sie die Tabellen im TabellenentwurfsmodusAnmerkungen:
Immer einen aktuellen Backup haben. Sie arbeiten direkt mit der internen GDB-Struktur und können Ihre Daten leicht in den Papierkorb werfen, indem Sie die DB so ändern, dass ArcGIS nicht mehr weiß, wie sie gelesen werden soll.
Auf der ArcGIS-Seite sind einige Schlüsselwörter reserviert , die nicht für Feldnamen verwendet werden können. Access erstellt gerne Felder mit diesen Schlüsselwörtern oder benennt sie um. Wenn Sie sie jedoch zurückholen, wird automatisch ein Unterstrich angehängt. So
Current
wird esCurrent_
. Beachten Sie auch dort die teilweise überlappenden reservierten Access-Schlüsselwörter .Personal GDB hat eine Dateigrößenbeschränkung von 2 GB, sodass die Gesamtgröße aller Tabellen und Feature-Classes in der GDB diese Grenze nicht überschreiten darf.
Es kann verlockend sein, für kleine Projekte (<2 GB) immer persönliche GDBs zu verwenden. Nicht. Die Leistung ist miserabel und es gibt geringfügige Unterschiede in der SQL-Syntax von Access, die Label-Ausdrücke, Definitionsabfragen usw. nicht portierbar machen.
quelle
Es gibt ein Esri How To: Ändern der Reihenfolge von Feldnamen in einer Attributtabellenlösung .
Es erfordert die Bearbeitung der XML-Datei, aber sobald Sie das Schema richtig eingestellt haben, sind Sie gut.
quelle
Dieses Python-Skript ist eine Art "Klebeband" -Methode dafür. Es ist auf 20 Felder begrenzt, kann jedoch problemlos hinzugefügt werden, damit es für alle Felder Ihrer Daten ausgeführt werden kann.
Das Skript kann als Skriptwerkzeug ausgeführt werden, sodass Sie Parameter in ArcCatalog einrichten müssen.
Die Parameter sollten wie folgt lauten:
Code:
Mir ist klar, dass dies nicht der schönste oder effizienteste Weg ist, aber es funktioniert tatsächlich ganz gut und es dauerte nur ungefähr eine halbe Stunde, um es zu schreiben. Ich benutze dies die ganze Zeit, wenn ich Felder neu anordnen muss, und es erfordert weder Diagrammer noch Microsoft Access. Natürlich kann die maximale Anzahl von Feldern ein Problem sein, aber auch dies kann innerhalb des Skripts angepasst werden.
quelle