QGIS Wtyczki


Wtyczka: go2streetview

Dzięki Google StreetView możliwe jest podglądanie panoram 360 st. wykonanych dla całego świata. Wtyczka go2streetview (dostępna w oficjalnym repozytorium QGIS) umożliwia przeglądanie tych danych (oraz Bing Bird’s Eye) z poziomu programu QGIS. Dzięki okienku sprzężonemu z mapą mamy możliwość szybkiego wskazania lokalizacji oraz kierunku widoku, a także szansę na skorzystanie z szeregu dodatkowych opcji.

 

Czytaj całość

Quick OSM

Oprócz wczytywania rastrowych podkładów do QGIS za pomocą wtyczki OpenLayers Plugin, mamy również możliwość pobierania danych z OSM w formie wektorowej. Służy do tego wtyczka Quick OSM. Po jej zainstalowaniu i uruchomieniu z paska narzędzi otwiera się okno, w którym możemy zdefiniować zapytanie do bazy OSM, za pomocą którego uzyskamy interesujące nas dane.

W pierwszej kolejności należy wybrać klucz oraz wartość dla warstwy, z której chcemy pozyskać dane – więcej o kluczach i wartościach możemy znaleźć na stronie http://wiki.openstreetmap.org/wiki/Map_Features lub za pomocą przycisku „Help with key/value”. Po ich wybraniu określamy obszar, z którego pochodzić mają dane. Do tego celu służą 3 opcje:

  • określenie konkretnego obszaru poprzez wpisanie wartości z jego nazwą (miasto, gmina itd.)
  • wybór obiektów do zasięgu mapy
  • wybór obiektów do zasięgu warstwy

Dodatkowo określić możemy opcje zaawansowane czyli wybór typów obiektów, czas wykonywania zapytania przez serwer oraz wskazać folder, w którym mają zapisać się pobrane warstwy (w innym przypadku warstwy dodane zostaną do otwartego projektu QGIS i będą traktowane jako warstwy wirtualne). Po zdefiniowaniu zapytania należy kliknąć przycisk „Run query”, który prześle zapytanie do bazy OSM i po upływie określonego czasu doda nam pożądane warstwy do okna mapy.

Przykładowo aby pobrać dane dotyczące lokalizacji bankomatów w Lublinie należy wybrać odpowiedni klucz oraz wartość dla danej warstwy – w tym przypadku będzie to kolejno „amenity” i „atm”. Następnie określamy lokalizację korzystając z pierwszej opcji, wpisując w pole tekstowe nazwę miasta – Lublin, natomiast w ustawieniach zaawansowanych zwiększamy czas zapytania do wartości 250. Po zdefiniowaniu powyższych pól uruchamiamy zapytanie przyciskiem „Run query”, które po kilkunastu sekundach powinno zwrócić nam wynikową warstwę punktową z lokalizacją bankomatów na terenie Lublina.

Od teraz mamy możliwość pełnej edycji i zarządzania powyższymi danymi z poziomu QGIS.

OpenLayers plugin

Wtyczka umożliwia dodanie popularnych podkładów mapowych (różne wizualizacje danych OpenStreetMap, ale również Google Maps, Bing, Apple Maps) jako warstwa projektu QGIS.

Po udanej instalacji na pasku menu zostanie dodana nowa pozycja „W internecie”, która daje nam dostęp do podkładów oferowanych przez wtyczkę. W celu wczytania odpowiedniego podkładu należy z listy rozwijalnej wybrać odpowiednią pozycję i poczekać kilka sekund na dodanie podkładu do okna mapy w projekcie QGIS.

 

Od teraz mamy możliwość pełnej nawigacji podkładu (zoomowanie mapy, przesuwanie mapy) oraz wyświetlania na nim innych danych przestrzennych.

Istotną rzeczą, o której należy pamiętać korzystając z wtyczki, jest konwersja układu współrzędnych projektu. Podkłady oferowane przez wtyczkę są dostępne w układzie Web Mercator (EPSG: 3857), więc podczas ich dodawania QGIS automatycznie zmieni nam układ projektu na układ warstwy i aby powrócić do wcześniejszych ustawień należy ręcznie zmienić układ projektu.

GPS Tracker dla QGIS 2.x

GPS trackerNa stronie wtyczki GPS Tracker udostępniliśmy jej nową wersję oznaczoną cyfrą 2. Główną zmianą jest wprowadzenie kompatybilności z aplikacją QGIS w wersji 2.0 i nowszych. Dzięki temu można korzystać najnowszych funkcjonalności usprawniających pracę w tym programie m.in. przyspieszone renderowanie danych wektorowych (a w najbliższej wersji również renderowanie warstw z wykorzystaniem procesorów wielordzeniowych) czy zaawansowaną stylizację i etykietowanie warstw. Ponadto wprowadzono mechanizm pozwalający odzyskać zebrane dane w przypadku awarii QGIS oraz możliwość dostosowania odległości dla automatycznego pomiaru.

