MapServer i PostGIS

MapServer obsługuje wiele typów danych. Dane może czerpać z plików (np. shape) lub bezpośrednio z baz danych. Dziś zajmę się tym drugim przypadkiem. W związku z tym, iż MapServer jest narzędziem bezpłatnym, chciałabym pokazać jak dodać do niego dane zawarte w również bezpłatnym systemie baz danych – PostGIS.

Otwieramy stosowny plik *.map i definiujemy nową warstwę (pogrubione zostały elementy, które zmieniamy wedle potrzeby):

# Uwaga!
# W taki sposób zaznaczone są komentarze,
# ignorowane przez MapServer,
# a pomocne użytkownikom MapServera ;)

LAYER
# początek warswy

NAME „nazwa_warstwy
# nazwa warstwy; służy do identyfikacji warstw

CONNECTIONTYPE postgis
# typ połączenia; zostawiamy bez zmian

CONNECTION „user=uzytkownik_bazy password=haslo dbname=nazwa_bazy host=nazwa_hosta port=5432
# dane potrzebne do nawiązania połączenia z bazą danych
# niezbędnym minimum do podania jest nazwa użytkownika i nazwa bazy danych

TRANSPARENCY 70
# element dodatkowy, nieobowiązkowy
# określenie przezroczystości warstwy

STATUS ON
# status może być on (warstwa jest włączona i pojawia się automatycznie po
# załadowaniu mapy) lub off (warstwa nie pojawia się automatycznie po
# załadowaniu mapy; dopiero użytkownik zaznacza, czy chce tą warstwę wyświetlić)

DATA „nazwa_kolumny from nazwa_tabeli using unique gid using srid=4326
# bardzo istotna linijka!
# podajemy nazwę kolumny, która zawiera informacje o obiektach przestrzennych
# w danej tabeli, np. the geom from koleje
# pozostałe elementy opcjonalne

TYPE LINE
# typ danych – poligon, linia, punkt, itp…

CLASSITEM ‚typ
# kolumna, która jest wyróżnikiem klas
# element nieobowiązkowy jeśli będziemy definiować tylko jedną klasę

CLASS
# początek pierwszej klasy; może być ich więcej
# w przypadku pliku wektorowego – musi być choć jedna
# dla plików rastrowych – element nieobowiązkowy

NAME ‚klasa1
# nazwa klasy

EXPRESSION ‚typ1
# wyrażenie z kolumny podanej w CLASSITEM

COLOR 60 170 240
# kolor wypełnienia

END
# koniec pierwszej klasy

CLASS
# początek drugiej klasy

NAME ‚klasa2
# nazwa klasy

EXPRESSION ‚typ2
# wyrażenie z kolumny podanej w CLASSITEM

COLOR 220 55 100
# kolor wypełnienia

END
# koniec drugiej klasy

END
# koniec warswy

Podany fragment kodu jest przykładem jednej z prostszych możliwości dodania do MapServera danych z bazy PostGIS. Wedle potrzeb można ten kod rozbudować w oparciu o bardziej szczegółowe zapytania do bazy danych.

Reklamy
  1. Brak komentarzy.
  1. No trackbacks yet.

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Wyloguj / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Wyloguj / Zmień )

Connecting to %s

%d blogerów lubi to: