Zrozumiałem, jak to zrobić, używając narzędzia Utwórz tabelę zapytań , Kopiuj jako fragment kodu w Pythonie, okna Python i narzędzia Kopiuj funkcje .
Po uruchomieniu narzędzia Utwórz tabelę zapytań, aby przeciągnąć tylko pola, które chciałem wyświetlić w danych wyjściowych, mogłem skopiować jako fragment kodu Python ten fragment z Geoprocessing | Okno wyników do okna Python ArcMap.
arcpy.MakeQueryTable_management("'C:/avhome/data/WAregional/wa regional.mdb/schools'","QueryTable","USE_KEY_FIELDS","#","schools.OBJECTID #;schools.Shape #;schools.CODE #;schools.NAME #;schools.TYPE #;schools.Y11STUDENT #;schools.Y12STUDENT #;schools.COORDGEOCO #;schools.ID #","#")
i edytuj go, aby stał się:
arcpy.MakeQueryTable_management("'C:/avhome/data/WAregional/wa regional.mdb/schools'","QueryTable2","USE_KEY_FIELDS","#","schools.OBJECTID #;schools.Shape #;schools.Y12STUDENT #;schools.Y11STUDENT #;schools.NAME #","#")
Zauważ, że nowy QueryTable2 zachowuje pole Shape (dzięki czemu mogę go skopiować) i zmieniłem kolejność pól NAME, YR11STUDENT i YR12STUDENT. Skorzystałem również z okazji, aby zrezygnować z kilku dodatkowych pól.
Ostatnim krokiem jest użycie narzędzia Kopiuj funkcje w QueryTable2, które zrobiłem za pomocą okna dialogowego tego narzędzia, aby utworzyć nową klasę obiektów z polami na stałe ponownie uporządkowanymi.
Dzięki narzędziu Scalanie możesz z łatwością porządkować pola na stałe. Działa z tabelami i klasami funkcji. Zmiana kolejności może odbywać się za pomocą skryptu Python, a nawet za pomocą okna dialogowego Narzędzia (poprzez usunięcie pola i ponowne dodanie go w oknie dialogowym). Chociaż ponowne zamówienie za pośrednictwem okna dialogowego nie jest idealnym podejściem.
Zaleca się jednorazowe użycie narzędzia Scal, a następnie użycie opcji Kopiuj jako fragment kodu w Pythonie, a następnie ręczną zmianę kolejności pól, a następnie wklejenie kodu Pythona w oknach Pythona.
Oto skrypt w języku Python, który używa narzędzia korespondencji seryjnej do zmiany kolejności pól (skopiowane stąd )
STOSOWANIE:
źródło
Po przeczytaniu Zmieniając kolejność atrybutów w tabeli i próbując zmienić kolejność pól, znalazłem to proste rozwiązanie w ArcMap 10,1 ...
źródło
Mam metodę zrobienia tego całkowicie w programie budującym modele w stosunkowo solidny sposób. Konfiguracja jest trochę uciążliwa, ale przynajmniej można ją wstawić w ramach większej analizy konstruktora modeli:
Narzędzie Rozpuszczanie - ObjectID jako pole rozpuszczania. Dodaj pozostałe pola (Statystyka) w żądanej kolejności i wybierz opcję (Pierwsza) z listy rozwijanej Typ statyczny. W poniższym przykładzie przesunąłem pole SaltMarsh_Pct z góry w dół na liście pól do pozycji 6.
Zasadniczo kopiuję wyniki, a następnie zmieniam nazwy każdego pola (kopia jest funkcjonalnie redundantna i można tam również zmienić nazwę, ale jest niestabilna)
Użyj narzędzia Zmień pole, aby zmienić nazwę każdego pola
Wszystko razem w modelu wygląda następująco:
źródło