Blog GIS Support


Instalacja i konfiguracja QGIS Server

Wprowadzenie

Najczęściej, rozważając wybór serwera WMS dostępnego na wolnej licencji, ma się na myśli jeden z dwóch projektów: UMN MapServer albo GeoServer. Obydwa mają już za sobą długą historię, liczną społeczność oraz wielu użytkowników. Mają jednak również swoje wady, w tym jedną największą: wszelkich ustawień wizualizacji danych dokonuje się tekstowo. Szczególnie dokuczliwy w tym zakresie jest GeoServer, wykorzystujący język SLD z jego nadmiernie rozbudowaną składnią. W przypadku chęci stworzenia bardziej rozbudowanej symbolizacji, staje się to poważnym problemem.

Na szczęście pojawiła się interesująca alternatywa dla tych programów – QGIS Server. Dzięki niemu możemy opublikować w postaci usługi WMS projekty stworzone w QGIS Desktop, z użyciem graficznego interfejsu użytkownika i bogatych opcji wizualizacji danych. 

Ponieważ uruchomienie QGIS Server na komputerze lokalnym nie przedstawia większych trudności, skupię się zatem na tym, jak dokonać tego na zewnętrznym serwerze. 

Dalszy opis zakłada, że dysponujemy serwerem VPS lub dedykowanym, z zainstalowanym systemem Debian/Ubuntu, do którego mamy dostęp przez SSH i uprawnienia superużytkownika.

Instalacja 

Instalację zaczniemy od zalogowania się na serwer jako użytkownik z uprawnieniami administracyjnymi, lub jeśli konfiguracja nie dopuszcza takiego logowania bezpośrednio przez SSH – wydajemy komendę sudo su, dzięki czemu nie trzeba będzie wpisywać „sudo“ przed każdą kolejną.

Wersja stabilna 1.7, niestety, nie nadaje się do użycia jako serwer – każde skierowane do niego zapytanie skończy się komunikatem błędu 500 Internal Server Error. Jest to spowodowane błędem programistycznym, wykrytym już po opublikowaniu wydania. Konieczne jest zatem skorzystanie z usług wersji Master. Na stronie http://hub.qgis.org/projects/quantum-gis/wiki/Download#Master odnajdziemy repozytorium odpowiednie dla naszej dystrybucji. Otwieramy do edycji plik /etc/apt/sources.list i wklejamy właściwe linie, na przykład dla Ubuntu 11.10 będą one następujące:

deb     http://qgis.org/debian-nightly oneiric main
deb-src http://qgis.org/debian-nightly oneiric main

W kolejnym kroku wydajemy komendy:

apt-get update
apt-get install qgis-mapserver libapache2-mod-fcgid

Jeśli wszystko poszło dobrze, QGIS Server powinien zostać zainstalowany w katalogu /usr/lib/cgi-bin/qgis_mapserv.fcgi . Jeśli jednak zdecydujemy się teraz skierować do niego zapytanie, odpowiedź będzie brzmiała Internal Server Error – brak jest bowiem dostępnych plików projektu.

Przygotowanie projektu 

W QGIS Desktop

W oknie Właściwości projektu znajduje się zakładka o nazwie Serwer WMS, która odpowiada za ustawienia związane z publikacją projektu w sieci. Najważniejszym z nich jest sekcja „Tylko te układy współrzędnych“ – trzeba koniecznie ją zaznaczyć i wybrać rzeczywiście przydatne, w przeciwnym wypadku serwer zwróci w odpowiedzi na GetCapabilities wszystkie dostępne, włącznie z bardzo egzotycznymi.

Oprócz tego konieczne jest ustawienie zapisu bezwzględnych ścieżek dostępu.

Symbole SVG 

Wszystkie niestandardowe symbole SVG muszą zostać przekopiowane na serwer. Domyślnie odczytywane są one z katalogu /usr/share/qgis/svg.

