Mam plik kształtu i chcę zmienić kolejność funkcji. Czy to jest możliwe?
Chcę posortować funkcje w pliku shapefile, ponieważ osadzam ten plik shapefile w aplikacji mobilnej. Aplikacja wyświetli listę funkcji i chociaż mogę sortować w czasie ładowania, wolałbym je posortować.
Odpowiedzi:
Zawsze możesz otworzyć tabelę atrybutów w ArcMap i kliknąć prawym przyciskiem myszy nagłówek kolumn i wybrać Sortuj rosnąco ... / Malejąco ... dla pojedynczych pól.
W przypadku wielu pól zamiast tego kliknij Zaawansowane sortowanie, aby wybrać wiele pól.
UWAGA: Dodanie, na przykład, sekwencyjnego pola ID opartego na bieżącym sortowaniu (które jest tymczasowe, przechowywane tylko w tej mapie / mxd) podczas korzystania z powyższej metody będzie uporządkowane według oryginalnego OID / ObjectID klasy obiektów.
Dostępny jest ArcScripts, który trwale sortuje rekordy i generuje nowy plik kształtu: http://arcscripts.esri.com/details.asp?dbid=16771
Mam nadzieję, że kiedy podacie „kolejność funkcji”, to jest to kolejność znaleziona w tabeli atrybutów, a nie kolejność rysowania dla poziomów spisu treści / symboli.
źródło
Nie wiem o Arc *, ale dla QGIS istnieje wtyczka Sort: http://michaelminn.com/linux/mmqgis/
źródło
Oto rozwiązanie, aby przepisać nowy i posortowany plik kształtu za pomocą narzędzia wiersza polecenia GDAL / OGR
ogr2ogr
.Na przykład plik kształtu
orig.shp
ma pole numerycznevolume
do sortowania. Ta konkretna instrukcja SQL wykonuje odwrotne sortowanie (zDESC
), dzięki czemu obiekty o dużychvolume
wartościach są rysowane przed (pod) elementami o małych wartościach:źródło
Jeśli masz dostęp do licencji arcinfo, możesz użyć opcji Sortuj w (przyborniku do zarządzania danymi), która zapisuje rekordy w nowym pliku kształtu lub sortowaniu przestrzennym lub atrybutowym opartym na gdb fc
źródło
Oprogramowanie narzędziowe MapServer (bezpłatne i open-source) może sortować kształty według wartości atrybutów:
http://mapserver.org/utilities/sortshp.html
źródło
Bardzo, bardzo SZYBKA i łatwa metoda sortowania warstwy pliku kształtu (przy użyciu różnych pól).
1 - Eksportuj plik kształtu do CSV (wybierz dobry separator, np. Średnik) i dodaj GEOMETRIĘ, używając „opcji warstw” -> „AS WKT”
2 - Otwórz plik.csv za pomocą LIBREOFFICE (calc) i użyj MENU-> DANE-> SORT (bardzo intuicyjny, wydajny i BARDZO SZYBKI (Sortuj w locie 50000 funkcji za pomocą 3 kolumn, takich jak klucz sortowania, opcje rosnące i malejące oraz i mieć bardzo wolny notatnik;))
3 - Zapisz ponownie plik z LIBREOFFICE (calc) jako „Tekst CSV” (zaznacz „Edytuj ustawienia filtra” i wybierz separator jako „średnik”, nie ważne ostrzeżenie z libreoffice, zapisz jak CSV i wybierz „średnik” jako separator)
4 - W Qgis otwórz nowy plik.csv (i posortowany) z menu „Dodaj warstwę” -> Dodaj warstwę tekstową ogranicznika.
Wady: - Bardzo, bardzo szybkie, sortowanie z różnych pól - Działa poprawnie z danymi zakodowanymi w UTF_8
Wady: - Potrzebujesz LIBREOFFICE (ale czy to oprogramowanie typu open source)
Alternatywna metoda sortowania (punkty 2 i 3, które są najszybsze) za pomocą konsoli (BASH)
Otwórz konsolę i przejdź tam, gdzie masz plik.csv
Załóżmy, że chcesz sortować plik za pomocą klucza:
field6 (desc) + field1 (ascen) + field3 (desce)
więc polecenie będzie:
sort -t ';' -k6,6r -k1,1 -k3,3r plik.csv> plik_sort.csv
UWAGI:
źródło
źródło