Zaktualizuj odpowiedź (wersja QGIS> = 2.14)
Od QGIS 2.14 można używać instrukcji SQL na dowolnej załadowanej warstwie wektorowej za pomocą warstw wirtualnych .
- Po załadowaniu warstwy do QGIS, przejdź do Warstwa> Dodaj warstwę> Dodaj / Edytuj warstwę wirtualną ;
W oknie dialogowym Utwórz warstwę wirtualną wprowadź instrukcję SQL w polu Zapytanie. Coś jak:
WYBIERZ ODLEGŁOŚĆ nazwa miasta od nazwy warstwy
Dla geometrii ustaw Bez geometrii
- Kliknij Ok, a tabela załaduje się do QGIS z pożądanymi unikalnymi wartościami.
Uwaga: ta tabela zostanie zaktualizowana, jeśli nowe wartości zostaną dodane do kolumny city_name.
Starsza odpowiedź (wersja QGIS <2.14)
Masz kilka możliwości zrobienia tego, o co prosisz.
- Zaimportuj plik shapefile do bazy danych Spatialite lub Postgis, a następnie możesz przeszukać tabelę przy użyciu pełnych instrukcji SQL;
- Użyj narzędzia Dissolve (Vector> Narzędzia geoprzetwarzania> Dissolve), aby rozpuścić pliki kształtu za pomocą pola „nazwa_miejsca”. Chociaż jest to dziwna metoda, plik dbf wynikowego pliku shapefile zapewni potrzebną listę;
- Spójrz na wtyczkę statystyk grupy (1.6) , możesz użyć „city_name” jako pola klasyfikacji i naciśnij „Oblicz”. Obliczy niektóre statystyki dotyczące każdego miasta, a następnie możesz skopiować wynik i wyodrębnić listę miast.
Właśnie zauważyłem, że w wektorze> Narzędzia analityczne znajduje się narzędzie Lista unikatowych wartości , które jest dokładnie tym, czego potrzeba do tego zadania. Tak łatwe ... bez obejść i bez wtyczek.
Spróbuj dołączyć coś takiego:
źródło
Użyj konstruktora zapytań w QGIS, przejdź do pola nazwy miasta w polach w kreatorze zapytań. Idź do wartości, dodaj wszystko. Usuń wszelkie wartości null.
Zbuduj skrypt podobny do nazwy miasta = „Londyn” i nazwy miasta = „Paryż”, dopóki nie uzyskasz pełnej listy nazw i uruchom skrypt. Teraz wszystkie nazwy miast są wybrane. Możesz wyeksportować wybrane jako plik kształtu i zaimportować do bazy danych postgresql.
Aby użyć zaplecza Postgresql do QGIS, zainstaluj stos Postgresql z Geoserver, Postgresql i bazą danych z obsługą Postgis w Postgresql. Musisz podłączyć QGIS do serwera. Rozejrzyj się trochę, a zrozumiesz.
źródło