Symbole stworzone innymi metodami – poprzez złożenie czcionek, kształtów i kolorów – są zapisywane w pliku .qgs, zatem nie trzeba się nimi przejmować.

Ścieżki dostępu

Najbardziej komfortowa sytuacja ma miejsce wtedy, gdy komputer używany do pracy nad projektem ma identyczny system operacyjny i konfigurację, co serwer – w takim wypadku można już przystąpić do kopiowania danych i pliku projektu. Jeśli jednak jest inaczej, trzeba będzie dokonać pewnych zmian w pliku projektu przy pomocy edytora tekstu – najlepiej, żeby był dostosowany do edycji dokumentów XML.

Żeby projekt stworzony w QGIS Desktop zadziałał prawidłowo na serwerze, wszystkie ścieżki dostępu muszą się zgadzać. W przypadku przenoszenia projektu z systemu Windows należy zwrócić szczególną uwagę na katalog domowy (Windows  używa C:/Users/nazwa, natomiast Linux – /home/nazwa). Dla przykładu porównanie definicji warstwy Shapefile dla Linux i Windows:

Linux

              _home_admin_punkty_shp20120227210555964
            /home/admin/punkty.shp
            
            
            /home/admin/punkty.shp

Windows

              _Users_admin_punkty_shp20120227210555964
            C:/Users/admin/punkty.shp
            
            
            C:/Users/admin/punkty.shp

W przypadku danych przechowywanych w bazie PostGIS trzeba sprawdzić parametry połączenia – te są na szczęście zapisywane identycznie niezależnie od systemu.

Kopiowanie plików

Dane umieszczamy w katalogach zgodnie z podanymi w pliku projektu ścieżkami, pamiętając o tym, żeby mogły być odczytane przez wszystkich (chmod 644 albo chmod a+r).

Jeśli chodzi zaś o plik projektu, to istnieje kilka możliwości:

  • umieszczenie w katalogu domowym użytkownika. Jest to najprostsze rozwiązanie, ale i mało eleganckie: adres serwera WMS będzie miał postać http://domena.pl/cgi-bin/qgis_mapserv.fcgi?map=/home/admin/projekt.qgs 
  • umieszczenie w katalogu /usr/lib/cgi-bin. Najlepsze rozwiązanie, gdy publikowany jest tylko jeden projekt – adres będzie miał postać http://domena.pl/cgi-bin/qgis_mapserv.fcgi
  • utworzenie dla każdego projektu podkatalogu w /usr/lib/cgi-bin, oraz przekopiowanie tam plików qgis_mapserv.fcgi, wms_metadata.xml i admin.sld. Wówczas adres przyjmie postać http://domena.pl/cgi-bin/projekt1/qgis_mapserv.fcgi

Teraz wystarczy już tylko zrestartować serwer HTTP:

/etc/init.d/apache2 restart

i można dokonać próby połączenia.

Pierwsze zapytanie będzie przetwarzane dość długo, gdyż serwer będzie potrzebował czasu na przetworzenie pliku projektu. Kolejne powinny być przetworzone już dużo szybciej.

Tagi: ,
TileCache – przyspieszenie dla WMS

Wprowadzenie

Nie ulega wątpliwości, że usługa WMS była ogromnym krokiem naprzód w udostępnianiu informacji geograficznej. Ma ona jednak jedną podstawową wadę: nie nadaje się do szybkiej obsługi dużej liczby użytkowników. Konieczność generowania nowego obrazu mapy na każde, choćby drobne przesunięcie szybko doprowadzi do przeciążenia najmocniejszego nawet serwera, jeśli tylko jednoczesnych użytkowników będzie wielu. Dodatkowo znikający nawet na pojedyncze sekundy obraz mapy mocno pogarsza komfort korzystania.

Czytaj całość

Tagi: , ,
Natura 2000 w Shp do pobrania

