Algorytmy upraszczania

background image

1. Opis istniejących algorytmów upraszczania.

Charakterystyka i klasyfikacja.

Wszystkie elementy liniowe w procedurach kartograficznych wykorzystujących komputer przedstawione są za pomocą

ciągu punktów, łączonych odcinkami prostymi bądź odcinkami krzywych wyższego rzędu. Zatem w większości przypadków

problem upraszczania kształtu, jako jeden z aspektów generalizacji elementów liniowych, sprowadza się do odpowiedniej redukcji

liczby punktów tworzących daną linię. Algorytmy dostarczane z opcją upraszczania umożliwiają usuwanie niepotrzebnych

informacji o współrzędnych. Cyfrowe przedstawienie cech kartograficznych powinno być dokładne w swojej prezentacji cechy,

a także skuteczne pod względem pozostawienia najmniejszej liczby punktów koniecznych dla przedstawienia charakteru linii.

Operatory upraszczania będą wybierać właściwość lub ukształtowanie punktów do pozostawienia lub będą odrzucać punkty

zbyteczne rozważając ich znaczenie w opisaniu charakteru linii. Przy badaniu linii bierzemy pod uwagę jej krętość, którą opisują

następujące parametry: całkowita zmiana załamań; przeciętna zmiana załamań na cal; przeciętna zmiana załamań na kąt; suma

dodatnich albo ujemnych kątów; całkowita liczba dodatnich albo ujemnych kątów; całkowita liczba dodatnich albo ujemnych

przebiegów; całkowita liczba przebiegów (oczek); i średnia długość przebiegów.

Rysunek 5.1 Upraszczanie. Punkty podświetlane przez strzałkę są usuwane.

Pierwsze algorytmy upraszczania pojawiły się w połowie lat 60-tych (Tobler, 1966). W tym okresie rozwijało się wiele

technik usuwających niepotrzebne łańcuchy par współrzędnych (x, y). Możliwość automatycznego upraszczania obiektów

liniowych wykorzystywano nie tylko dla potrzeb kartografii, ale także informatyki, teledetekcji i matematyki. Stopień ich

skomplikowania był bardzo zróżnicowany, zarówno geometrycznie jak i obliczeniowo. Spośród algorytmów upraszczania obiektów

liniowych wyodrębniono pięć kategorii procesów. Klasyfikacja ta wykorzystuje ilość zdygitalizowanych linii, użytych w procesie,

jako metodę porównania (Tabela 4.1). Procesy te składały się z (a) niezależne procedury punktowe, (b) lokalne procedury

przetwarzania, (c) procedury bezwarunkowego rozszerzonego przetwarzania lokalnego, (d) procedury warunkowego rozszerzonego

przetwarzania lokalnego i (e) procedury globalne.

background image

Tabela 5.1 Klasyfikacja algorytmów używanych do upraszczania digitalizowanych linii
Kategoria 1: Niezależne algorytmy punktowe.

Nie wyjaśniają stosunków matematycznych z sąsiadującymi parami współrzędnych; działają niezależnie od topologii.

Przykłady: n-ta procedura punktowa (Tobler 1966)

przypadkowy wybór punktów ( Robinson , i inni 1988 )

Kategoria 2: Lokalne procedury przetwarzania.

Używają właściwości bezpośrednio sąsiadujących punktów do określonego wyboru lub odrzucenia.

Przykłady: odległość między punktami (McMaster 1987a)

kątowa zmiana między punktami (McMaster 1987a)

algorytm Jenksa (Jenks 1981)

Kategoria 3: Procedury warunkowego rozszerzonego przetwarzania lokalnego

Badają nie tylko bezpośrednio sąsiadujące współrzędne i oceniają grupy linii. Obszar badań zależy od odległości, kąta lub liczby

kryteriów punktowych.

Przykłady: algorytm Lang'a (Lang 1969)

algorytm Opheim'a (Opheim 1982)

algorytm Johannsen'a (Johannsen 1974)

algorytm Deveau'a (Deveau 1985)

algorytm Roberge'a (Roberge 1985)

Kategoria 4: Procedury bezwarunkowego rozszerzonego przetwarzania lokalnego

Badają nie tylko bezpośrednio sąsiadujące współrzędne i oceniają grupy linii. Obszar badań jest ograniczony przez

geomorfologiczną komplikację linii, nie przez kryteria algorytmów.

Przykład: algorytm Reumann-Witkam'a (Reumann i Witkam 1974)

Kategoria 5: Procedury globalne

Rozważają całą linię lub wyszczególniony w przetwarzaniu segment linii. Iteracyjnie wybiera krytyczne punkty. Przykład: algorytm

