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