W dziale z danymi do pobrania  pojawiły się nowe dane. Pobrać można dane wektorowe z polskimi obszarami Natura 2000. Z oryginalnego zbioru danych zostały wybrane dane dla obszaru Polski. Plik w układzie PUWG 1992 (EPSG: 2180).

Tagi: ,
eVis – przeglądanie zdjęć w QGIS

Stare porzekadło mówi, że obraz jest wart więcej niż tysiąc słów. Dodając do tego czas, jaki byłby potrzebny na zapisanie owego tysiąca słów w terenie – mało kto stwierdzi, że geotagowane zdjęcia są tylko gadżetem, nieprzydatnym w „poważnym“ GIS. Dzięki jednej z wtyczek QGIS mamy możliwość przeglądanie owych zdjęć bezpośrednio z poziomu aplikacji. Wystarczy posiadać warstwę wektorową z kolumną, w której przechowywane są ścieżki do zdjęć (zapisanych na dysku) i przypisanych do odpowiednich obiektów.

Aby móc przeglądać załączone zdjęcia należy za pomocą narzędzia Zarządzaj wtyczkami uaktywnić wtyczkę (powinna być domyślnie zainstalowana), o nazwie eVis. Po aktywacji, narzędzia z nią związane powinny pojawić się w menu Bazy danych.

Pierwsze z nich, o nazwie Połączenie z bazą danych eVis, nie będzie tym razem potrzebne. Interesujące są natomiast dwa kolejne:

Narzędzie ID zdarzeń eVis – działa tak jak zwykłe narzędzie Identyfikuj, po kliknięciu na punkt z „aparatem“ powinno pokazać się okno ze zdjęciem:

Przeglądarka eVis

Przeglądarka eVis

Jeśli jednak zdjęcie się nie wyświetli, konieczne może być dokonanie konfiguracji na zakładce Opcje – „Atrybut zawierający ścieżkę dostępu do pliku“ powinien być ustawiony na filepath.

Przeglądarka zdarzeń eVis – umożliwia przeglądanie zdjęć po kolei, aktywne zdjęcie będzie zaznaczone na mapie symbolem gwiazdki 

Więcej informacji:

Strona domowa projektu eVis: http://biodiversityinformatics.amnh.org/open_source/evis/documentation.php

Tagi:
Aggregate Polygons – generalizacja zabudowy w PostGIS

Wstęp

Jednym z bardziej istotnych problemów kartograficznych przy tworzeniu map w skali 1:50 000 i 1: 100 000 jest dokonanie generalizacji pojedynczych budynków do bardziej ogólnych obiektów – obszarów zabudowanych. Tradycyjnie dokonywano tego ręcznie, w oparciu o określone reguły, ale też i subiektywne odczucia kartografa. Obecnie jednak, gdy coraz częściej słyszymy o wielorozdzielczych i wieloreprezentacyjnych bazach danych, pojawia się problem automatycznej i powtarzalnej generalizacji.

Szwajcarska firma Kappasys opracowała dodatkowe funkcje do bazy PostGIS, dzięki którym możliwe stało się przeprowadzenie takiej generalizacji przy pomocy oprogramowania Open Source. Dostarczone są w postaci zwykłych skryptów w języku PL/SQL, dzięki czemu nie musimy nic kompilować ani instalować w systemie operacyjnym – wystarczy wykonać je w bazie, by uzyskać dostęp do funkcji.

Instalacja

Skrypty SQL dostępne są do pobrania ze strony Kappasys: http://www.kappasys.org/cms/index.php?id=65&L=5

Należy ściągnąć obydwa skrypty – cleanGeometry oraz aggregatePolygons. Następnie wykonujemy skrypty (użytkownik musi mieć prawa superużytkownika bazy, domyślnie jest to postgres):

psql -d <baza> -U  -h <serwer> -f cleanGeometry.sql
psql -d <baza> -U  -h <serwer> -f aggregatePolygons.sql

