QGIS News #10 Nowości w QGIS Server

QGIS to nie tylko aplikacja desktopowa, którą opisujemy regularnie. Dosyć dużą popularnością cieszy się również komponent serwerowy umożliwiający łatwe wystawienie danych przestrzennych w formie usług np. WMS i WFS. Również ta część aplikacji przeszła w ostatnich miesiącach znaczne zmiany.

Wiele funkcjonalności zostało w dużym stopniu lub nawet w całości (jak WMS) napisane od nowa. Pozwoliło to w dużej mierze oczyścić kod ze starych zależności oraz uprościć API. Zmieniony został sposób implementacji poszczególnych usług OGC. Od tej pory każda jest napisana jako wtyczka C++, dzięki czemu zarządzanie, testowanie i dodawanie nowych usług jest znacznie prostsze.

Ciekawie prezentują się zmiany dotyczące integracji z Pythonem. Już od QGIS 2.8 możliwe jest tworzenie wtyczek, które pozwalają manipulować żądaniem np. dodając znak wodny do wynikowego obrazu. Razem z refaktoryzacją API dodano pełną jego obsługę z poziomu Pythona. Biorąc pod uwagę opisaną powyżej obsługę usług w formie wtyczek, możliwe również będzie dodawanie nowych usług z poziomu tego języka.

Od QGIS 2.4 renderowanie poszczególnych warstw może odbywać się w osobnych wątkach co znacząco przyspiesza czas wyświetlenia końcowej mapy. Do tej pory jednak z tych możliwości nie korzystał QGIS Server. W najnowszej edycji aplikacji to się zmieni i do generowania map wykorzystywanych będzie więcej niż pojedynczy rdzeń procesora, co powinno znacząco skrócić oczekiwanie użytkowników.

Poza zmianami czysto użytkowymi wprowadzono również zmiany infrastrukturalne. W szczególności dotyczy to testowania kodu QGIS Server oraz zgodności ze specyfikacjami OGC. Baza testów zawiera również kilka ataków opartych na SQL Injection, które sprawdzają bezpieczeństwo aplikacji. Dużo wysiłku jest również kierowanych na optymalizowanie działania i wyszukiwanie miejsc, które powodują wolniejsze działanie QGIS Servera.


Z pozostałych informacji warto dodać, że do wersji developerskiej udostępnianej poprzez instalator OSGeo4W trafiły zmiany, o których wspominaliśmy w poprzednim wpisie. Stało się to możliwe dzięki aktualizacji frameworka Qt do wersji 5.9. Teraz każdy zainteresowany może przetestować nową funkcjonalność bez konieczności własnoręcznej kompilacji.

Na koniec jeszcze nutka historii. Pod tym linkiem można obejrzeć ekrany powitalne QGIS od wersji 0.1, która w lipcu br. obchodziła 15 urodziny!