QGIS


Usprawnianie pracy z Konsolą Pythona w Quantum GIS

Dzięki Konsoli Pythona, wbudowanej w Quantum GIS, użytkownik może korzystać z udostępnionego przez tą aplikację API do przeglądania i manipulowania danymi przestrzennymi. Podczas uruchamiania programu automatycznie wczytywane są moduły qgis.core i qgis.utils, dzięki czemu od razu po otworzeniu Konsoli można korzystać z dostępnych w nich klas i funkcji.

Jeśli często korzystamy z konsoli, możemy usprawnić swoją pracę poprzez dostosowanie modułów wczytywanych podczas startu Quantum GIS. Aby tego dokonać należy zmodyfikować plik console.py znajdujący się w katalogu qgis_path\python\qgis, gdzie qgis_path to katalog, w którym został zainstalowany QGIS (np. C:\OSGeo4W\apps\qgis).

[notice]Jeśli używamy wersji rozwojowej master należy zmodyfikować plik console_sci.py znajdujący się w katalogu qgis_path\python\console. Należy pamiętać, że w przypadku aktualizacji oprogramowania, np. instalatorem OSGeo4W, plik ten zostanie nadpisany, a wprowadzone zmiany utracone![/notice]

W powyższym pliku należy znaleźć linię:

[code lang=”python” firstline=”33″]_init_commands = ["from qgis.core import *", "import qgis.utils"][/code]

Zmienna _init_commands to lista zawierająca polecenia, które zostaną wykonane podczas pierwszego uruchamiania Konsoli Pythona podczas danej sesji. Jak widać najpierw wczytywane są wszystkie klasy z moduły qgis.core, a następnie moduł qgis.utils. Dodając nowe pozycje do listy można w prosty sposób dostosować zestaw modułów ładowanych przy starcie QGIS, np. zmieniając linię kodu na:

[code lang=”python” firstline=”33″]_init_commands = ["from qgis.core import *", "import qgis.utils",
"from qgis.utils import iface"][/code]

dostęp do aktualnej instancji klasy QgisInterface będzie znacznie prostszy – wystarczy wpisać iface.activeLayer() aby uzyskać dostęp do aktualnie zaznaczonej warstwy na liście (normalnie należy wpisać qgis.utils.iface.activeLayer()). W ten sposób można załadować dowolne dostępne moduły Pythona jak np. PyQt4 czy math.

_PConsole

Dostęp do instancji klasy QgisInterface przed…

mod_PConsole

…i po wprowadzeniu modyfikacji.

Tagi: ,
Oceń swoje ulubione wtyczki QGIS

Od kilku dni pod adresem http://plugins.qgis.org/plugins/ dostępna jest nowa funkcja, dzięki której każdy użytkownik może oceniać wtyczki do QGIS. Aby oddać głos nie trzeba być zalogowanym w serwisie. Wystarczy wejść na powyższą stronę, wybrać plugin i zaznaczyć odpowiednią liczbę gwiazdek. Maksymalnie można przyznać 5 gwiazdek.

Ocena wtyczki brana jest pod uwagę przy tworzeniu rankingu wtyczek dostępnym pod tym adresem. W rankingu brane są pod uwagę również liczba oddanych głosów i liczba ściągnięć wtyczki. Autorem nowej funkcjonalności jest Alessandro Pasotti.

Tagi:
Quantum GIS 1.8 wydany!

Kilka dni temu światło dzienne ujrzała nowa wersja programu Quantum GIS 1.8 Lisboa.
Wydanie to przynosi wiele nowych narzędzi oraz usprawnienia dotychczasowej funkcjonalności. Poprawionych zostało również wiele błędów.

Nową wersję można ściągnąć z oficjalnej strony programu qgis.org.