Postgres powinien odpowiedzieć „CREATE FUNCTION“ oraz „CREATE AGGREGATE“. Od tego momentu zyskujemy dostęp do funkcji.

Użycie 

Funkcja może być wywołana przy użyciu dowolnego interfejsu bazy danych, a więc linii komend, programu pgAdmin, wtyczki PostGIS Manager czy własnego programu.

Składnia funkcji jest następująca:

SELECT aggregatepolygons (<kolumna geometrii>,<odległość>,<kształt ortogonalny>) FROM 

Pierwszy argument jest to po prostu nazwa kolumny geometrii tabeli, w której znajdują się budynki, np. the_geom. Drugi – to maksymalna odległość między budynkami, poniżej której będą traktowane jako należące do jednego obszaru zabudowanego. Trzeci argument jest typu Boolean, czyli może mieć wartość true albo false i określa, czy wynikowe poligony mają mieć kształt geometryczny z dużą ilością kątów prostych, czy też dowolny. Przy wartości true wynik będzie bardziej zbliżony do reprezentacji na mapie topograficznej, zaś przy false będzie przypominał CORINE Land Cover. Poniżej przedstawiam przykładowe wyniki generalizacji dla różnych ustawień – z opcją ortogonalną i bez, przy różnych odległościach między budynkami.

Wyniki generalizacji za pomocą funkcji aggregatePolygons.

Jeżeli budynki mają przypisany atrybut określający ich wielkość, przeznaczenie itp. można dodać do zapytania klauzulę GROUP BY i otrzymać osobne poligony dla np. budynków przemysłowych i mieszkalnych lub jedno i wielorodzinnych.

[warning]Generalizacja tą metodą przebiega bardzo wolno i pożera dużą część zasobów procesora, dlatego stanowczo niewskazane jest używanie funkcji aggregatepolygons() w widokach albo dynamicznych Query Layers. [/warning]

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:
LIDAR – pobieranie danych

Służba geologiczna USA (USGS) udostępnia na swojej stronie internetowej szereg zestawów danych pochodzących ze skaningu laserowego LIDAR. Dane dotyczą jedynie obszaru USA, ale są możliwością do rozpoczęcia pracy i zapoznania się z technologiami obsługi danych. Możemy je pobrać korzystając z prostej przeglądarki zasięgów danych (Java) pod adresem http://lidar.cr.usgs.gov/LIDAR_Viewer/viewer.php.

Więcej o LIDAR na GIS Support

Tagi: ,
“Zainspiruj się! Geoinformacja w samorządach gminnych”

Książka jest ciekawym zbiorem informacji na temat stosowania geoinformacji w pracy jednostek publicznych. Sporo miejsca poświęcone jest zagadnieniom związanym z dyrektywą INSPIRE oraz ustawą o infrastrukturze informacji przestrzennych.

Można znaleźć w niej również modelowe przykłady zawiązywania porozumień i partnerstw między gminami, powiatami czy też organami zarządzającymi środowiskiem w celu lepszego wykorzystywania geoinformacji w ochronie środowiska czy też na potrzeby planowania przestrzennego oraz zwiększania świadomości informacyjnej społeczeństwa.

Ale co najważniejsze zawiera praktyczne wskazówki i przykłady wykorzystania GIS’u do rozwiązywania problemów, z którymi na co dzień borykają się urzędnicy różnych szczebli administracji.

Tagi:
FUSION/LDV – chmura punktów bez tajemnic

Pod tą nazwą kryje się pakiet programów do obróbki i wizualizacji danych LiDAR. Rozwijany przez US Department of Agriculture Forest Service, jest pomyślany przede wszystkim do zastosowań w leśnictwie. Pakiet jest całkowicie bezpłatny i można go używać bez ograniczeń. Zasadniczo jest programem closed source, jednak na początku 2011 roku na portalu SourceForge pojawił się kod źródłowy dwóch modułów: CloudMetrics i GridMetrics. Pakiet jest skompilowany dla systemu Windows.