Douglasa (Douglas i Peucker 1973), algorytm Chrobaka (1999) uwzględniający odległość strzałki od cięciwy w segmencie

upraszczanej linii, bada długości boków trójkąta elementarnego w celu ustalenia czytelności rysunku upraszczanego.

Duża liczba algorytmów ograniczenia liczby punktów tworzących daną linię pozwala na powstanie różnych ich

klasyfikacji. Algorytmy upraszczania podzielono również na trzy zasadnicze grupy:

1) Aproksymacja linii funkcjami matematycznymi.

Metoda aproksymacji wiąże się z wyborem funkcji matematycznej będącej przybliżeniem danej linii, lub kilku funkcji

aproksymujących oddzielne fragmenty linii krzywych określonych przez ustaloną liczbę punktów. Powstało kilka

sposobów zawierających się w tej metodzie. Dwa z nich oparte są na wyznaczeniu długości odcinków krzywej, gdzie

odcinki te mają ustaloną liczbę punktów rejestracji. Pierwszy bierze pod uwagę ważone środki każdego z odcinków jako

punkty aproksymacji. Przybliżenie generalizowanej linii powstaje poprzez połączenie w ten sposób środków ważonych.

Realizacja tego sposobu daje jednak zbyt kanciastą linię i powoduje nadmierną redukcję punktów. Drugi sposób rozpatruje

w charakterze punktów aproksymacji nie ważone środki każdego zbioru kolejnych „n” punktów, gdzie „n” jest liczbą

wyznaczoną przez użytkownika. Plusem tej metody jest fakt, iż wszystkie oryginalnie zarejestrowane punkty używane są

do stworzenia zgeneralizowanego obrazu. Jednak powoduje ona częste deformacje obrazu linii w pobliżu punktów

końcowych poszczególnych odcinków. Te dwa sposoby powodują zazwyczaj duże uproszczenie linii w stosunku do

oryginału. Ich wykorzystanie w procesie generalizacji musi być bardzo ostrożne. Bardziej skomplikowany sposób bazuje

background image

na zastępowaniu punktów zarejestrowanej krzywej przez punkty końcowe zadanych odcinków różnych pseudo-hiperbol.

2) Eliminacja punktów przy pomocy jednego lub więcej kryteriów.

Metoda ta dotyczy eliminacji punktów linii w oparciu o jedno lub więcej kryteriów. Można zaznaczyć, że dla tego sposobu

opracowano zdecydowanie najwięcej rozwiązań. Podzielić je można na cztery zasadnicze grupy:

- selekcję punktów,

- sposób tolerancyjnej odległości,

- sposób tolerancyjnego pola trójkąta oraz

- sposób tolerancyjnego odchylenia kątowego punktu przegięcia krzywej.

Selekcja punktów, jako najprostsza procedura rekonstrukcji kształtu linii, polega na wyborze co n-tego punktu z całego

zbioru punktów opisującego linię, przy czym „n” jest liczbą całkowitą, z góry ustaloną przez użytkownika. Generalizacja

wg. tego sposobu ma poważne mankamenty, gdyż mogą zostać pominięte niektóre istotne punkty i w związku z tym

zatracone zostanę geograficzne cechy obiektu. Jest to procedura bardzo prosta, szybka i tania, jednak z kartograficznego

punktu widzenia nie do przyjęcia. Sposób tolerancyjnej odległości wykorzystuje jedynie te punkty, których odległość od

ostatniego wybranego punktu jest większa od ustalonej wartości. Powoduje to opuszczenie części punktów. Mankamentem

tej metody jest utrata wypukłości linii, poza tym wybór punktu początkowego decyduje o wyniku końcowym. Do grupy

tych procedur zalicza się również generalizacja metodą obliczania strzałki punktu ekstremalnego linii. Upraszczanie linii

polega na opuszczeniu kolejnych punktów, do których wystawiona strzałka jest mniejsza od wartości tolerancji.

Generalizacja bazująca na tolerancyjnych polach trójkątów sprowadza się do obliczenia pól trójkątów tworzonych

w oparciu o trzy przegięcia linii krzywej. Upraszczanie polega na opuszczaniu wygięcia krzywej, na którym opisany

trójkąt ma pole mniejsze od przyjętego za graniczne. Pola liczy się zwykle ze wzoru Herona, a tolerancje określa się

empirycznie, odpowiednio do zmiany skali.

Metoda tolerancyjnego odchylenia kątowego punktu przegięcia krzywej polega na obliczeniu różnicy kątowej