Główne nowe funkcje:

  • QGIS Browser – przeglądarka plików dostępna jako samodzielna aplikacja oraz panel w oknie QGIS. Pozwala na bezpośrednie wczytywanie warstw poprzez przeciąganie plików do okna głównego QGIS. Można również dodawać zdefiniowane warstwy z baz danych (m.in. PostGIS, SpatiaLite) lub połączenia z serwerami WMS i WFS.
  • DB Manager został oficjalnie dołączony do Quantum GIS. Wtyczka pozwala mi.in zarządzać danymi przestrzennymi w bazach danych (tworzyć, edytować i kasować tabele przestrzenne), tworzyć zapytania SQL czy dodawać warstwy do QGIS.
  • Action Tool – nowe narzędzie ułatwiające uruchamianie Akcji zdefiniowanych we właściwościach warstwy.
  • MSSQL Spatial – natywny sterownik do połączenia z bazą danych Microsoft SQL Server.
  • Nowe typy symbolizacji dla poligonów: wypełnienie linowe i punktowe.
  • Nowy typ symbolizacji dla punktów: elipsa, trójkąt, prostokąt i krzyż.
  • Możliwość tworzenia wielolinijkowych opisów w legendzie mapy w kompozytorze wydruków.
  • Etykietowanie warstw z pomocą złożonych wyrażeń.
  • Plugin Mapa termiczna (Heatmap) – nowy plugin do tworzenia rastrowych map termicznych z warstwy punktowej.
  • GPS Tracking – zmieniony interfejs narzędzia do śledzenia pozycji z odbiornika GPS, poprawienie błędów i wprowadzenie usprawnień.
  • Reorganizacja menu pluginów – wtyczki zostały pogrupowane w kilka kategorii, m.in. wektor, raster, bazy danych. Każda kategoria ma swoje własne menu i pasek narzędzi, który można ukryć.
  • Pole wyboru z predefiniowanymi skalami mapy.
  • Narzędzie pozwalające centrować widok mapy do zaznaczonych obiektów.
  • Nowe narzędzia dostępne we wtyczce fTools: Zagęść geometrię, Twórz indeks przestrzenny.
  • Nowy sposób symbolizacji warstw oparty na regułach.
  • Zmienione okno wyboru układu współrzędnych.
  • Zmienione okno zarządzania zakładkami.
  • Nowe repozytorium wtyczek ustawione jako domyślne.
  • Wsparcie dla typu danych PostGIS TopoGeometry reprezentującego geometrie zdefiniowane przez topologiczne elementy.
  • Zapisywanie wierszy tabeli atrybutów w pamięci podręcznej w celu przyspieszenia funkcjonalności.
  • Kolejność rysowania warstw w oknie mapy może być ustawiona niezależnie od ich kolejności w liście warstw.
  • Możliwość korzystania z wyrażeń w kalkulatorze pól.
  • Grupowanie wybranych warstw.
  • Odczytywanie i zapisywanie stylów warstw z i do plików SLD (Styled Layer Descriptor).
  • Wsparcie protokołu WFS w QGIS Server.
  • Możliwość bezpośredniego wczytania warstw spakowanych do formatu zip lub gzip.
  • Możliwość kopiowania i wklejania stylów pomiędzy warstwami.
  • Możliwość określenia wielkości kafli dla warstw WMS
  • Możliwość osadzania warstw z innych projektów (wraz z symbolizacją) w aktywnym projekcie.
  • i wiele innych …

Źródło: qgis.org

Tagi:
Biblioteka GDAL/OGR wydana w wersji 1.9.0

Biblioteka GDAL/OGR została wydana w wersji 1.9.0. Główne zmiany dotyczą:

  • Wsparcie dla nowych formatów rastrowych: ACE2, CTG, E00GRID, ECRGTOC, GRASSASCIIGrid, GTA, NGSGEOID, SNODAS, WebP, ZMap.
  • Wsparcie dla nowych formatów wektorowych: ARCGEN, CouchDB, DWG, EDIGEO, FileGDB, Geomedia, GFT, IDRISI, MDB, SEGUKOOA, SEGY, SVG, XLS.
  • Znacząca poprawa sterownika NetCDF.
  • Wsparcie dla różnego kodowania znaków w plikach ESRI Shapefile/dbf.
  • Możliwość kasowania, reorganizacji i zmiany pól atrybutów warstw OGR.
  • gdalsrsinfo: nowe narzędzie wyświetlające informacje o układzie współrzędnych w różnych formatach m.in. WKT, proj4.

Pełną listę zmian można znaleźć tutaj.

Tagi: ,
„Wprowadzenie do QuantumGIS”, Milena Nowotarska

Jest to pierwsza w języku polskim publikacja przybliżająca zagadnienia obsługi QuantumGIS (przygotowana w postaci e-booka).

„Wprowadzenie do Quantum GIS” powstało z myślą wykorzystania wolnego i otwartego oprogramowania w administracji geodezyjnej i z założenia nie pokrywa pełnej funkcjonalności programu. Celem tego opracowania jest nie tylko zapoznanie użytkownika z programem, ale w szczególności ukazanie możliwości współpracy QGIS z innymi programami Open Source, takimi jak GRASS, PostGIS, PostgreSQL, Map-Server.

Milena Nowotarska

W podręczniku poruszono m.in. zagadnienia:

  • wczytywania danych wektorowych i rastrowych
  • wektoryzacji i edycji danych
  • architektury wtyczek
  • narzędzi analizy, przetwarzania i zarządzania danymi
  • wyświetlania i edycji danych PostGIS
  • wyświetlania danych z serwerów WMS i WFS
  • pracy z systemem GRASS poprzez QGIS

Idealna pozycja dla osób zaczynających przygodę z QGIS’em.

Tagi:
Praca na warstwach wektorowych w QGIS

QGIS oferuje wiele przydatnych funkcji operujących na warstwach wektorowych. Wśród nich dostępne są są m.in. funkcje związane z geoprocesingiem, statystyką, analizą danych, manipulacją geometrią obiektów czy zarządzaniem danymi.

Dostęp do narzędzi możliwy jest z menu ‚Wektor’, z którego użytkownik ma dostęp do wszystkich narzędzi pogrupowanych w kategorie:

Poniżej znajduje się opis większości narzędzi wektorowych dostępnych QGIS:

Czytaj całość

Tagi: , ,
Funkcje dostępne w kalkulatorze pól QGIS

Kalkulator pól dostępny w QGIS pozwala przeprowadzać operacje na danych i zapisywać ich wynik w tabeli atrybutów. Aktualnie dostępnych jest kilkadziesiąt funkcji operujących na danych tekstowych i numerycznych. Poniżej znajduje się spis dostępnych funkcji udostępnianych przez QGIS.

[important]

  1. Aby uzyskać dostęp do danych z danej kolumny wystarczy podać jej nazwę (można użyć cudzysłowów np. „powierzchnia”).
  2. Tekst należy umieszczac między apostrofami np. ‚mój tekst’.
  3. Liczby rzeczywiste (real) należy wpisywać z kropką.

[/important]

[warning]Nowe funkcje dodawane są w kolejnych wersjach QGIS. Poniższa lista oparta jest na wersji 1.7.1, niektóre funkcję mogą być niedostępne we wcześniejszych wersjach QGIS. [/warning]


Funkcje tekstowe:

Funkcja Opis Przykład Wynik
tostring(a) konwersja liczby a do tekstu tostring(7.3) ‚7.3’
lower(a) konwersja tekstu a na małe litery lower(‚Piotr Pociask’) ‚piotr pociask’
upper(a) konwersja tekstu a na duże litery upper(‚Piotr Pociask’) ‚PIOTR POCIASK’
length(a) długość tekstu a length(‚coord. X’) 8
replace(a,b,c) zamiana fragmentu tekstu b na tekst c w tekście a replace(‚aabba’,’a’,’c’) ‚ccbbc’
regexp_replace(a,b,c) zamiana znaków c w tekście a z wykorzystaniem wyrażeń regularnych b regexp_replace(‚abbaab’,'[ab]a’,’c’) ‚abcab’
substr(a,from,len) zwraca fragment tekstu a o długości len zaczynając od znaku o indeksie from (pierwszy znak tekstu ma indeks 1) substr( ‚abbaab’ ,2,3) ‚bba’
a || b połączenie tekstów ‚prosty’ || ‚Test’ ‚prosty Test’

Funkcje matematyczne (operujące na liczbach):

Funkcja Opis Przykład Wynik
toint(a) konwersja tekstu a do liczby całkowitej toint(‚3’) 3
toreal(a) konwersja tekstu a do liczby rzeczywistej toreal(‚12.2’) 12.2
-a wartość negatywna liczby a -3 3
a+b suma liczb a i b 2+3 5
a-b różnica liczb a i b 5-10 -5
a*b iloczyn liczb a i b 0.5*(-12) -6
a/b iloraz liczb a i b 5/2 2.5
a^b liczba a podniesiona do potęgi b 3^2 9
sqrt(a) pierwiastek kwadratowy liczby a sqrt(9) 3
sin(a) zwraca sinus kąta a sin(90) 1
cos(a) zwraca cosinus kąta a cos(60) 0.5
tan(a) zwraca tangens kąta a tan(0) 0
asin(a) zwraca arcus sinus kąta a (-1≤a≤1) asin(1) 1.5707
acos(a) zwraca arcus cosinus kąta a (-1≤a≤1) acos(-1) 3.1415 (180°=pi)
atan(a) zwraca arcus tangens kąta a atan(90) 1.5596
atan2(x,y) zwraca kąt w radianach między osią X a punktem (x, y) atan2(1,1) 0.7853 (45°=pi/4)

Funkcje związane z obiektami przestrzennymi:

Funkcja Opis
NULL Brak wartości w komórce tabeli
$rownum zwraca numer wiersza tabeli atrybutów
$area zwraca powierzchnię danego obiektu (poligony)
$perimeter zwraca obwód danego obiektu (poligony)
$length zwraca długość danego obiektu (linie)
$id zwraca unikalny identyfikator obiektu
$x zwraca współrzędną X danego obiektu (punkty)
$y zwraca współrzędną Y danego obiektu (punkty)
xat(n) Wartość X koordynatu dla n-tego punktu linii (pierwszy punkt n=0, wartości ujemne powodują liczenie punktów od końca linii)
yat(n) Wartość Y koordynatu dla n-tego punktu linii (pierwszy punkt n=0, wartości ujemne powodują liczenie punktów od końca linii)
Tagi: ,
Ustawianie domyślnego styl dla danej warstwy podczas jej wczytywania w QGIS

QGIS pozwala w prosty sposób zautomatyzować ładowanie domyślnego stylu dla wczytywanej warstwy. Dotyczy to zarówno warstw wektorowych jak i palet dla rastrów. Można dzięki temu oszczędzić czas ręcznego ustawiania stylu dla warstwy po jej wczytaniu jeśli często z niej korzystamy w różnych projektach np. jako podkład do mapy.

Na początku należy ustalić domyślny styl dla warstwy w jej właściwościach. Następnie wybieramy opcję ‚Zapisz styl …’ i zapisujmy go w w folderze z daną warstwą pod tą samą nazwą jak nazwa pliku warstwy. Przykładowo, jeśli plik z warstwą nazywa się kondracki-v2000r-u92.shp, styl należy zapisać pod nazwą kondracki-v2000r-u92.qml.

Od tej pory przy każdym wczytywaniu warstwy QGIS automatycznie ustawi dla niej utworzony styl.

Powyższy sposób powinien działać z większością typów plików obsługiwanych przez QGIS (sprawdziłem na Shapefile, KML, GML i GeoTIFF).

Tagi: , ,
Kalibracja map Messtischblatt w QGIS

Stare mapy może i nie zastąpią wehikułu czasu, ale i tak ich przydatność jest ogromna. Poszukiwanie śladów dawnych fabryk, kolei, fortyfikacji, grodzisk ukrytych w lesie czy też zmian w użytkowaniu i pokryciu terenu 😉 – wszystko to wymaga posiadania archiwalnej mapy. Na szczęście w dobie internetu nie trzeba już szukać ich w bibliotekach i ryzykować zniszczenia zabytku – na ogół wszystko, co trzeba, znajduje się już w sieci. Jest jednak pewne „ale”…

Zwykle wraz z mapą na różnych serwerach dostępne są pliki kalibracyjne z rozszerzeniem .map. Jakość tej kalibracji jest lepsza lub gorsza, zawsze jednak będzie działać jedynie z OziExplorerem. Użycie takiego pliku w standardowym programie GIS skończy się porażką, bo jak większość neogeograficznych wynalazków jest zgodny jedynie sam ze sobą. Pozostaje więc zabrać się za kalibracje samemu.

Tym razem zajmę się niemieckimi mapami Messtischblatt w skali 1:25 000, pokrywającymi tereny włączone do Polski po II wojnie światowej. Pozyskać je można np. ze strony Archiwum Map Zachodniej Polski. Ich kalibracja jest o tyle łatwiejsza od obejmujących tereny II RP map WIG, że parametry odwzorowania, są na 100% pewne – mało tego, znajdują się w bazie EPSG!

W Messtischblattach zastosowano odwzorowanie zwane w krajach anglosaskich Transverse Mercator, a u nas – Gaussa-Krügera. Za model Ziemi posłużyła elipsoida Bessela. Terytorium III Rzeszy podzielono na 6 stref odwzorowawczych o szerokości 3 stopni, przy czym dla obszaru dzisiejszej Polski są to strefy 5 i 6. Granica pomiędzy nimi przebiega wzdłuż południka 16,44 E (w układzie WGS84). Dla strefy 5 mamy gotową definicję, którą można przywołać kodem EPSG: 31469. Tereny położone dalej na wschód wymagają wpisania własnej definicji strefy 6:

+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs

Czasami zdarza się arkusz leżący w dwóch strefach. Poznamy to po załamaniu siatki oraz napisie „Ostgrenze des Gitterstreifes 15 | Westgrenze des Gitterstreifens 18” nad ramką. Wówczas oczywiście należy używać wyłącznie punktów kalibracyjnych w obrębie jednej strefy.

I tym sposobem możemy zabierać się za kalibrację, korzystając z oryginalnej siatki topograficznej. W QGIS służy do tego narzędzie Georeferencer, umieszczone w menu Raster (może być konieczne wcześniejsze włączenie w Zarządzaj wtyczkami). Pracę zaczynamy od wczytania surowego skanu – służy do tego ikona Wczytaj skan. Następnie należy powiększyć obraz tak, by zobaczyć ramkę i móc odczytać współrzędne. Nowe punkty wpasowania dodajemy ikoną Dodaj punkt , pojawi się okno z możliwością wpisania współrzędnych lub pobrania ich z istniejącej mapy:

Wprowadzanie punktów GCP

I tak do skutku, to znaczy – do wpisania odpowiedniej liczby punktów wpasowania. Pamiętać należy przy tym, że współrzędne siatki podane są w kilometrach – należy więc dopisać do nich na końcu 000. Jeśli mapa jest w dobrym stanie i prawidłowo zeskanowana, to właściwie wystarczą 4 punkty, dobrze jednak jest mieć ich więcej. Na koniec należy ustawić parametry transformacji:

Ustawienia transformacji

W większości przypadków wystarczy wielomian 1 stopnia, dla zniszczonych map trzeba użyć stopnia wyższego. Ustawiamy układ współrzędnych (strefa 5 – z kodu EPSG, strefa 6 – wklejając definicję), plik wyjściowy…

Teraz można by już uruchomić kalibrację, ale na wszelki wypadek zapiszmy punkty wpasowania – żeby nie zaczynać od początku w razie padnięcia QGISa.

Na zakończenie warto otrzymany raster transformować do jakiegoś współczesnego układu (opcja Raster – Zmień odwzorowanie) oraz odchudzić paletę kolorów (Raster – RGB na PCT) – wszak oryginał drukowano w 3 kolorach i absolutnie nie ma sensu marnować miejsca na zapis 24-bitowy.

Tagi: ,
QGIS Browser

Lada dzień ma oficjalnie pojawić się QuantumGIS 1.7.0, a w internecie można już znaleźć developerską wersję oznaczoną 1.8.0 Testując tą wersję zauważyłem, że zespół rozwojowy QGIS’a szykuje zupełną nowością… QGIS Browser

Jak sama nazwa wskazuje będzie to przeglądarka danych GIS. Dzięki niej w szybki i prosty sposób będziemy mogli przeglądać wszystkie pliki danych przestrzennych w systemie, jak również wszystkie WMS skonfigurowane w QGIS.
Czytaj całość

Tagi: ,

GIS SUPPORT sp. z o.o.


SZKOLIMY

z QGIS oraz innego otwartego oprogramowania GIS.

zobacz ofertę szkoleń


WSPIERAMY

świadczymy komercyjne wsparcie dla oprogramowania open source GIS w Polsce. Wdrażamy i pomagamy w migracji na otwarte oprogramowanie

dowiedz się więcej


PROGRAMUJEMY

mamy bardzo duże doświadczenie w tworzeniu aplikacji GIS oraz geoportali w oparciu o komponenty open source GIS

dowiedz się więcej