Pakiet składa się z trzech zasadniczych części:

  • FUSION, graficznego programu do zarządzania danymi i wizualizacji 2D,
  • LDV, przeglądarki chmury punktów i produktów pochodnych w 3D,
  • LTK, zestawu narzędzi obsługiwanych z linii komend do przetwarzania chmur punktów.

Zakres dostępnych analiz jest bardzo szeroki. Ponieważ FUSION/LDV ma ambicję być pakietem kompletnym, znajdziemy tam zarówno narzędzia z zakresu zarządzania danymi (konwersja ASCII/LAS, przycinanie, łączenie), typowych analiz na chmurach punktów (selekcja pierwszych i ostatnich odbić, filtracja gruntu, tworzenie rastrów) oraz specyficzne dla zastosowań leśnych: określanie zwarcia drzewostanu, statystyki dla kołowych powierzchni próbnych.

FUSION/LDV może odczytywać dane LiDAR w formatach ASCII i LAS, oprócz tego posiada własny binarny format LDA. Dla danych rastrowych posiada swój format PLANS DTM, który niestety nie jest odczytywany przez GDAL. Dostępne są narzędzia umożliwiające konwersję formatu DTM do tekstowego ASC.

Do pakietu dołączony jest podręcznik w formacie PDF, zawierający charakterystykę programu i opis dostępnych narzędzi. Wywołanie każdego z narzędzi LTK bez żadnych argumentów (albo z błędnymi) spowoduje wyświetlenie prawidłowej składni i dostępnych opcji. Oprócz tego możemy skorzystać z internetowych tutoriali, dostarczonych wraz z przykładowymi danymi.

Największą siłą FUSION są niesamowicie szerokie możliwości rasteryzacji chmury punktów. W module GridMetrics dostępnych jest 60 statystyk, które mogą zostać obliczone na podstawie samej wysokości lub wysokości i intensywności odbicia. Również liczba dostępnych narzędzi selekcji danych jest imponująca.

Oprócz tych plusów zdarzają się też, oczywiście, minusy. Najpoważniejszym z nich jest kiepski algorytm filtracji gruntu, który wprawdzie usuwa roślinność, ale zupełnie nie radzi sobie z budynkami:

Wyniki filtracji gruntu w FUSION – od lewej: chmura oryginalna, filtracja w FUSION, filtracja producenta. Dane OpenTopography.org

Po drugie, narzędzie to nie dokonuje klasyfikacji chmury punktów, lecz zwyczajnie wycina te zakwalifikowane jako nie-grunt. Jest to może wygodne w przypadku tworzenia DEMu, ale pogarsza możliwości wymiany z innymi aplikacjami. Interoperacyjność jest w ogóle słabą stroną FUSION: formaty LDA i DTM są specyficzne tylko dla tego pakietu, co wymusza częste używanie narzędzi do konwersji. Wreszcie – brak możliwości przetwarzania strumieniowego, co oznacza konieczność załadowania wszystkich punktów z pliku do pamięci RAM przed rozpoczęciem analizy.

Pomimo tych wad, FUSION/LDV jest niesamowicie użytecznym programem dla wszystkich, którzy zamierzają wykorzystać dane LiDAR w projektach przyrodniczych. Pod względem możliwości oceny struktury roślinności zostawia bowiem daleko w tyle inne programy, skupione na tworzeniu DEMów. Ten ostatni jednak lepiej wykonać korzystając z innych narzędzi – na przykład LAStools.

Strona domowa pakietu: http://forsys.cfr.washington.edu/fusion.html

Tagi: ,

Szkolenia GIS i QGIS

Szkolenia podstawowe i dedykowane w formie zdalnej oraz stacjjonarnej

Zobacz ofertę szkoleń