7. Analiza danych przestrzennych

Transkrypt

7. Analiza danych przestrzennych
7.
Analiza danych przestrzennych
Treścią niniejszego rozdziału będą analizy danych przestrzennych. Analiza, ogólnie
mówiąc, jest procesem poszukiwania (wydobywania) informacji ukrytej w zbiorze danych.
Najprostszym przypadkiem analizy danych przestrzennych jest wzrokowa ocena ich
rozmieszczenia na podstawie zobrazowania w postaci tradycyjnej mapy. W opisanym
przypadku analizy dokonuje człowiek patrząc na mapę. W systemach informacji
przestrzennej zadanie to wykonuje komputer przy pomocy odpowiedniego oprogramowania
na podstawie zbioru danych, który zgodnie z przyjętym modelem opisuje rzeczywistość.
Analiza realizowana jest z zastosowaniem metod matematycznych, które stają się
„wzrokiem” komputera pozwalającym wyciągać wnioski. Wzrok komputera zbudowany jest
z elementarnych procedur matematycznych dostarczających odpowiedzi na najprostsze
pytania związane z relacjami obiektów w przestrzeni typu: czy odcinki się przecinają, po
której stronie odcinka leży punkt, czy punkt leży wewnątrz wielokąta itp.. W rezultacie
wymienione elementarne procedury po wykonaniu stosownych obliczeń dają odpowiedzi na
postawione pytania. Początkiem każdej analizy jest wybór danych, na podstawie których w
dalszym jej etapie wykonane zostaną odpowiednie działania prowadzące do otrzymania
wyniku. Podejmowane w trakcie analizy działania mogą dotyczyć:
¾ geometrii obiektów,
¾ atrybutów opisowych,
¾ powiązania geometrii z atrybutami opisowymi.
Wynikiem analizy może być jedynie wybranie interesującej nas (spełniającej warunki
zadania) grupy obiektów, utworzenie nowych obiektów lub modyfikacja atrybutów obiektów
istniejących.
W dalszej części niniejszego rozdziału przedstawimy kilka najistotniejszych analiz
istotnych z punktu widzenia systemu informacji o terenie.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.1.
74
Wyszukiwanie
W zagadnieniu wyszukiwania obiektów możemy wyróżnić dwa podstawowe typy zadań.
Wyodrębnienie typów wynika z charakteru stawianych warunków.
•
Pierwszą (najprostszą) grupę zadań stanowi wyszukiwanie obiektów spełniających
jedynie warunki dotyczące atrybutów opisowych. Jako przykład takiego zadania możemy
uznać znalezienie wszystkich budynków o określonej funkcji i liczbie kondygnacji. W
przypadku takiego wyszukiwania odpowiedź czy obiekt spełnia warunki czy nie jest
informacja zapisana w samym obiekcie bez konieczności analizowania związku z innymi
obiektami bazy danych.
•
Drugą grupę zadań stanowią sytuacje kiedy wśród postawionych warunków koniecznych
do wybrania obiektu znajdują się warunki przestrzenne np. konieczność położenia obiektu
wewnątrz zadanego wielokąta.
Rys. 7.1. Ilustracja wyszukiwania obiektów spełniających określone warunki
Pełne możliwości wyszukiwania uzyskuje się więc łącząc oba z wymienionych typów
wyszukiwania uzyskując wyszukiwanie z zastosowaniem warunków przestrzenno-opisowych.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
75
Przy badaniu położenia obiektu wewnątrz obszaru warunek może być postawiony tak, że
cały badany obiekt musi się mieścić w dozwolonym obszarze lub wystarczające jest aby tylko
jego cześć wchodziła do zadanego obszaru.
A
B
Rys. 7.2. Ilustracja położenia obiektów względem obszaru zapytań.
Czasami wręcz wymagamy aby wybierane obiekty były przecinane przez granice obszaru
lub pewien zadany obiekt liniowy. Szczególnie jest to istotne przy planowaniu inwestycji
liniowych w kontekście znalezienia właścicieli działek, których inwestycja będzie dotyczyła.
Rys. 7.3. Ilustracja wybierania obiektów powierzchniowych przeciętych obiektem liniowym
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.2.
76
Pomiary wielkości geometrycznych
Pomiary wielkości geometrycznych są najprostszym przypadkiem analizy danych
przestrzennych. Na podstawie wskazywanych punktów pomiarowych obliczane są wartości
mierzonej wielkości (kąta, odległości, domiaru, itp.). Zadanie najczęściej realizowane jest w
trybie interaktywnym, podczas prezentacji graficznej gdzie operator dokonuje wskazania
punktów kursorem graficznym.
Rys. 7.4. Ilustracja pomiaru wielkości geometrycznych
Wskazanie graficzne punktu służy do znalezienia w bazie danych właściwego punktu i
wykorzystanie do obliczenia wartości jego współrzędnych. Powyższy rysunek ilustruje
pomiar odległości od narożnika budynku do drzewa. W przypadku dużego zagęszczenia
punktów w okolicy wskazanej kursorem mogą nastąpić problemy z wyborem właściwych
punktów z tego też względu w takich sytuacjach należy dokonywać odpowiedniego
powiększenia aby nie było wątpliwości co do identyfikacji punktów.
Innym wariantem pomiaru jest sytuacja kiedy nie daje się jednoznacznie wskazać
konkretnego punktu a możemy jedynie określić w sposób przybliżony lokalizację punktu
używając kursora. Sytuacja taka jest zbliżona do pomiaru na mapie klasycznej, gdzie punkt
przyłożenia przymiaru (tak jak i właściwe ustawienie kursora) jest sprawą subiektywnej
oceny mierzącego. Sytuację przedstawiono na powyższym rysunku pokazując pomiar
odległości między wzrokowo (subiektywnie) wyznaczonymi środkami budynków.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.3.
77
Nakładanie obszarów
Zadanie niniejsze często bywa również nazywane nakładaniem warstw czy
przecięciem warstw. Jest dosyć powszechnie wykorzystywane w systemach informacji o
terenie do różnych analiz. Efektem działania funkcji jest utworzenie nowej grupy obiektów
będących częścią wspólną obiektów wchodzących do zbiorów P i Q.
A
1
B
1
2
+
C
4
B
2
=
3
P
A
3
C
4
Q
Rys. 7.5. Ilustracja nakładania obszarów
Innym efektem działania funkcji może być jedynie modyfikacja atrybutów
poszczególnych obszarów. Jeśli przyjmiemy, że zbiór P zawiera kontury klasyfikacji gruntów
a zbiór Q działki ewidencyjne to realizując zadanie nałożenia obszarów uzyskujemy tzw.
rozliczenie użytków w działkach. Z punktu widzenia tego właśnie zadania wcale nie jest
konieczne aby tworzyć nowe obiekty powierzchniowe. Istotne jest jedynie obliczenie jakie
powierzchnie poszczególnych konturów znajdują się w poszczególnych działkach.
1
2
3
4
A
1,1250
1,7018
2,8268
B
1,0745
2,7747
0,8739
4,7231
C
1,3486
2,4754
0,6261
4,4501
Suma
1,1250
4,1249
5,2501
1,5000
12,0000
Na analogicznej zasadzie można dokonać analizy obszarów zabudowy na działkach
ewidencyjnych nakładając działki na budynki.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.4.
78
Agregacja
Funkcja agregacji łączy ze sobą obiekty charakteryzujące się równością wybranych
atrybutów tworząc obszary po zewnętrznym obrysie przylegających do siebie obiektów.
Rys. 7.6. Ilustracja agregacji
Przykładem wykorzystania funkcji może być automatyczne utworzenie granic
obrębów na podstawie działek posiadających wpis o numerze obrębu z którego pochodzą.
Analogicznie możemy utworzyć granicę gminy na podstawie obrębów itp..
7.5.
Wycinanie
Funkcja wycinania powoduje wybranie (przycięcie) wskazanej treści przez obiekt
ograniczający. Schematycznie działanie wycinania przedstawiono na poniższym rysunku.
+
Rys. 7.7. Ilustracja wycinania
=
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.6.
79
Tworzenie stref buforowych
Funkcja służy do wyznaczenia stref buforowych wokół wskazanych obiektów. Strefy
buforowe mogą być tworzone wokół punktów, linii i obszarów.
Rys. 7.8. Ilustracja stref buforowych
Strefy buforowe można również tworzyć wokół grupy obiektów agregując ze sobą
powstałe wcześniej strefy indywidualne.
Rys. 7.9. Ilustracja strefy buforowej wokół grupy punktów
7.7.
Analizy
Analizy sieciowe
sieciowe
to
zestaw
funkcji
działających
na
obiektach
liniowych
umożliwiających określenie np. najkrótszej drogi pomiędzy dwoma punktami czy
optymalizacja trasy przejazdu pomiędzy wieloma punktami.
A
B
Rys. 7.10. Ilustracja analizy sieciowej
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
8.
80
Podstawowe narzędzia matematyczne analiz przestrzennych
Niniejszy
rozdział
służy
ogólnemu
przedstawieniu
metod
matematycznych
wykorzystywanych w zagadnieniu analizy przestrzennej. Człowiek patrzący na dane
przestrzenne przedstawione na mapie bez problemu ocenia czy jakieś linie się przecinają, czy
punkty leżą wewnątrz wielokątów. W przypadku danych zapisanych w postaci numerycznej,
odpowiedzi nie są takie proste i wymagają wielokrotnych operacji logicznych i
obliczeniowych. Poniżej przedstawiono ogólny zarys dwóch podstawowych operacji w
analizie danych przestrzennych tj. wyznaczaniu punktu przecięcia się dwóch odcinków oraz
badaniu położenia punktu względem wielokąta. Szczegółowe przedstawienie tematyki można
znaleźć w pracy [Izdebski 1999].
8.1.1. Wyznaczenie punktów przecięcia odcinków
Z punktu widzenia wzorów rozwiązujących w niniejszym zadaniu są one analogiczne
jak w przypadku zadania wyznaczenia punktu przecięcia dwóch prostych, którego
rozwiązanie przedstawiamy poniżej.
D
A
P
C
B
Rys. 8.1. Ilustracja zadania przecięcia dwóch prostych określonych dwoma punktami
Parametryczne równanie prostej przechodzącej przez punkty P1 i P2 ma postać:
X = X P1 + t ⋅ ∆X P1 P2
Y = YP1 + t ⋅ ∆YP1 P2
gdzie t ∈ ( −∞ , +∞ ) . Przy czym na uwagę zasługuje fakt, że w punkcie P1( t = 0 ), natomiast w
punkcie P2(t = 1). Rozwiązanie zadania możemy przedstawić następującymi wzorami
X P = X A + t1∆X AB
YP = YA + t1∆YAB
lub
X P = X C + t 2 ∆X CD
YP = YC + t 2 ∆YCD
gdzie t1 =
t2 =
∆X AC ∆YCD − ∆YAC ∆X CD
∆X AB ∆YCD − ∆YAB ∆X CD
− ∆X AC ∆YAB + ∆YAC ∆X AB
∆X AB ∆YCD − ∆YAB ∆X CD
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
81
O ile jednak w zadaniu wyznaczenia punktu przecięcia prostych wystarczające było
obliczenie współrzędne punku przecięcia, to w zadaniu niniejszym należy jeszcze dodatkowo
sprawdzić, czy wyznaczony punkt przecięcia należy do obu odcinków, co jest konieczne aby
mógł być uznany za rozwiązanie.
Rys. 8.2. Różne położenie punktu przecięcia dwóch prostych
Wprowadzenie opisanego warunku eliminuje więc rozwiązania leżące na przedłużeniu
jednego lub obu odcinków rysunek 8.2 b i c. Z faktu tego wynika również możliwość
znacznego
usprawnienia
procedury
obliczającej
przecięcia,
gdyż
jeszcze
przed
uruchomieniem zasadniczych obliczeń, można dokonać ewentualnego sprawdzenia, czy
rozwiązanie istnieje. Możemy w tym celu wykorzystać parametry t1 i t2, z których można
stwierdzić czy punkt przecięcia będzie należał do obu przecinanych odcinków. Ma to miejsce
jeżeli:
( 0 ≥ t1 ≤ 1) and ( 0 ≥ t 2 ≤ 1)
Zanim jednak zaczniemy obliczać cokolwiek powinniśmy sprawdzić relacje
prostokątów
ograniczających
dla
odcinków
co
może
wyeliminować
wykonywania jakichkolwiek obliczeń.
X1max
Y1max
A
D
C
X1min
Y1min
X2max
Y2max
X2min
Y2min
B
Rys. 8.3. Przecięcie dwóch odcinków z badaniem prostokątów ograniczających
konieczność
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
82
8.1.2. Wyznaczenie położenia punktu względem wielokąta
Ustalanie
położenia
punktu
względem
wielokąta
podobnie
jak
obliczanie
współrzędnych punktu przecięcia dwóch odcinków, jest jedną z najczęściej wykonywanych
czynności w procesie analizy danych przestrzennych. Celem rozpatrywanego zadania jest
ustalenie położenia punktu o zadanych współrzędnych P(x,y) względem wielokąta Q
określonego ciągiem punktów. Zakładamy przy tym, że wielokąt jest wielokątem zwykłym,
co oznacza, że jego boki się nie przecinają.
B
A
Rys. 8.4. Możliwe przypadki położenia punktu względem wielokąta
Najbardziej znanymi algorytmami sprawdzania położenia punktu względem wielokąta są:
algorytm sumy kątów oraz algorytm parzystości. Wymienione algorytmy różnią się między
sobą dosyć znacznie. W obydwu przypadkach jednak badanie powinno się rozpoczynać od
określenia położenia względem prostokąta ograniczającego. Wystarczy bowiem, że punkt
leży poza tym prostokątem aby stwierdzić, że leży również poza wielokątem.
B
A
Rys. 8.5. Wstępne badanie położenia punktu wewnątrz wielokąta
Warunkiem koniecznym bowiem położenia punktu wewnątrz wielokąta jest jego położenie
wewnątrz prostokąta ograniczającego.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
83
8.1.3. Algorytm sumy kątów
Algorytm sumy kątów wykorzystuje, do ustalenia położenia punktu względem
wielokąta, sumę kątów pomiędzy półprostymi poprowadzonymi z badanego punktu P przez
wierzchołki wielokąta Pi. Obliczaną sumę kątów możemy zapisać jako:
n
S = ∑ αi
i =1
gdzie α i jest kątem między półprostymi PPi a PPi+1.
a)
P1
b)
P2
P2
P5
P5
P6
P1
P
P6
P
P4
P3
P4
P3
Rys. 8.6. Testowanie położenia punktu względem wielokąta algorytmem sumy kątów:
a) punkt wewnątrz wielokąta; b) punkt na zewnątrz wielokąta
Jeśli punkt znajduje się wewnątrz wielokąta wtedy S=360° (rysunek 8.3a) w
przeciwnym wypadku S=0° (rysunek 8.3b). Oczywiście podane wartości sumy kątów należy
sprawdzać w pewnym przedziale dokładności numerycznej ±ε. Obliczane kąty α i traktujemy
jako dodatnie, jeśli uporządkowanie ramion jest zgodne z ruchem wskazówek zegara i jako
ujemne jeśli jest kierunek uporządkowania jest przeciwny do ruchu wskazówek zegara.
8.1.4. Algorytm parzystości
Algorytm parzystości opiera się na założeniu, że jeżeli jeden z punktów leży na
zewnątrz wielokąta, a drugi wewnątrz, wtedy odcinek łączący te punkty przecina boki
wielokąta nieparzystą liczbę razy. Jeżeli natomiast oba punkty leżą na zewnątrz wielokąta,
odcinek je łączący albo nie przecina żadnego boku, albo przecina je parzystą liczbę razy.
Zasada algorytmu przedstawiona jest na poniższym rysunku 8.4.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
punkt
zewnętrzny
punkt
zewnętrzny
punkt
wewnętrzny
Rys. 8.7. Ogólna zasada działania algorytmu parzystości
84