między kierunkami na dwa następujące punkty krzywej. Przy uproszczeniu wymagane jest obliczenie różnicy między

kątami i jeżeli jest ona mniejsza od wartości tolerancyjnej, usunięcia punktu środkowego.

Omówione metody nie w pełni odpowiadają wymogą generalizacji kartograficznej, ponieważ wybór punktów

dokonywany jest w sposób czysto mechaniczny, często bez uwzględnienia własności geograficznych obiektów.

3) Wykrycie i przedstawienie charakterystycznych cech reprezentowanych przez obiekt liniowy.

Obiektywna generalizacja wymaga jednoznacznego określenia geograficznych właściwości wszystkich

obiektów i zjawisk podlegających przedstawieniu na mapie i ujęcia ich w formie sformalizowanego opisu. Posłużyć mogą

do tego specjalnie dobrane kryteria istotności. Dla elementów punktowych nie stanowi to zbytniego problemu. Trudności

pojawiają się dopiero przy liniowych elementach treści mapy. Można zadać pytanie:, w jaki sposób dobierać cechy

obiektów dla kryterium istotności przy generalizacji np. sieci rzecznej, linii brzegowej, sieci drogowej czy poziomic? Na

podstawie doświadczenia można by powiedzieć, że nie jest możliwe wybranie jednolitych cech, które byłyby dla

wszystkich takich elementów. Można jednak zaryzykować pogląd, że w charakterze uniwersalnego kryterium należy

przyjąć genetyczne cechy tych obiektów. W celu obiektywnego scharakteryzowania znaczenia poszczególnych punktów

generalizowanego elementu liniowego przyjąć można kryteria uwzględniające geograficzne cechy tych punktów. Na

przykład dla linii brzegowej przyjęte kryteria można podzielić na grupy: geologiczno-genetyczne, komunikacyjne,

gospodarcze i osadnicze. Wybrane kryteria należy następnie pogrupować oraz ustalić wartość progową sum cech

charakteryzujących dany punkt, która klasyfikuje go do umieszczenia na liście punktów „istotnych”. Głównym

mankamentem tej metody jest zbyt duży nakład pracy poniesiony w przypadku jej szerszego zastosowania.

background image

Algorytmy upraszczania obiektów liniowych.

Algorytm Toblera

Tobler (1966) opracował jeden z pierwszych operatorów upraszczania w generalizacji, który wybierał, co n-tą parę

współrzędnych. Zdaniem McMastera (1987a), ta forma niezależnego algorytmu punktowego nie była możliwą do zaakceptowania

metodą uzyskiwania wyników o wysokiej jakości. Tobler opracował również procedury przetwarzania liniowego z wykorzystaniem

charakterystyk przyległych par współrzędnych dla kryterium upraszczania. Punkty, których wzajemne odległości są mniejsze niż

grubość linii użytej do przedstawienia na mapie, są eliminowane.

Algorytmy Jenks’a

Rysunek 5.2 ilustruje dwie lokalne procedury przetwarzania: odległość prostopadła i algorytmy tolerancji kątowej.

Algorytm odległości (rysunek 5.2a), opisany przez Jenks'a (1981) działa on w oparciu o triadę par współrzędnych. Po pierwsze,

linia prostopadła jest zbudowana od linii łączącej pierwszy i trzeci punkt triady do punktu pośredniego. Jeśli ta odległość jest

większa niż zdefiniowana przez użytkownika tolerancja, punkt pozostaje. Jeśli obliczona odległość jest mniejsza niż tolerancja,

drugi punkt jest eliminowany, ponieważ jest za blisko prostego odcinka linii. W istocie, ma to mały wpływ na geometrię lub

geomorfologię linii. Ilustracja (algorytm odległości prostopadłej) pokazuje kolejność kroków, w których punkt (p2) najpierw

pozostaje a później, w drugim zestawieniu punktów (p2, p3 i p4) jest eliminowany. Prawa strona ilustracji (B) przedstawia podobny

algorytm, ale z tolerancją kątową mierzoną między połączonymi wektorami p1 i p3 i p1 i p2.

Rysunek 5.2 Upraszczanie lokalne wg. Algorytmu Jenksa. Ilustracja algorytmów odległości prostopadłej i tolerancji kątowej.

Algorytm upraszczania Langa.

Algorytm Langa jest przykładem lokalnej procedury przetwarzania, jest przedstawiony na rysunku 5.3 (Lang 1969).

Algorytm Lang'a wymaga dwóch wartości tolerancji zdefiniowanych przez użytkownika: (1) liczba punktów "patrz naprzód" (n)

