W procesie wyceny i doborze nieruchomości porównawczych rzeczoznawcy analizują między innymi parametry geometryczne działek/nieruchomości. Mogą to być właściwości związane zarówno z ukształtowaniem terenu (rzeźba terenu, nachylenie, ekspozycja, analiza widoczności) jak i kształtem działki (w sposób zobiektywizowany np. współczynnikiem kształtu). Oba powyższe zagadnienia są bardzo ciekawe i na pewno doczekają się wpisów na tym blogu. Obecnie zajmiemy się czymś prostszym, czyli tytułową szerokością działki.
Prawo budowlane nie określa minimalnej szerokości działki budowlanej. W miejscowych planach zagospodarowania przestrzennego możemy za to znaleźć informacje dotyczące tego parametru. Często są to zapisy regulujące zasady i warunki scalania i podziału nieruchomości i określają np. minimalną szerokość frontu działki w zależności od przeznaczenia i planowanej zabudowy. Mamy także rozporządzenie “W sprawie warunków technicznych, jakim powinny odpowiadać budynki i ich usytuowanie”, które ustala minimalną odległość budynku od granicy z sąsiednią działką budowlaną (np. 4 m - w przypadku budynku zwróconego ścianą z oknami lub drzwiami w stronę tej granicy).
Podpowiem tutaj, że QGIS pozwala nam szybko zwizualizować powyższe ograniczenia na działkach poddanych analizie. Wystarczy na warstwie z naszymi działkami użyć algorytmu przetwarzania (narzędzia) otoczka i ustawić parametr odległości na wartość tej minimalnej odległości ze znakiem ujemnym (np. -4). Poniżej widoczny jest efekt narzędzia otoczka oraz dodatkowo dodana warstwa z pomiarami.

A co, jeśli musimy zmierzyć szerokość frontu kilkudziesięciu działek? Automatyzacja tego zadania, nawet przy użyciu zaawansowanego skryptu w Pythonie, jest trudna. Różnorodność kształtów działek oraz trudność w zaprogramowaniu logiki, która określi front działki i punkty pomiaru, stanowi spore wyzwanie. W związku z tym, w tym przypadku najlepszym rozwiązaniem pozostaje ręczny pomiar. QGIS znacząco przyspiesza ten proces, dzięki narzędziom do szybkiego rysowania i pomiaru linii oraz automatyzacji przypisywania atrybutów.
Jeżeli chcemy wykonać to zadanie bez użycia QGIS, to należy wyszukać interesującą nas działkę w jednym z geoportali, następnie mierzymy taką działkę za pomocą udostępnionych przez witrynę narzędzi, a później wpisujemy taką informację do właściwego wiersza arkusza kalkulacyjnego, w którym mamy zestawione transakcje. Problem z takim rozwiązaniem jest taki: 1) ręczne wyszukiwanie działek jest czasochłonne, 2) zazwyczaj nie mamy trwałego wizualnego “śladu” poprawności pomiaru, 3) trzeba przełączać się między przeglądarką a Excelem, 4) kiedy chcemy znowu przeanalizować inny aspekt działek transakcyjnych, to patrz punkt 1). Porównałem pomiar dla 100 działek ewidencyjnych. Opisaną niżej metodą to zajmuje niecałe 10 minut. Dla porównania w Geoportalu Krajowym trzeba na to poświęcić 3 razy więcej czasu.
Qgis jest programem bardzo elastycznym. Wiele zadań da się wykonać na różne sposoby. Najpierw zobaczymy wariant z wykorzystaniem funkcji aggregate(), a następnie wariant drugi z wykorzystaniem algorytmów przetwarzania (narzędzi).
Aby przeprowadzić pomiary w QGIS sposobem pierwszym wykonaj następujące kroki:
Etap 1:
Zaczynamy od przygotowania danych. Załóżmy, że mamy już warstwę wektorową ze znalezionymi działkami (np. za pomocą wtyczki GIS SUPPORT). Umówmy się, że warstwę nazwaliśmy TRANSAKCJE, a jedno z pól (inaczej atrybut lub kolumna – nazwijmy je umownie KLUCZ) zawiera unikalny dla każdej transakcji klucz – wartość. To może być nadany przez nas numer kolejny, np. 1, 2, 3… albo inny rodzaj identyfikatora, np. ID001, ID002, ID003, albo numer GUID (aka UUID). Najważniejsze, żeby był unikalny dla każdego wiersza w tabeli atrybutów (i przypomnę tu, że każdy wiersz w tabeli atrybutów reprezentuje u nas jeden obiekt, tj. jedną transakcję sprzedaży-kupna nieruchomości).
Etap 2:
Następnym krokiem jest stworzenie nowej warstwy wektorowej (może być tymczasowa, albo zapisana na dysku twardym w formacie GeoPackage). Nazwiemy tę warstwę POMIAR 1️⃣ i dodamy tylko dwa pola: KLUCZ (typ danych powinien być zgodny z typem danych użytym dla tego pola w warstwie TRANSAKCJE) 2️⃣ oraz pole SZEROKOŚĆ 3️⃣, gdzie typ danych ustawiamy na liczby całkowite (integer) 4️⃣. Ustawienie ilości znaków (Długość) możemy zostawić bez zmian. Typ geometrii ustawimy na Linia (LineString) 5️⃣, a układ współrzędnych najlepiej na EPSG:2180 ewentualnie właściwą dla badanej lokalizacji strefę układu 2000 (EPSG:2176 do 2179) 6️⃣.

Etap 3:
Wchodzimy do właściwości warstwy POMIAR i wybieramy Formularz atrybutów 1️⃣. Z listy pól 2️⃣ wybieramy pole (atrybut) SZEROKOŚĆ, a w części Domyślne zaznaczamy opcję 3️⃣ oraz wpisujemy wyrażenie $length w polu Wartość domyślna 4️⃣. To ustawienie spowoduje, że za każdym razem, jak narysujemy linię (odcinek, którym będziemy mierzyć szerokość działki), to w polu SZEROKOŚĆ automatycznie dopisze się długość tego odcinka w jednostkach mapy (w naszym przypadku w metrach).

Następnie wykonujemy dokładnie te same kroki dla pola TRANSAKCJE, z tą tylko różnicą, że w pole Wartość domyślna 4️⃣ wpisujemy poniższy kod (możemy go skopiować bezpośrednio z okienka poniżej).
|
|
W tym miejscu nie będę wchodził w szczegóły działania funkcji aggregate() (gdyż zostanie jej poświęcony jeden z przyszłych postów). W tym przykładzie wystarczy jedynie wiedzieć, że pole TRANSAKCJE każdego nowo narysowanego odcinka będzie automatycznie pobierać wartość pola KLUCZ z warstwy TRANSAKCJE, odpowiadającą działce ewidencyjnej, z którą przecina się nowo rysowany odcinek. Tego typu zabieg pozwoli na późniejsze złączenie warstwy TRANSAKCJE i warstwy POMIAR w celu przypisania naszych pomiarów konkretnym działkom.
Etap 4:
W przedostatnim etapie pozostaje nam już tylko pomierzyć wszystkie działki. Do szybkiego przejścia do kolejnych działek będziemy potrzebować zainstalować wtyczkę GO2NEXTFEATUREPLUS. Po uruchomieniu wtyczki, w oknie wybieramy warstwę (Layer) jako TRANSAKCJE, a kolejność przechodzenia (Order by:) jako KLUCZ.
Teraz z panelu warstw wybieramy warstwę POMIAR, przełączamy ją w tryb edycji i wybieramy narzędzie rysuj linię, a także narzędzie przyciągania (magnes). Rysujemy pierwszą linię po całej szerokości działki (klikamy pierwszy punkt: początek linii, klikamy drugi punkt: koniec linii oraz klikamy prawy klawisz myszy, żeby zakończyć rysowanie odcinka). Teraz naciskamy klawisz F8, który spowoduje, że wtyczka GO2NEXTFEATUREPLUS przeniesie nas do następnej działki. Mierzymy następną działkę, naciskamy F8, mierzymy, F8 itd.
W poniższym filmiku możemy zobaczyć jak wygląda taki pomiar.
Etap 5:
W ostatnim etapie pozostaje nam już tylko przyłączyć warstwę POMIAR do warstwy TRANSAKCJE.
Wchodzimy do właściwości warstwy TRANSAKCJE i wybieramy Złączenia 1️⃣, a następnie znak zielonego plusa 2️⃣. W kolejnym kroku ustawiamy wartości zgodnie z poniższym obrazkiem.

Ostatecznym rezultatem naszej pracy będzie tabela TRANSAKCJE z działkami, gdzie każdej działce będzie przypisana pomierzona przez nas szerokość.

Aby przeprowadzić pomiary w QGIS sposobem drugim wykonaj następujące kroki:
Etap 1:
Przygotowujemy warstwę POMIAR (tym razem nie musimy dodawać do niej żadnych pól/atrybutów).
Etap 2:
Przeprowadzamy działania podane w Etapie 4 poprzedniego przykładu.
Etap 3:
Na warstwie POMIAR stosujemy algorytm przetwarzania Dodaj atrybuty geometrii. Efektem działania będzie nowa warstwa o nazwie: Warstwa z dodaną geometrią.
Etap 4:
Uruchamiamy algorytm przetwarzania Złącz atrybuty według lokalizacji gdzie ustawiamy parametry w polach 1️⃣ do 5️⃣ zgodnie z poniższym obrazkiem:

Podsumowanie:
W artykule przedstawione zostały dwa sposoby szybkiego pomiaru szerokości działek. Drugi sposób pomiaru jest idealny dla początkujących, gdyż charakteryzuje się prostotą i przejrzystością. Zaawansowani użytkownicy docenią możliwości funkcji aggregate(), która w wielu scenariuszach okazuje się pomocna.