Wpisy otagowane ‘WMS’

W repozytorium Ubuntu znajduje się GDAL 1.7. Chcąc wykorzystać możliwości najnowszej wersji trzeba sobie skompilować program samemu :-).

Przygotowania – pobieranie potrzebnego oprogramowania

Pobieramy najnowsze źródła GDALa ze strony http://www.gdal.org/

W moim przypadku będzie to wersja 1.9.0:

http://download.osgeo.org/gdal/gdal-1.9.0.tar.gz

Do skompilowania wtyczki Oracle’a potrzebny będzie Instant Client.

Ściągamy pliki „zip”. Archiwa te umożliwiają instalację klienta w katalogu domowym – nie trzeba się martwić o uprawnienia.

Instant Client Package – Basic

Instant Client Package – SQL*Plus

Instant Client Package – SDK

Wersje dla innych architektur znajdują się pod adresem: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html?ssSourceSiteId=ocomen .

Instalacja Instant Clienta

Teraz trzeba rozpakować klienta, np. do katalogu: /home/user/oracle/instantclient_11_2.

UWAGA: W moim przypadku katalog domowy użytkownika to /home/user. Oczywiście w instalacji na swoim komputerze należy posługiwać się własną nazwą użytkownika.

Ustawiamy zmienne systemowe:

export ORACLE_HOME=/home/user/oracle/instantclient_11_2
export NLS_LANG=POLISH_POLAND.EE8ISO8859P2
export NLS_NUMERIC_CHARACTERS=.,
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME

W związku ze zmianami linkera od Ubuntu 11.10 trzeba wyeksportować:

export LDFLAGS="-Wl,--no-as-needed"

(więcej: http://osgeo-org.1560.n6.nabble.com/gdal-dev-Configure-error-with-Oracle-instantclient-11-2-0-3-tp4889509p4933492.html)

Warto też dodać sobie te wartości do pliku .bashrc (/home/user/.bashrc), żeby po restarcie komputera zmienne środowiskowe były zachowane.

Po rozpakowaniu klienta tworzymy dowiązania symboliczne (w katalogu klienta instantclient_11_2):

ln -s libclntsh.so.11.1 libclntsh.so
ln -s libocci.so.11.1 libocci.so

Tworzymy dowiązanie symboliczne lib w katalogu klienta (instantclient_11_2) do tego katalogu, aby GDAL znalazł biblioteki. Jest to taki trick – GDAL szuka bibliotek w katalogu lib domyślnie i nie da się tego zmienić. Natomiast przy instalacji instant clienta z plików zip, wszystkie potrzebne pliki oracle’a znajdują się w głównym katalogu instalacyjnym.

ln -s /home/user/oracle/instantclient_11_2/ lib

Instalacja niezbędnych pakietów z repozytorium

Przede wszystkim trzeba zainstalować narzędzia do kompilacji:
sudo apt-get install build-essential

Do wyszukania plików potrzebnych do zainstalowania obsługi WMS i PostgreSQLa (curl-config i pg_config) użyłem narzędzia apt-file

sudo apt-get install apt-file
apt-file update
apt-file find curl-config
apt-file find pg_config

Wyszukane pakiety to m.in. libcurl4-openssl-dev i postgresql-common i takie zainstalujemy:

sudo apt-get install libcurl4-openssl-dev
sudo apt-get install postgresql-common

Do postgresql przyda się jeszcze libpg-dev (dla instalacji klienckiej).

sudo apt-get install libpq-dev

Dygresja: Dla Fedory 16 instalacja przebiega bardzo podobnie. W moim przypadku brakowało mi kompilatora g++. Instalacja pakietu poleceniem:

yum install gcc-c++

uruchamianym jako root.

Kompilacja GDAL

Plik gdal-1.9.0.tar.gz rozpakowujemy poleceniem:

tar xfvz gdal-1.9.0.taz.gz

w dowolnym katalogu.

W katalogu gdal-1.9.0 uruchamiamy komendy:

./configure –with-oci=yes –with-oci=yes --with-curl=/usr/bin/curl-config --with-pg=/usr/bin/pg_config
make
sudo make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

Następnie dodać ostatnią linijkę do .bashrc. Ten wpis umożliwia uruchamianie GDALa po restarcie komputera.

Możliwe problemy

– Sqlplus nie uruchamia się.

Trzeba doinstalować brakujący pakiet:

sudo apt-get install libaio1

– configure nie może znaleźć bibliotek.

Można spróbować utworzyć dodatkowe dowiązania do katalogu z instant clientem:

mkdir rdbms
cd rdbms/
ln -s ~/oracle/instantclient_11_2/ demo
ln -s ~/oracle/instantclient_11_2/ public

Poradnik bazuje na:

Jedną z funkcji programu jest pobieranie danych rastrowych z WMS.
WMS – Web Map Service – stworzony przez Open Geospatial Consortium (OGC) międzynarodowy standard internetowego serwisu do tworzenia i udostępniania map.

Pierwszym etapem jest znalezienie adresów serwerów udostępniających usługę WMS. Do tego celu posłużymy się aplikacją geoportalu: www.geoportal.gov.pl -> MAPY.

 

Po załadowaniu aplikacji klikamy w ikonę na pasku narzędzi: „Zdefiniuj źródło danych”. W okienku zaznaczamy po lewej stronie „WMS”, następnie klikamy na wybrane źródło. W polu „URL” pojawi się adres, który możemy skopiować.

Wybieramy następujące adresy:
Państwowy Rejestr Granic – http://sdi.geoportal.gov.pl/wms_prg/wmservice.aspx
Ortofotomapę – http://sdi.geoportal.gov.pl/wms_orto/wmservice.aspx
Powiat mielecki – http://87.116.242.30/wms/geoportal/wms.php

Uruchamiany QGIS. Najpierw należy ustawić układ współrzędnych, w którym będziemy pracować: z menu górnego wybieramy Ustawienia -> Właściwości projektu.

Na zakładce Układ współrzędnych odszukujemy „układ 92”. Jego kod EPSG to 2180.

EPSG – European Petroleum Survey Group
EPSG opracowało EPSG Geodetic Parameter Set – bazę danych, w której zawarte są informacje o parametrach definiujących kształt Ziemi, elipsoidach odniesienia, systemach współrzędnych geograficznych, odwzorowaniach kartograficznych, jednostkach miary, etc. Zadania EPSG zostały przejęte w 2005 roku przez nowo utworzoną organizację International Association of Oil and Gas Producers (OGP). (http://pl.wikipedia.org/wiki/European_Petroleum_Survey_Group)

Dodajemy nową warstwę WMS:

 

W okienku „Dodaj warstwę z serwera”, w zakładce „Utwórz nowe połączenie WMS” wpisujemy nazwę i URL Państwowego Rejestru Granic (PRG).
Po zatwierdzeniu wybieramy z listy rozwijalnej PRG i klikamy przycisk połącz. Po otrzymaniu pełnej odpowiedzi wybieramy warstwy Województwa i Powiaty. Kodowanie obrazu PNG (umożliwi przezroczystość warstw), układ współrzędnych ETRS89 / Poland CS92. Układ warstwy powinien zgodzić się z układem projektu.
Podobnie dodajemy warstwy ortofotomapy (1 warstwa) i powiatu mieleckiego (warstwa „dzialki” i „budynki”).

Po dodaniu warstw zbliżamy się do północno-zachodniej części Województwa Podkarpackiego (blisko granicy z województwami Świętokrzyskim i Małopolskim), aż do wyświetlenia zdefiniowanych warstw. W przypadku trudności ze znalezieniem odpowiedniego zakresu warto dodać warstwę Państwowego Rejestru Nazw Geograficznych z Geoportalu.

Zapis ortofotomapy do pliku

Pobieranie ortofotomapy zwykle długo trwa, więc można zapisać jej część do pliku graficznego wraz z georeferencją. W tym celu ustawiamy zakres wyświetlania mapy i wyłączamy wszystkie warstwy oprócz ortofotomapy. Z menu górnego wybieramy Plik-> Zapisz obraz jako… Do standardowego pliku graficznego został wygenerowany dodatkowy plik tekstowy z informacją o georeferencji. Zapisany wcześniej plik dodajemy do mapy jako warstwe rastrową.

QGIS umożliwia dość proste pobieranie ortofotomapy. Chcąc zdefiniować szerszy zakres czy też rozdzielczość pobieranych bitmap trzeba posłużyć się bardziej zaawansowanym narzędziem, np. biblioteką GDAL. Zobacz:
http://terraobserver.blogspot.com/2009/07/pobieranie-map-z-serwerow-ars.html

Open Geospatial Consortium, Inc ® (OGC) jest to stowarzyszenie 381 firm, agencji rządowych i uczelni, które opracowuje dostępne publicznie specyfikacje i standardy. Specyfikacje OGC są interoperacyjne, otwarte i darmowe.

OGC opracowało 28 standardów. Można podzielić je na reguły dotyczące usług sieciowych oraz na reguły danych. Usługi sieciowe („Web Services”) są oprogramowaniem serwerowym, które udostępniają zestandaryzowane dane przestrzenne. [1]

Web Map Service

Web Map Service (WMS) jest usługą sieciową, która dynamicznie udostępnia dane przestrzenne w postaci rastrów. WMS jest interfejsem pomiędzy programem użytkownika, a serwerem map, który umożliwia budowanie systemów GIS z wykorzystaniem protokołu HTTP. [2]

Server WMS obligatoryjnie udostępnia dwa polecenia:

  • Get Capabilities – serwer generuje informacje o swoich możliwościach funkcyjnych i zgromadzonych danych,
  • Get Map – pozwala użytkownikowi sprecyzować parametry oczekiwanego pliku graficznego.

Polecenie opcjonalne:

  • Get Feature Info – może nastąpić jedynie po poleceniu Get Map, pozwala klientowi otrzymać dodatkowe informacje charakteryzujące specyficzne punkty na mapie.

Aktualną wersją Web Map Service jest 1.3. W 2005 roku specyfikacja WMS stała się normą ISO o numerze 19128.
Uzyskana mapa cechuje się kartometrycznością – posiada układ współrzędnych oraz ma określony rozmiar.

Przykład działania WMS – zapytanie do serwera :

http://sdi.geoportal.gov.pl/
wms_prg/wmservice.aspx?
request=getmap
&version=1.3.0
&service=WMS
&srs=EPSG:2180
&format=image/png
&bbox=100000,123806,745803,864502
&width=1800
&height=1500
&styles=
&layers=Wojewodztwa

Bezpośredni odnośnik

Serwer otrzymał zapytanie o mapę w postaci pliku rastrowego „png” w układzie współrzędnych państwowych „1992” (EPSG:2180).
Odpowiedź serwera (w postaci pliku rastrowego – na potrzeby opracowania rozmiar mapy został dopasowany do strony):

WMS

WMS

Literatura:
1. Olejarz, Grzegorz. Możliwości realizacji symbolizacji treści kartograficznych w serwisach usług geoprzestrzennych klasy OGC. Praca magisterska. Promotor: dr inż. Artur Krawczyk. Kraków : AGH, 2009.
2. Open GIS Consortium Inc. OpenGIS Web Map Server Implementation Specification. 2006.