Wszystkich zainteresowanych zapraszamy do ściągnięcia i wykorzystywania tego narzędzia w swojej pracy. Dostępna jest również poprzednia wersja działająca w środowisku QGIS 1.8 Lisboa.

Wtyczka GPS Tracker jest efektem współpracy Agencji Restrukturyzacji i Modernizacji Rolnictwa oraz firmy GIS Support Sp. z o.o. Narzędzie to wspomaga pracę z odbiornikiem GPS w aplikacji QGIS poprzez rozszerzenie funkcjonalności związanych ze zbieraniem informacji w terenie. GPS Tracker Plugin jest udostępniony na licencji zgodnie z warunkami GNU General Public License Version 3.


arimr-logo

Wtyczka Polygonizer zintegrowana z SEXTANTE QGIS

Dzięki pomocy Victora Olaya funkcjonalność wtyczki Polygonizer została dodana do rozszerzenia SEXTANTE. Narzędzie dostępne jest w rozwojowej wersji QGIS, którą można zainstalować m.in. przez instalator OSGeo4W (Windows) lub z dedykowanego repozytorium (Linux), w grupie QGIS geoalgorithms->Vector geometry tools.

Integracja pozwala wykorzystać algorytm poligonizacji linii w kreatorze modeli lub przy przetwarzaniu danych w trybie wsadowym (Batch mode). Zwiększona została również szybkość działania.

Shapefile Encoding Fixer
Nazwa: Shapefile Encoding Fixer
Autor: Borys Jurgiel
Wersja: 0.5
Repozytorium: QGIS Official Repository
Data aktualizacji: 14.03.2017

Wszyscy pracujący z plikami Shapefile w QGIS (szczególnie jeśli pliki powstały w innym oprogramowaniu) znają problem z polskimi znakami, które często wyświetlają się w postaci krzaków. Problem podobno nasilił się w najnowszej wersji QGIS 1.8.0. Rozwiązaniem na bolączki z kodowaniem polskich znaków jest wtyczka napisana przez Borysa Jurgiela: Shapefile Encoding Fixer.

Używanie wtyczki jest w zasadzie bardzo proste. Wystarczy:

  • wczytać Shapefile
  • uruchomić wtyczkę
  • odczytać informacje znajdujące się w polu „informacje o warstwie”
  • naprawić deklarację kodowania wedle wskazówek Borysa

shapefile-encoding-fixer

Nasze testy zakończyły się pełnym sukcesem i udało mi się poprawnie wyświetlić polskie znaki we wszystkich plikach, jakie znalazłem na dysku.

Plain Geometry Editor
Nazwa: Plain Geometry Editor
Autor: Denis Rouzaud
Wersja: 2.4.2
Repozytorium: QGIS Official Repository
Data aktualizacji: 14.03.2017

Wtyczka „Plain Geometry Editor” jest prostym narzędziem do zmiany geometrii istniejących obiektów na podstawie ręcznych zmian we współrzędnych poszczególnych werteksów. Wtyczka działa dla warstw PostGIS, a także dla plików Shapefile.

Aby zmienić geometrię należy:

  1. wczytać warstwę do QGIS
  2. włączyć tryb edycji
  3. kliknąć w ikonę wtyczki (kursor zmieni się w strzałkę edycji)
  4. kliknąć w obiekt (punkt, linia, cokolwiek). W okienku, które się pojawi, mamy zapisaną geometrie obiektu w postaci WKT
  5. zmienić wartości na pożądane
  6. kliknąć „Apply”

Dodatkowe opcje:

  • Zaznaczenie opcji „Sketch geomet” powoduje iż w momencie zmiany wartości, na mapie pojawia się dodatkowy obiekt symbolizujący położenie obiektu w nowym miejscu.
  • „Reset” – resetowanie wprowadzonych zmian. Przywrócenie geometrii do początkowego stanu

Zmiany do pliku zostaną wprowadzone dopiero po zakończeniu edycji i zapisaniu zmian sesji edycyjnej w QGIS!

Funkcjonowanie wtyczki w prosty sposób pokazuje filmik przygotowany przez autora

Script Runner
Nazwa: Script Runner
Autor: Gary Sherman
Wersja: 2.0.1
Repozytorium: QGIS Official Repository
Data aktualizacji: 14.03.2017