przy badaniu i (2) parametru tolerancji odległości (t). W tym szczególnym przykładzie, liczba punktów "patrz naprzód" jest równa 7

a tolerancja odległości jest oznaczona przez t. Utworzony zostaje wektor łączący p1 i p8 (n + 7) i obliczana jest prostopadła

odległość do wszystkich punktów pośrednich. Jeżeli którakolwiek z 6 (n - 1) pośrednich odległości jest większych niż tolerancja,

background image

wektor wybiera następny punkt, do p7 (łącząc p1 i p7). Następnie jeszcze raz, gdy co najmniej jeden z pośrednich punktów

przewyższa parametr odległości, punkt końcowy cofa się do p6, następnie przez p5 i w końcu p4. Tutaj, oba punkty pośrednie, p2
i p3, zawierają się w granicy tolerancji t, a więc p4 pozostaje, natomiast p2 i p3 są eliminowane. Rysunek 5.3 b (góra) ilustruje

następny krok w algorytmie Lang'a, gdzie p4 jest teraz początkiem a p11 (n + 7) jest końcem. Pomiar odległości prostopadłej do

punktów pośrednich (p5 do p10) daje w rezultacie w pierwszym punkcie przekroczenie parametru tolerancji i jest wybierany nowy

punkt końcowy (p10). Jednak, wszystkie punkty pośrednie między p4 i p10 - nowe punkty końcowe, mieszczą się w granicy

tolerancji i są eliminowane. Wektor jest teraz budowany między p10 i p17 (n + 7) i ten odcinek linii jest teraz przetwarzany.

W testach geometrycznych algorytmu, Lang udowodnił, że jest on doskonały w zachowaniu pierwotnych właściwości

geometrycznych linii. ( McMaster 1987b). Do kategorii warunkowych rozszerzonych przetwarzań lokalnych zaliczyć można także

podejście Opheima, które opiera się na zastosowaniu koła o średnicy x w obszarze poszukiwań. Jeśli linia znajduje się poza tym

obszarem tworzony jest nowy obszar z zachowaniem punktu końcowego.

Algorytm Reumanna – Witkama

W algorytmie Reumanna – Witkama obszar poszukiwań determinują dwie proste równoległe o zadanym odstępie. Linia

generalizowana jest przetwarzana dopóty, dopóki nie przetnie którejś z prostych równoległych. Reumann i Witkam opracowali

również algorytm tzw. rozbioru rozszerzonego, zapewniający rygorystyczną definicje linii ograniczającej. Algorytm ten jest bardzo

efektywny czasowo, ale trudny do kontroli. Można go stosować tylko przy małym zakresie tolerancji.

Algorytm upraszczania Douglas'a

Algorytm Douglas'a opiera się na podejściu całościowym. McMaster przedstawił ten algorytm jako jedną z bardziej

solidnych kartograficznych propozycji, ale też jeden z gorszych algorytmów pod względem wymaganych kosztów. Rysunek 5.4

(część A-I) przedstawia kilka całkowitych iteracji algorytmu Douglas'a. Zauważmy, że w tej próbce digitalizowana linia ma 40 par

współrzędnych. W każdej iteracji muszą być zidentyfikowane dwa punkty: punkt początkowy (lub "kotwica"), który jest ustalony i

punkt końcowy (lub "pływak"), który się przemieszcza. W 4.4a, pierwszym krokiem algorytmu, jest ustalenie

"korytarza" (przedziału) tolerancji między "kotwicą" a "pływakiem" (kolejno p1 do p40). Szerokość tego "korytarza",

przedstawiona za pomocą cieniowanego bloku, jest obliczana jako podwójna szerokość t1, zdefiniowanej przez użytkownika

wartości tolerancji. "Korytarz" ten może być geometrycznie zilustrowany jako dwa równoległe pasy o długości t1 po obu stronach

wektora (łączącego "kotwicę" i "pływak"). Oblicza się odległości prostopadłe dla wszystkich punktów pośrednich (p2 do p39) i dla

każdej iteracji a maksymalną odległość - razem z towarzyszącą parą współrzędnych - zachowuje się. Na rysunku 5.4 A, ta

maksymalna odległość jest obliczana dla p32. Ponieważ punkt ten jest na zewnątrz zdefiniowanego przez użytkownika "korytarza",

przetwarzanie jest kontynuowane a pozycja p32 jest umieszczana w stosie. W drugiej iteracji (rysunek 5.4 B), "kotwicą" pozostaje

p1, ale nowym "pływakiem" zostaje p32 - maksymalna odległość prostopadła obliczona na rysunku 5.4 A. "Korytarz" jest teraz

