QGIS 2.18 Las Palmas

splash-2-18

Od około 2 tygodni dostępny jest QGIS 2.18, chociaż oficjalne ogłoszenie nastąpiło dzisiaj. Otrzymał on nazwę Las Palmas, gdzie rok temu na miejscowym uniwersytecie odbyło się spotkanie autorów tej aplikacji. Jak zwykle przy tej okazji prezentujemy przegląd najciekawszych – naszym zdaniem – nowości jakie zostały wprowadzone. Zanim jednak do tego dojdziemy, kilka słów odnośnie przyszłości projektu.

Wg autorów jest to ostatnia wersja z gałęzi 2.x. Następne wydanie będzie oznaczone jako 3.0 i przyniesie sporo zmian wewnątrz aplikacji. Przede wszystkim aplikacja będzie opierać się na Python 3 oraz Qt 5. Odświeżone zostanie również wewnętrzne API, m.in. poprzez usunięcie klas oznaczonych jako przestarzałe. Zmiany te, podobnie jak przy przejściu z QGIS 1.8 na 2.0, wpłyną na pewno na działanie istniejących wtyczek. Większość z nich będzie musiała być zaktualizowana przez ich autorów. Programiści projektu zapewniają jednak, że postarają się aby zmiany te przebiegły jak najpłynniej zarówno dla autorów wtyczek i użytkowników aplikacji. Po ustabilizowaniu API i wraz ze zbliżającą się premierą nowej wersji pojawią się narzędzia i poradniki dla autorów rozszerzeń usprawniających proces migracji. Niewykluczone, że kolejna wersja QGIS pojawi się nieco później niż wskazuje na to cykl wydawniczy. Jest to zasadne ze względu na duże zmiany jakie zajdą w strukturze aplikacji, czas potrzebny na migrację dla rozszerzeń oraz konieczność przetestowania działania programu.

QGIS 2.14 Essen pozostaje wydaniem o wydłużonym wsparciu czyli LTR. Jednak ze względu na fakt, że wydana wersja 2.18 jest ostatnią z tej gałęzi również ona będzie wspierana przez dłuższy czas poprzez dostarczanie poprawek. QGIS 3.0 na pewno nie będzie wydaniem LTR, co wynika z konieczności ustabilizowania nowej gałęzi oraz migracji rozszerzeń i skryptów. Najprawdopodobniej trzeba będzie na to czekać do wersji 3.2. Należy jednak pamiętać, że QGIS jest projektem dynamicznym i cześć z tych ustaleń może w przyszłości zostać zmieniona.

Ciągle jednak wersja 3.0 to pieśń przyszłości. Zobaczmy zatem co nowego przynosi QGIS 2.18. W związku z pracą nad QGIS 3.0 aktualna wersja nie przynosi tylu zmian co wcześniejsze wydania. Nie oznacza to jednak, że nie znajdziemy tu kilku nowych ciekawych funkcjonalności oraz dużej liczby poprawek. Pełny zakres zmian można znaleźć na oficjalnej stronie projektu.

GIS Support jest brązowym sponsorem QGIS. Ze swojej strony zachęcamy do wsparcia finansowego lub programistyczengo inne organizacje i firmy wykorzystujące QGIS w swojej pracy, co pozwoli na dalszy rozwój projektu.

Etykietowanie

Etykietowanie zostało wzbogacone o możliwość zastępowania fragmentu tekstu innym ciągiem znaków. W ten sposób można np. zastąpić długie nazwy ich skrótami. Użytkownik jest w stanie zamienić Ulica na Ul. co spowoduje zastąpienie jednego tekstu drugim. W tej chwili zamiana dotyczy wszystkich wystąpień danego ciągu znaków, miejmy nadzieję, że w przyszłości dojdzie możliwość zmiany w przypadku gdy dana etykieta nie mieści się na mapie w swej podstawowej formie. Opcja ta dostępna jest w oknie etykietowania, na zakładce Tekst należy zaznaczyć Apply label text substitution i kliknąć przycisk z prawej strony. W nowym oknie można zdefiniować swoje zamienniki.

Znacznemu usprawnieniu uległ algorytm automatycznego etykietowania linii, wykorzystywany również przy wyświetlaniu tekstu poligonów z użyciem ich brzegów. Przy lokalizacji podpisów QGIS stara się unikać miejsc, gdzie linie są postrzępione lub ostro zakończone, a priorytet mają miejsca bardziej proste. Etykietowanie poligonów z użyciem brzegów pozwala teraz zakrzywiać tekst zgodnie z przebiegiem granicy.

