Standardowo, kiedy chcemy otrzymać informację z tabel, które mają ze sobą relację używamy składni

SELECT atrybut_tabela1, atrubut_tabela2 FROM tabela1 AS tab1 JOIN tabela2 AS tab2 ON tab1.primaty_key = tab2.foregin_key

Sprawa się komplikuje jeśli chcemy od razu otrzymać format geoJSON z bazy postGIS, ponieważ samo zapytanie o jedną warstwę wprowadza już trochę zamętu. Można podejrzeć tę składnię w innym moim artykule. Poniżej przedstawiam efekty moich starań, żeby uzyskać JSONa na różne sposoby.

Nawiązując do podobnego artykułu, który napisałem o ściągnięciu geoJSON'a z Geoservera, chciałbym przybliżyć bezpośrednią metodę ospytania bazy danych przez SQL. PostGIS posiada bardzo bogaty zasób modułów ułatwiających przestrzenne zapytania bazy danych, które można wpleść w język SQL.

Tematem tego wpisu będzie pozyskanie i obsługa geojsona z bazy danych PostGIS za pomocą zapytania ajax do Geoservera do usługi WFS.

GeoJSON jest formatem bardzo wdzięcznym do przetwarzania przez skrypty np. Python albo JavaScript. Dokładna struktura geoJSONa jest opisana na Wikipedii. Ten plik tekstowy zawiera dane o typie geometrii, współrzędnych oraz atrybutów w postaci pary KEY: VALUE (np. "name": "Piotr Szukała"). Format ten jest powszechnie wykorzystywany przy programowaniu webowym, ponieważ łatwo jest go pozyskać z bazy danych, można go parsować, zawiera atrybuty i geometrię i jest zrozumiały po otwarciu w np notatniku. Ponadto jego główną zaletą jest to, że możemy go wyświetlić jako obiekty wektorowe w aplikacji webowej za pomocą np. OpenLayers albo LeafLet.