umieszczany pomiędzy p1 i p32 a wszystkie pośrednie odległości są obliczane. W tej iteracji, maksymalna odległość (do p23) jest

też na zewnątrz korytarza. Przetwarzanie trwa i p23 jest umieszczany w stosie. Następnie (rysunek 5.4 C) wszystkie punkty

pośrednie między "kotwicą" (p1) a "pływakiem" (p23) są przeliczane, przy czym p4 (maksymalna odległość) też jest na zewnątrz

korytarza. Po umieszczeniu p4 w stosie, powyżej p32 i p23, pomiędzy p1 i p4 proces trwa nadal (rysunek 5.4 D).

Tutaj, ponieważ p2 jest jeszcze na zewnątrz korytarza, jest wybierany nowy "pływak" (p2). Algorytm Douglas'a

wybierałby teraz p2 ("kotwica" = p1 i "pływak" = p2) jako " punkt do zachowania”, ponieważ proces nie może dłużej trwać

(rysunek 5.4 E). W tym stadium algorytmu, jest wybierana nowa "kotwica" (p2) i ostatni punkt w stosie (p4) jest wybierany jako

"pływak" (rysunek 5.4 F). Ponieważ punkt pośredni (p3) jest teraz w granicach "korytarza", jest on uważany za nieistotny

geometrycznie i jest usuwany, podczas gdy p4 jest zachowywany. Znowu nowy punkt (p23), który jest wybierany ze stosu, jest

background image

lokowany jako "pływak", podczas gdy p4 staje się nową "kotwicą". Punkt p10 jest teraz wyznaczony jako najbardziej oddalony od

linii i znajdujący się na zewnątrz "korytarza" (rysunek 5.4 G). Przy użyciu tej techniki przetwarzania sekcyjnego linii, te punkty,

które leżą w granicach "korytarza" są eliminowane, podczas gdy te obliczane jako krytyczne dla geometrii są zachowywane

(rysunek 5.4 I). Ostatecznie będzie przetwarzany odcinek linii pomiędzy p23 i p32 (rysunek 5.4 H) i p32 a p40. Ten nowy ruchomy

punkt końcowy staje się nowym początkiem i algorytm działa nadal. Procedura Douglas’a może być najbardziej odpowiednia dla

wymagań dokładnego odwzorowania jak również dla tworzenie cyfrowych baz danych dla celów analitycznych. Dla mniej

surowych wymagań — upraszczanie danych wektorowych dla wsparcia graficzno rastrowych pokazów — bardziej skuteczna

rachunkowo procedura, jak np. procedura algorytmów tolerancji Langa (1969) jest prawdopodobnie użyteczniejsza.

Rysunek 5.3 A. Algorytm Langa.

Rysunek 5.3 B. Algorytm upraszczania Lang’a. Punkty
„w przód” i tolerancja odległościowa kierują pracą algorytmu.
Prostopadłe odległości między punktem początkowym
i końcowym punktem ruchomym (punkt początkowy +
„w przód”) są obliczane, aby ocenić czy jakiekolwiek punkty
przekraczają próg odległości. Jeżeli dojdzie do tego,
wybierany jest nowy ruchomy punkt końcowy aż do
momentu, kiedy wszystkie punkty nie znajdą się w granicach
tego progu. Ten nowy ruchomy punkt końcowy staje się
nowym początkiem i algorytm działa nadal.

background image

Rysunek 5.4 cz.I. Algorytm Douglas’a.

Rysunek 5.4 cz.II. Algorytm upraszczania Douglas’a.

background image

Metoda Chrobaka

Jest to metoda upraszczania linii łamanych otwartych i zamkniętych zależna od skali mapy i sposobu prezentacji rysunku

(monitor komputera, mapa „papierowa”). W metodzie upraszczania linii zachowana jest hierarchia jej wierzchołków i ich topologia.

Hierarchię wierzchołków linii pierwotnej określa się z jej kształtu na podstawie tzw. ekstremów lokalnych wyznaczanych

w przedziałach zamkniętych (tworzonych z sąsiednich wierzchołków - niezmienników procesu przekształcenia). Pierwsze dwa

wierzchołki - niezmienniki to początek i koniec, w hierarchii o najwyższej pozycji na linii upraszczanej, następne pary

niezmienników tworzy się przy wykorzystaniu trójkąta elementarnego. Wierzchołki początku i końca tworzą zarazem bok podstawy

trójkąta a trzeci na linii upraszczanej wyznacza punkt, który z wszystkich punktów w przedziale zachowuje największą wysokość

w trójkącie i spełnia warunek dla najkrótszej długości

ε

j