scriptrunner_iconWtyczka Script Runner umożliwia uruchamianie skryptów napisanych w języku Python bezpośrednio w QGIS. Pozwala to zautomatyzować wykonywane czynności, a przy okazji jest prostsze i szybsze niż tworzenia nowej wtyczki.

Główne okno wtyczki złożony jest z czterech obszarów:

  • górny pasek narzędzi,
  • lista wczytanych skryptów,
  • informacje o wybranym skrypcie,
  • konsola wyjściowa

Przyciski na pasku narzędzi to kolejno:

  • New Script – dodanie nowego skryptu do listy,
  • Add Existing Script – dodawanie istniejącego skryptu do listy,
  • Run Script – uruchomienie skryptu,
  • Script Info – przejście do zakładki Info,
  • Reload Script – przeładowanie skryptu (wymagane jeśli kod został zmodyfikowany w trakcie sesji QGIS),
  • Remove Script – usunięcie skryptu z listy,
  • Clear Console – usuwanie aktualnego wpisu w konsoli,
  • Preferences – zmiana właściwości wtyczki,
  • Help – pomoc dotycząca wtyczki,
  • Close – wyjście z wtyczki.

Aby skrypt mógł zostać wykonany przez Script Runner, w kodzie źródłowym musi być zdefiniowana funkcja run_script:

def run_script(iface):
    pass

Funkcja ta zostanie wywołana w pierwszej kolejności. Zawiera ona jeden parametr – iface. Przekazuje on instancję klasy QgisInterface dla uruchomionego środowiska QGIS – analogicznie jak w konsoli Pythona służy do tego qgis.utils.iface (lub w QGIS master iface). Dzięki tej zmiennej mamy dostęp do takich elementów jak paski narzędzi i menu, możemy wczytywać nowe warstwy i operować na załadowanych danych. Importując klasy qgis.core i qgis.gui można wykorzystać pełny zestaw funkcji i klas API programu QGIS udostępnianych dla Pythona.

Aby uruchomić skrypt należy wybrać go z listy i wcisnąć przycisk Run Script. Po zakończeniu wykonywania skryptu na pasku narzędzi wyświetli się informacja Completed script. Dwukrotne kliknięcie nazwy skryptu spowoduje wyświetlenie w centralnej części okna podstawowych informacji (zakładka Info) oraz kodu źródłowego (zakładka Source). Zakładka Info zawiera informacje odnośnie ścieżki do pliku .py, krótkiej pomocy (jeśli została zdefiniowana na początku modułu), oraz spis funkcji i klas zdefiniowanych w skrypcie. Wtyczka nie posiada możliwości edycji kodu źródłowego, należy to zrobić zewnętrznym edytorem tekstu. Jeśli wprowadzimy zmiany w kodzie skryptu przed ponownym jego uruchomieniem należy wcisnąć przycisk Reload Script w celu przeładowania kodu.

Poniższy przykład sortuje alfabetycznie wczytane do QGIS warstwy i przesuwa je do odpowiednich grup określających ich rodzaj. Na samym dole będą wyświetlane rastry, wyżej poligony, linie i na samej górze warstwy punktowe. Aby algorytm zadziałał należy w oknie legendy zaznaczyć ostatnią warstwę. Jeśli po zakończeniu działania algorytmu kolejność wyświetlanych warstw nie zmieni się należy zaznaczyć opcję Kolejność warstw pod legendą.

</pre>
<pre>"""Sortowanie warstw w QGIS
Piotr Pociask (2013)
"""</pre>
<pre>from qgis.core import QGis, QgsMapLayer, QgsMapLayerRegistry def run_script(iface): """Główna funkcja wywoływana przez Script Runner iface - instancja klasy QgisInterface""" #klasa obsługująca listę warstw (QgsLegendInterface) legend = iface.legendInterface() #spis warstw layermap = QgsMapLayerRegistry.instance().mapLayers() #słowniki do przechowywania warstw różnych typów points = {} lines = {} polygons = {} rasters = {} #iteracja po wczytanych warstwach for name, layer in layermap.iteritems(): #sprawdzenie rodzaju warstwy (czy jest wektorowa)... if layer.type() == QgsMapLayer.VectorLayer: if layer.geometryType() == QGis.Point: points[name] = layer elif layer.geometryType() == QGis.Line: lines[name] = layer else: polygons[name] = layer #... czy rastrowa elif layer.type() == QgsMapLayer.RasterLayer: rasters[name] = layer #dodanie grup do legendy legend.addGroup('Punkty') legend.addGroup('Linie') legend.addGroup('Poligony') legend.addGroup('Rastry') #sortowanie i przesuwanie warstw if rasters: sortLayers(legend, rasters, len(points)+len(lines)+len(polygons)+ len(rasters)+3) if polygons: sortLayers(legend, polygons, len(points)+len(lines)+len(polygons)+2) if lines: sortLayers(legend, lines, len(points)+len(lines)+1) if points: sortLayers(legend, points, len(points)) def sortLayers(legend, layers, index): """Funkcja pomocnicza do sortowania warstw legend - klasa obsługująca listę warstw (QgsLegendInterface) layers - słownik z warstwami index - indeks grupy, do której będą dodawane warstwy """ #sortowanie nazw warstw names = sorted(layers.keys(), reverse=True) for name in names: #przesunięcie warstwy do odpowiedniej grupy legend.moveLayer(layers[name], index) index -= 1
scriptrunner_legend

Lista warstw przed i po uruchomieniu skryptu.

Load Them All
Nazwa: Load Them All
Autor: German Carrillo
Wersja: 2.5
Repozytorium: QGIS Official Repository 2
Data aktualizacji: 14.03.2017

Load them all pozwala na jednoczesne wczytanie do QGIS wielu warstw, wektorowych lub rastrowych, przechowywanych we wskazanym folderze lub jego podkatalogach. Wtyczka nie obsługuje baz danych, takich jak np. PostGIS.

Aby ułatwić wybór odpowiednich plików, możliwe jest ustawienie dodatkowych filtrów, dzięki którym można dokładniej określić jakie dane mają zostać wczytane:

  • Format – umożliwia wczytanie plików w określonym formacie np. ESRI Shapefile, KML, GeoTIFF,
  • Alphanumeric filter – pozwala określić ciąg znaków znajdujący się w nazwie pliku, można określić czy plik powinien zawierać dany tekst na początku, w środku lub na końcu swojej nazwy,
  • Bounding box filter – umożliwia określenie zasięgu wczytywanych warstw,
  • Geometry type filter (warstwy wektorowe) – wczytane zostaną jedynie warstwy przechowujące dane o wybranym typie geometrii: punkty, linie lub poligony,
  • Raster type filter (warstwy rastrowe)  – pozwala określić jakiego rodzaju rastry mają zostać wczytane (skala szarości/niezdefiniowane, kolorowa paleta lub wielokanałowe).

Na zakładce Configuration można ustawić dodatkowe opcje związane z wczytywanymi warstwami:

  • Create groups based on directories names – w legendzie QGIS zostaną utworzone grupy odzwierciedlające strukturę katalogów,

Źródło: GeoTux

  • Turn off the loaded layers – wczytane warstwy będą ukryte,

Źródło: GeoTux

  • Do not load empty vector layers – wczytane zostaną jedynie warstwy wektorowe posiadające obiekty,
  • Sort loaded layers by name – sortuje wczytane warstwy według nazwy,
  • Ignore case in the alphanumeric filter – ignoruje wielkość liter w filtrze alfanumerycznym,
  • Ignore accents in the alphanumeric filter – ignoruje akcenty w filtrze alfanumerycznym.

Ponadto można określić ilość warstw, po przekroczeniu której zostanie wyświetlone zapytanie czy kontynuować ich wczytywanie:

Źródło: GeoTux

Linki:

Strona domowa wtyczki

qNote
Nazwa: qNote
Autor: Piotr Pociask
Wersja: 1.0
Repozytorium: QGIS Official Repository
Data aktualizacji: 15.03.2017

Wtyczka qNote pozwala zapisywać notatki w projekcie programu QGIS. Treść notatki widoczna jest w panelu wyświetlanym w oknie głównym QGIS, standardowo umieszczonym w dolnej jego części. Panel ten może być włączany i wyłączany poprzez menu Widok–>Panele–>qNote lub klikając prawym klawiszem na pasek narzędzi QGIS i wybierając opcję qNote.

 qNote

Aby zachować wprowadzoną lub zmienioną treść notatki w oknie wtyczki należy zapisać projekt (Plik–>Zapisz projekt). Dane zapisywane są w pliku .qgs i będą automatycznie odczytane podczas ponownego wczytywania danego projektu.

Wtyczka może służyć do przechowywania informacji o danym projekcie np. autorze, przeznaczeniu, pochodzeniu i dokładności danych czy planowanych analizach. Dane te mogą być szczególnie pomocne jeśli nad projektem pracuje kilka osób lub gdy użytkownik wróci do niego po dłuższym czasie.

Kod źródłowy dostępny jest poprzez serwis Github. Wszelkie wykryte błędy lub uwagi należy zgłaszać poprzez bugtracker.