Blog GIS Support


PostGIS 2.0

Po ponad dwóch latach pracy pojawiła się nowa wersja PostGIS, relacyjno-obiektowego rozszerzenia bazy danych PostgreSQL, oznaczona numerem 2.0 . Jest to obecnie najpopularniejsza i najbardziej rozbudowana otwarta baza danych operująca na danych przestrzennych. Więcej informacji o PostGIS można znaleźć w artykule “Dlaczego warto zaprzyjaźnić się ze słoniem?

Najważniejsze zmiany w wersji 2.0:
  • dodanie modelu topologicznego dla obiektów posiadających wspólne granice,
  • możliwość trój- i czterowymiarowego indeksowania obiektów,
  • natywne wsparcie danych rastrowych i możliwość ich analizowania,
  • wprowadzenie modyfikatora typu (typmod) dla kolumn zawierających geometrię,
  • Nowe funkcje dla wektorów:
    • ST_Split,
    • ST_Node,
    • ST_MakeValid,
    • ST_OffsetCurve,
    • ST_ConcaveHull,
    • ST_AsX3D,
    • ST_GeomFromGeoJSON,
    • ST_3DDistance,
  • integracja z systemem rozszerzeń dostępnych w PostgreSQL od wersji 9.1,
  • możliwość jednoczesnego importu wielu plików oraz eksport wielu tabel przez GUI.

Najnowszą wersję można ściągnąć ze strony głównej projektu. Dostępna jest również skompilowana wersja dla systemów Windows.

Tagi: , ,
Polskie obszary chronione do pobrania

W dziale “Dane do pobraniazostał dodany kolejny zbiór danych udostępniony przez EEA. Tym razem Parki Narodowe, Parki Krajobrazowe i Rezerwaty w formacie ESRI Shapefile. Granice Parków Narodowych i Krajobrazowych pokrywają się z tymi, które można obejrzeć przez WMS GDOŚ. Problem jest z Rezerwatami, których granice w kilku zaobserwowanych przypadkach znacznie się różnią. WMS GDOŚ należy uważać za bardziej aktualne źródło danych.

Oryginalny zbór waży ponad 800Mb i obejmuje swoim zasięgiem prawie wszystkie kraje europejskie oraz Turcję. Dane są opublikowane na  standardowej licencji EEA pozwalającej na komercyjne użycie danych. Więcej można przeczytać u źródła.

Tagi: , ,
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: ,

Szkolenia GIS i QGIS

Szkolenia podstawowe i dedykowane w formie zdalnej oraz stacjjonarnej

Zobacz ofertę szkoleń