Narzędzia geoprocessingu

W Narzędziach geoprocessingu pojawiło się kilka nowych algorytmów:

  • Point on surface – algorytm, tworzący punkt dla każdego poligonu/linii, który na pewno znajduje się w jego wnętrzu lub na krawędzi. Podobny algorytm do generowania centroidu pozwala pozwala tworzyć punkt poza obiektem, z którym jest powiązany, co czasem jest problematyczne.
  • Bounding boxes – generowanie prostokąta ograniczającego dla każdego obiektu warstwy.
  • Merge connected lines – próbuje złączyć wieloczęściowe linie, których fragmenty się stykają, w jeden obiekt. Nie powoduje on jednak połączenia dwóch stykających się linii jeśli są to dwa osobne obiekty.
  • Boundary – zwraca granice obiektów, dla poligonów są to ich zewnętrzne otoczki (w formie warstwy liniowej), dla linii punkty początkowy i końcowy (warstwa punktowa).

Znacznie usprawniono algorytm przycinania warstw wektorowych poligonami. Przykładowo wg testów autorów przycięcie miliona dróg dwoma poligonami trwa po zmianach 10 sek zamiast 5,5 min, a 5 mln punktów zostało wyodrębnionych również dwoma poligonami w czasie 30 sek. (wcześniej trwało to 50 min). Algorytm agregacji poligonów (Dissolve) pozwala na łączenie obiektów na podstawie więcej niż jednego pola z tabeli atrybutów.

Sterowniki

Jeśli często korzystacie z takich wtyczek jak OpenLayers Plugin lub QuickMapServices, wyświetlających mapy podkładowe z różnych serwisów, powinno Was zainteresować natywne wsparcie QGIS dla warstw udostępnianych w formie kafli XYZ. Aby dodać taką warstwę należy w Przeglądarce odnaleźć pozycję Tile Server (XYZ), kliknąć na niej prawym przyciskiem myszy i wybrać New connection…, podać adres i nazwę. Jeśli wszystko jest OK to po dodaniu warstwy wyświetli się ona w oknie mapy. Działanie nowego sterownika można przetestować pod adresem http://c.tile.openstreetmap.org/{z}/{x}/{y}.png, pod którym mamy dostęp do kafli OpenStreetMap. Działają również inne, poprawnie skonfigurowane serwisy – poniżej przykład wykorzystujący podkład GIS Support Inwestor:

gissupport-api_qgis

Poza standardowymi mapami ze znacznikami {x}, {y} i {z}, QGIS wspiera również podawanie lokalizacji kafla za pomocą tzw. quadkeys (oznaczane w URL jako {q}) wykorzystywane przez Bing Maps.

Jednocześnie z nowym sterownikiem dla usług kaflowych wprowadzono usprawnienia w wyświetlaniu danych tego typu danych, dotyczy to również WMTS. Wcześniej warstwa taka była wyświetlana dopiero po zakończeniu pobierania wszystkich kafli i połączeniu ich w jeden obraz. Teraz każdy fragment jest wyświetlany zaraz po pobraniu. Dodatkowo możliwe jest przerwanie w każdym momencie renderowania rastrów pobieranych przez usługi sieciowe.

Atrybuty

Ciekawe nowe funkcjonalności można znaleźć na zakładce Pola we właściwościach warstw wektorowych. Osoby tworzące dane przestrzenne w QGIS mogą ustawić automatyczne wypełnianie wartości danego atrybutu podczas jego tworzenia. Należy kliknąć na przycisk w kolumnie Rodzaj edytora wybranego pola i wpisać wartość lub formułę w Default value. Wykorzystując Edytor wyrażeń można ustawić automatyczne wstawianie powierzchni poligonu, długości linii czy daty wstawienia obiektu lub nazwy użytkownika, który to zrobił. Wykorzystując kreator wyrażeń możliwości są niema nieograniczone. Należy jednak pamiętać, że wartości są wpisywane tylko podczas dodawania nowych obiektów, w przypadku edycji nie są one aktualizowane.

Użytkownicy tworzący własne formularze do przeglądania danych z wykorzystaniem trybu graficznego otrzymali możliwość kontrolowania widoczności zakładek/grup z atrybutami. Mogą one zostać ukryte na podstawie zdefiniowanego wyrażenia. Możliwe jest również ukrycie w formularzu nazw poszczególnych atrybutów poprzez odznaczenie pola Show label.