trójkąta elementarnego. Znając podstawę trójkąta (utworzoną przez

początek i koniec linii), jego trzeci wierzchołek wyznacza punkt, który spełnia w trójkącie warunki:

1) długości boków są co najmniej równe najkrótszej długości

ε

j

- trójkąta elementarnego,

wysokość ma największą z możliwych długości w badanym przedziale.

Wyznaczony trzeci wierzchołek trójkąta to w hierarchii kolejny (po początku i końcu linii) niezmiennik procesu upraszczania.

W ten sposób otrzymujemy dwie pary niezmienników: początek - trzeci punkt i koniec - trzeci punkt (kolejność wyboru tzn.

początek - trzeci następnie koniec - trzeci lub odwrotnie nie ma wpływu na wynik końcowy procesu upraszczania linii). Postępując

analogicznie dla tych par (budując przedziały na linii pierwotnej) tworzymy następne pary wierzchołków - niezmienników linii

upraszczanej. Koniec etapu wyboru niezmienników - wierzchołków nastąpi wtedy gdy zachowując kolejność wynikającą

z hierarchii wierzchołków, przy użyciu trójkąta sprawdzimy wszystkie punkty należące do linii upraszczanej. Zastosowany

w procesie trójkąt pozwala zachować topologię wierzchołków linii, gdyż podstawę trójkąta zawsze wyznaczają dwa wierzchołki -

niezmienniki a trzeci zachowuje sąsiedztwo względem wierzchołków - niezmienników linii pierwotnej.

W metodzie upraszczania linii jako wzorzec do ustalania jej wierzchołków - niezmienników zastosowano elementarny trójkąt,

którego najkrótszą długość boku określa zależność:

ε

j

= s M

j

gdzie: s - miara progowa rozpoznawalności rysunku (nie zależna od skali mapy),

M

j

- mianownik skali mapy opracowywanej.

W ustalaniu wartości - s uczestniczy:

- rozpoznawalność rysunku linii pojedynczej o grubości 0,1mm, zdefiniowana przez Saliszczewa,

- wielkość piksela przyjęta przez Szwajcarskie Towarzystwo Kartograficzne,

- dokładność II grupy szczegółów liniowych na mapie, określonych normami branżowymi GUGiK.

Na podstawie określonych w punktach „a”, „b” i „c” wartości, ustalono miarę długości - s :

- s

1

= 0,5mm, dla rysunku mapy klasycznej („papierowej” jako nośniku obrazu),

- s

2

= 0,6mm, dla rysunku prezentowanego w monitorze komputera.

Po wyborze wierzchołków niezmienników linii pierwotnej, etapem następnym procesu upraszczania jest zbadanie linii

pierwotnej w przedziałach utworzonych z sąsiednich wierzchołków - niezmienników linii. W przedziałach tych łańcuch punktów

linii pierwotnej badany jest na okoliczność, kiedy można zastąpić go:

- cięciwą utworzoną przez początek i koniec przedziału,

- dwoma odcinkami łączącymi początek i koniec przedziału z nowym pośrednim punktem (nie będącym niezmiennikiem) leżącym

na jednym z boków badanego przedziału linii pierwotnej.

Metoda upraszczania w przedziale badanym zapewnia odpowiedz jednoznaczną jak przekształcić łańcuch punktów linii, otóż suma

boków gdy mniejsza jest od 2

ε

j

to po upraszczaniu łańcuch punktów reprezentuje cięciwa. Dla przypadku, gdy w przedziale suma

boków jest równa lub większa od 2

ε

j

możliwe jest utworzenie nowego punktu. Aby punkt utworzyć proces iteracyjny dla

background image

aproksymacji liniowej musi być zbieżny. Ma miejsce to wówczas, gdy w przedziale zmienne niezależne przyrostów współrzędnych

punktów sąsiednich mają stały znak. W przypadku gdy różne są znaki przyrostów współrzędnych (tzn. proces iteracyjny jest

rozbieżny), łańcuch punktów przedziału badanego linii pierwotnej po upraszczaniu zastąpi cięciwa.

Ostatnim etapem metody upraszczania linii jest ocena dokładności procesu. Jest ona możliwa dzięki następującym faktom:

- wybór i usuwanie wierzchołków są określone jednoznacznie,

- kształt linii pierwotnej (przed generalizacją) różni się najmniej od rzeczywistości, jest zatem znana zmienna losowa opisująca

najbardziej prawdopodobny przebieg linii,

- każde uogólnienie (uproszczenie) jest opisane wierzchołkami linii pierwotnej,

- określone są jednoznacznie najkrótsze odległości pomiędzy odrzucanymi punktami a pozostającymi wierzchołkami linii

pierwotnej, które to odległości są zarazem pozornymi błędami procesu.

Wykorzystując prawo przenoszenia się błędów i jeden stopień swobody dla n - odrzucanych wierzchołków, określany zostaje błąd

średni procesu linii upraszczanej. Znając dokładność danych przed upraszczaniem i błąd procesu można wyznaczyć, zgodnie

z prawem przenoszenia błędów, błąd danych po procesie.

W metodzie tej użytkownik ustala długość

ε

j

dla opracowywanej skali 1 : M

j

przez wprowadzenie do programu mianownika skali

mapy oraz jednej z wartości s

i

(i = 1, 2). Pozostałe czynności - upraszczania linii i oceny dokładności procesu - wykonywane są

automatycznie.

Hierarchiczne podejście Cromley'a do upraszczania liniowego.

Metoda upraszczania digitalizowanych linii zaproponowana przez Cromley'a (1991) nosi nazwę hierarchicznego

upraszczania liniowego. W hierarchicznym upraszczaniu liniowym, różne wersje upraszczania tych samych cech liniowych przy

różnych poziomach tolerancji są przechowywane w strukturze drzewa. Często, różne poziomy drzewa są rozwijane na podstawie

algorytmu Douglas'a. Rysunki 5.5 i 5.6 ilustrują to pojęcie. Korzystając z próbki 27 punktowej digitalizowanej linii, wektor

zbudowany jest między p1 i p27, dokładnie jak w przykładzie Douglas'a. Punkt 16, który ma największą prostopadłą odległość od

tego wektora, jest użyty do podziału początkowego odcinka linii na dwie części (odcinek1: punkty 1-16 i odcinek 2: punkty 16-27

na rysunku 5.6). W granicach drzewa, zarówno punkt 16 jak i towarzysząca jemu wartość przemieszczenia (180.27) są ulokowane
na najwyższym poziomie (rysunek 5.6). W następnej iteracji, punkt 5 jest wybierany jako mający maksymalną odległość (wartość

przesunięcia 100.82) od wektora łączącego punkty 1-16 (pierwszy odcinek), a punkt 21 jest wybierany jako mający maksymalną

odległość (wartość przesunięcia 63.45) od wektora łączącego punkty 16-27 (drugi odcinek). Ten tok postępowania jest

kontynuowany na trzecim poziomie iteracji (wybierane są punkty 2, 12, 17 i 25) i czwartym (wybierane są punkty 4, 9, 14, 18, 24

i 26). Dodatkowe trzy iteracje są przedstawione w strukturze drzewa na rysunku 5.6. Jak demonstruje Cromley, jeśli zostało

rozwinięte drzewo upraszczania, to poprawa par współrzędnych, dla wymaganego poziomu generalizacji staje już prostszym

problemem. Zachowywane są tylko te pary współrzędnych z wartością większą niż wymagana tolerancja. Gdyby na przykład,

zdefiniowana przez użytkownika tolerancja była równa 17 jednostek, wtedy byłyby zachowywane tylko punkty: 16 (wartość

atrybutu = 180.27), 5 (wartość atrybutu = 100.82), 21 (wartość atrybutu = 63.45) i punkty 2, 12 i 9. Dwa punkty końcowe (punkt 1

i punkt 27) też byłyby zachowane. Dolna część rysunku 5.5 ilustruje wersję upraszczania linii oryginalnej przy użyciu tych ośmiu

punktów.

background image

Rysunek 5.5 Hierarchiczne upraszczanie Cromley'a. Oryginalna 27- punktowa linia i jej 8- punktowa uproszczona prezentacja.

Geometria pasmowego drzewa Buttenfield.

Buttenfield twierdzi, że trudności w generalizowaniu linii wynikają z faktu, że wierzchołki są funkcjami semantyki

geometrii określonego obiektu i skali roboczej. Innymi słowy dwa identyczne obiekty geometryczne niekoniecznie musza przejść

taka samą zmianę.

Buttenfield (1991) zademonstrowała wykorzystanie oznaczenia struktury geometrycznej linii jako środek do kontroli

procesu liniowej generalizacji. Dokładne oznaczenie położenia mogłoby kierować procesem generalizacji przez rozpoznawanie

wartości różnic w tolerancji algorytmu dla każdej cechy, lub wybór topologicznego składnika cechy. Metoda ta dotyczy określenia

ilości informacji zawartej w digitalizowanej linii. Technika ta może być używana do dzielenia na odcinki linii zgodnie z ich

strukturą oznaczenia opartą na ich faktycznej geometrii, ażeby móc dostosować parametry tolerancji algorytmów upraszczania do

