Jeśli mam klasę plików shapefile lub geobazę danych, która zawiera pola, które chcę trwale zmienić kolejność, czy istnieje narzędzie, skrypt lub narzędzie, które pomoże mi szybko wykonać to zadanie?
Ogólnie wiem, że musisz utworzyć nowe pole, a następnie wypełnić je starymi wartościami, a następnie usunąć stare pole. Mam nadzieję, że istnieje już coś, co pomoże w tym. Zakładając, że nie masz dostępnego FME lub innego narzędzia ETL, jaka jest następna najlepsza sugestia?
To NIE jest zmiana poziomu widoku (tzn. Przeciąganie / upuszczanie pól w kolejności), ale raczej zapisanie do nowego pliku kształtu lub klasy obiektów. Dzięki.
spatial-etl
field-mapping
RyanDalton
źródło
źródło
Odpowiedzi:
Jestem prawie pewien, że możesz to zrobić z klasą elementów na klasę elementów , zmieniając kolejność pól w sekcji mapy pola narzędzia.Edycja: FC2FC nie robi tego, ale ... ratuje.
Właśnie potwierdziłem, że ogr2ogr może to zrobić. Podaj kolejność nazw pól na przełączniku -select. Na przykład, jeśli mam plik shapefile z dwoma polami, „Name” i „FolderPath” (w tej kolejności), ale najpierw chcę nowy plik shapefile z „FolderPath”:
źródło
Narzędzie ET GeoWizards to zrobi i wygląda na to, że darmowa wersja zrobi to bez żadnych ograniczeń liczby funkcji.
źródło
Wtyczka QGIS „Table Manager” ma teraz również możliwość łatwego wykonywania tego zadania bez konieczności używania wiersza poleceń.
źródło
W QGIS możesz teraz korzystać z przybornika przetwarzania (Ctl + Alt + T) i przejść do geo-algorytmów QGIS> Narzędzia tabel wektorowych> Pola refaktoryzujące.
Stamtąd będziesz mieć wszystkie narzędzia do edycji struktury tabeli.
źródło
Dodatek Arcmap dla X-Ray ma narzędzie do zmiany kolejności pól w formacie Geodatabes
źródło
Dla odniesienia: MapInfo może to zrobić również po wyjęciu z pudełka. Wystarczy otworzyć DBF i zmienić kolejność pól na stałe. http://www.dbf-editor.com też to robi (40 USD). Inni redaktorzy DBF prawdopodobnie też mogą to zrobić.
źródło
Miałem podobny problem, a najszybszym sposobem na trwałe zmianę kolejności pól danych, jeśli masz już QGIS, jest użycie wtyczki „Table Manager”, jak wcześniej sugerowano.
Instalacja wtyczek jest prosta i przyjazna dla użytkownika, jak opisano na poniższej stronie:
http://www.qgistutorials.com/en/docs/using_plugins.html
Pozwala przenosić atrybuty w określonej kolejności, zmieniać nazwy pól, wstawiać nowe pola i replikować je. Pozwala także zapisać oryginalny plik lub zmienić jego nazwę i zapisać go inaczej niż oryginał.
Było to szybkie i wygodne rozwiązanie mojego problemu z zarządzaniem tabelą atrybutów i jest wysoce zalecane, szczególnie w przypadku plików z dużą liczbą atrybutów z tym związanych.
źródło
Wyeksportuj klasy elementów do pustej osobistej geobazy (przeciągnij i upuść najszybciej), otwórz .mdb w programie Access, ponownie zamów pola w Widoku projektu , zapisz, a następnie skopiuj ArcMap / Katalog z powrotem do kształtu lub pliku geobazy.
Ta sama metoda działa w przypadku zmiany nazw pól.
Bądź jednak ostrożny , pracuj tylko na kopiach, wszystko łatwo popsuć. (Jak zauważa Karey Jack w innej odpowiedzi, Esri odradza bezpośredni dostęp do .mdb ). Dla bezpieczeństwa zignoruj wszystkie tabele zaczynające się od,
GDB_
a także te kończące się na_Shape_Index
.źródło
Najlepszym sposobem na to jest użycie mapowań pól. Od lat zmagam się z tą funkcją oprogramowania ESRI, ale w końcu jestem zadowolony z tego rozwiązania. Zasadniczo możesz po prostu wykonać kopię klasy obiektów z polami na stałe zmienionymi przy użyciu arcpy.FieldMappings . Wszystkie dane są również przenoszone. Po zakończeniu skryptu zmień nazwę starej klasy elementów na myFeatureClass_old, a nową na myFeatureClass!
Oto skrypt, jest bardzo prosty:
źródło
Klasa elementów do klasy elementów może teraz wykonywać to w wersji 10.5 za pomocą sekcji Mapowanie pola narzędzia GP.
źródło
MakeQueryTable pozwoli ci zdefiniować kolejność pól dla tabeli lub FC (tylko Geobaza). Kolejność określania pól jest kolejnością danych wyjściowych. Uważam, że to narzędzie jest trudne w użyciu. YMMV
Arctoolbox, narzędzia do zarządzania danymi, warstwy i widoki tabel, tworzą tabelę zapytania
źródło
Wypróbuj OGR2OGR. Możesz przekazać zapytanie SQL i ustawić pola w żądanej kolejności.
Właśnie to przetestowałem i działa dobrze!
Do Twojej wiadomości, najprostszym sposobem na zainstalowanie OGR jest FWTools .
źródło
Otwórz plik .mdb w MS Access i zmień kolejność pól, przeciągając i upuszczając w „Widoku projektu”
Chociaż ESRI odradza edytowanie bazy danych w łączu Access ESRI
źródło
Jestem trochę spóźniony na przyjęcie w tej sprawie, ale jestem zaskoczony, że nikt nie wspomniał o diagramie geograficznym ESRI .
Zasób udostępniony przez ESRI do edycji struktury XML twojej geobazy i plików. Moim zdaniem jest to bardzo ważne, jeśli pracujesz nad czymkolwiek, gdzie design musi być idealny (projekt długoterminowy). Dzięki temu nie będziesz musiał ciągle tworzyć plików po popełnieniu prostego błędu.
źródło