każdego obszaru. Podział linii w tej metodzie jest powiązany z geometrią pasmowego drzewa Buttenfield (Buttenfield 1985).

Rysunek 5.7 przedstawia tą samą linię co powyżej, podzieloną na dwie części przez maksymalną prostopadłą dwusieczną punktu

16. Początkowym poziomem geometrii jest pas 0. Na drugim poziomie, dwa odcinki linii, pas 01 i pas 02, są przetwarzane

oddzielnie. Na każdym poziomie, można obliczyć kilka miar geometrycznych. Na przykład, długość pasa (L) jest maksymalną

długością ograniczonego prostokąta. Szerokość pasa, maksymalne odchylenie i wskaźnik segmentacji też mogą być obliczone. Przy

użyciu tych miar, właściwości geometryczne pasa na każdym poziomie mogą być określone i użyte do modyfikowania wartości

tolerancji.

background image

Rysunek 5.6 Drzewo upraszczania Cromley'a. Drzewo upraszczania wygenerowane jako wynik upraszczania 27-punktowej linii

z rysunku 5.5.

Rysunek 5.7 Geometria drzewa pasmowego Buttenfield. Pasy 0, 01, i 02 generowane w wyniku powstawania maksymalnych

prostopadłych dwusiecznych na 27-punktowej linii Cromley'a.

background image

BIBLIOGRAFIA

Buttenfield B. P. (1985), Treatment of the cartographic line, „Cartographica”, No. 22, Issue 2, s. 1-26.

Buttenfield B. P. (1991), A rule for Describing line feature geometry, [w:] Map generalization: making rules for knowledge

representation, ed. B. Buttenfield i R. McMaster, John Wiley, New York, s. 150-171.

Chrobak T. (1999), Ibadanie przydatności trójkąta elementarnego w komputerowej generalizatji kartograficznej, UWND AGH,

Kraków.

Cromley R. (1991), Hierarchical methods of line simplification, „Cartography and Geographic Information Systems”, No. 18, Issue

2, s. 125-131.

Deveau T. J.(1985), Reducting the number of points in a plane curve representation, “Proceedings Auto Carto 7”, Washington DC,

s. 153-160.

Douglas D. H., Peucker T. K. (1973), Algorithms for the reduction of the number of points required to represent a digitized line or

its caricature, „The Canadian Cartographer”, No. 10, Issue 2, s. 112-122.

Jenks G. F. (1981), Lines, computers, and human frailties, „Annals of the Association of American Geographers”, No. 17, s. 1-10.

Johannsen T. M. (1974), A program for editing and for generalizing operations (For derivation of small scale map from digitized

data in 1:50000), [w:] Automation: The new trend in cartography, ed. E. Csati, The Geocartotechnical Research Department,

Budapest, s. 131-138.

Lang T. (1969), Rules for robot draughtsman, „The Geographical Magazine”, Vol. XLII, No. 1, s. 50-51.

McMaster R. B. (1987a), Automated line generalization, „Cartographica”, Vol. 24, No. 2, s. 74-111.

Opheim H. (1982), Fast data reduction of a digitized curve, „Geo-Processing”, Vol. 2, s. 33-40.

Reumann K., Witkam A. K. P. (1974), Optimizing curve segmentation in computer graphics, Proceedings. International Computing

Symposium, North-Holland Publishing Company, Amsterdam, s. 52-78.

Roberge J. (1985), A data reduction algorithm for planar curves, “Computer Vision, Graphics and Image Processing”, Vol. 29, s.

168-195.

Robinson A., Sale R., Morrison J. (1988), Podstawy kartografii, PWN, Warszawa.

Tobler W. (1966), Numerical map generalization, [w:] Michigan Inter-Univesity Community of Mathematical Geographers

Discussion paper No. 8, ed. J Nystuen, Ann Arbor, University of Michigan.


Wyszukiwarka

Podobne podstrony:
Opis istniejących algorytmów upraszczania
Opis istniejcych algorytmw upraszczania, Kartografia tematyczna
upraszczanie algorytmy
Układy Napędowe oraz algorytmy sterowania w bioprotezach
5 Algorytmy
5 Algorytmy wyznaczania dyskretnej transformaty Fouriera (CPS)
Tętniak aorty brzusznej algorytm
Algorytmy rastrowe
Algorytmy genetyczne
Teorie algorytmow genetycznych prezentacja
Algorytmy tekstowe
Algorytmy i struktury danych Wykład 1 Reprezentacja informacji w komputerze
ALGORYTM EUKLIDESA

więcej podobnych podstron