Porównywanie obszarów na zeskanowanych historycznych mapach użytkowania terenu za pomocą QGIS?


10

Jestem względnie początkującym do korzystania z GIS i korzystam z QGIS 2.0.1 w Linuksie. Mam dwie historyczne mapy, które chcę przeanalizować, które pokazują wzorce użytkowania gruntów na tym samym obszarze w dwóch różnych momentach w czasie. Mam je zeskanowane i georeferencyjne jako warstwy w jednym pliku. Obok siebie wyglądają tak:

1930 r 1950 r

Najważniejsze, co mnie interesuje, to porównanie zasięgu jasnych i ciemnozielonych obszarów między dwiema mapami. Czy jest to możliwe, a jeśli tak, jakie jest najprostsze podejście? Czy można to zrobić na podstawie analizy rastrowej? A jeśli muszę zrobić plik kształtu, jaki jest najlepszy sposób?

Co już rozważałem:

  • Ręczne rysowanie plików kształtów jako wielokątów, jak opisano w tym samouczku . To byłoby BARDZO nudne.

  • Tworzenie uproszczonych obrazów rastrowych o wysokim kontraście za pomocą wyboru kolorów, filtrów itp. Metodą prób i błędów w Gimpie i przekształcanie go w plik kształtu. Wyniki były bardzo niechlujne.


6
witamy w żmudnym, a czasem bardzo nudnym świecie GIS;) W przypadku, gdy nie trzeba digitalizować każdej paczki, ale można scalić te same kolorowe elementy, to tylko kwestia kilku godzin medytacyjnego pchania myszką. Obawiam się, że wszystkie inne eksperymenty zakończą się niepowodzeniem! Jeśli masz tylko czyste wzory kolorów w skanie, możesz je przekonwertować do skali szarości za pomocą kalkulatora rastrowego i wektoryzować je, ale pozbycie się wszystkich liter i niepotrzebnych elementów ORAZ wypełnienie ich miejsca odpowiednimi wartościami wydaje mi się niemożliwe.
Bernd V.

Dzięki @BerndV. Złe wieści, ale pomocne. A przez „pchanie myszką” masz na myśli rysowanie każdego wielokąta, całkowicie od zera, jak opisano w samouczku, z którym się łączyłem, i że próba automatycznego uzyskania przybliżenia wymagającego obszernych napraw prawdopodobnie nie jest wykonalnym skrótem?
Brian Z

3
Te obrazy są trudne do przetworzenia. Gdyby napis był jedynym problemem, łatwo byłoby go rozwiązać. Jednak po dokładnym zbadaniu (a) oryginały są problematyczne z powodu wyklucia w celu rozróżnienia rodzajów pokrycia terenu oraz (b) rozległe cyfrowe artefakty kompresji sprawiają, że kolory są znacznie mniej jednolite, niż mogłyby się wydawać. Trasa przetwarzania rastrowego byłaby łatwiejsza dzięki skanowaniu o wyższej jakości i bezstratnej kompresji.
whuber

jak sugeruje powyżej whuber dla zwykłych rastrów, łatwo jest wybrać obszary określonych obszarów za pomocą narzędzia wartości i kalkulatora rastrowego .... jeśli używasz narzędzia wartości, możesz ustalić, czy jest określona wartość dla zielonych obszarów, pozwól wiemy.
Ger

@ GeraldO'Reilly, jeśli posteryzuję drugi obraz w GIMP, ciemnozielony staje się czysto zielony (255,0,0), a jasnozielony staje się czysto żółty (255,255,0). Zdecydowanie są jednak artefakty (np. Zbłąkane piksele zieleni lub żółci tam, gdzie ich nie chcę). Wyobrażam sobie, że istnieje sposób użycia kalkulatora rastrowego i ustawienia wartości tolerancji lub jakoś wygładzenia pikseli?
Brian Z

Odpowiedzi:


9

Posteryzacja była świetnym początkiem: wyeliminowała większość artefaktów kompresji i uprościła kartografię na tyle, aby umożliwić dodatkowe czyszczenie.

Znaczna część czyszczenia kategorycznego rastra obejmuje tak zwane operacje „morfologiczne”. Obejmują one rozszerzenie jednej kategorii na sąsiadów, ponowne jej zmniejszenie i ponowne grupowanie przyległych komórek monokategoryjnych w ich własne kategorie.

Zwykle potrzebne są pewne eksperymenty, choćby dlatego, że artefakty, które mają zostać usunięte - litery, linie kreskowania itp. - będą różnić się rozmiarem pikseli między skanami. Aby rozpocząć, zilustruję, co te procedury mogą osiągnąć na przykładzie.

Oryginał po posteryzacji wygląda następująco. To siatka z trzema kategoriami pokazanymi w trzech kolorach. Naszym celem jest stworzenie siatki, w której ciemnozielone obszary są przekształcane w ciągłe fragmenty, bez nadmiaru, kropek lub nieistotnej linii, nadające się do późniejszej analizy za pomocą algebry rastrowej.

Rycina 1

Po rozwinięciu ciemnozielonych obszarów o zaledwie jeden piksel do wszystkich otaczających obszarów ten obraz daje:

Rysunek 2

(Aby uzyskać bardziej precyzyjną kontrolę, możesz ograniczyć ekspansję tylko do czarnych obszarów, jeśli pozwala na to GIS).

Aby wyeliminować wiele cienkich linii zielonych artefaktów i małych wysepek, zmniejszmy zieleń z powrotem o dwa piksele

Rycina 3

a następnie, aby zrównoważyć wszystkie rozwijające się i kurczące (aby zmniejszyć obciążenie), rozszerzymy go o jeszcze jeden piksel:

Rycina 4

Grupowanie regionów identyfikuje następujące ciągłe obszary zieleni:

Rycina 5

Każda łatka jest pokazana w innym kolorze.

Użyj operacji warunkowej lub operacji SetNull, aby wyeliminować małe poprawki. Jak malutki Przejrzałem tabelę atrybutów i odkryłem, że wiele łat zajmowało od 6 do 47 komórek; potem nastąpił skok do 422 komórek. Wybrałem próg w ramach tego skoku (100) i usunąłem wszystkie komórki z liczbą (nie wartościami!) Mniejszą niż ten próg. Oto, co pozostało, nałożone na oryginał do porównania:

Rycina 6

Osiągnęliśmy dość precyzyjną reprezentację obszarów zainteresowania, odpowiednich do wykrywania i kwantyfikacji zmian w stosunku do podobnie przetwarzanych obrazów. Wziąłem trochę pracy, ale jest to o wiele mniej pracy niż ręczne digitalizowanie oryginalnego skanu i - pod warunkiem, że skany są wykonywane w stałej rozdzielczości - mogą być półautomatyczne. (Ponieważ oryginalne mapy używają różnych kolorów, na początku musi nastąpić inteligentna interwencja, aby wybrać odpowiednie kolory do powiększania i zmniejszania.) Każdy z kroków jest również dość szybkim obliczeniem, więc prawdopodobnie możesz sobie pozwolić na zeskanowanie oryginału mapy w bardzo wysokich rozdzielczościach dla największej precyzji.


Te wyniki wyglądają bardzo dobrze, zobaczę, czy mogę je odtworzyć. Dzięki @whuber!
Brian Z

2

Uzyskanie przybliżonej warstwy rastrowej w Gimpie i przekonwertowanie jej na wektor w QGIS prawdopodobnie zaoszczędziło mi trochę czasu, ale wygląda na to, że nie ma sposobu, aby uniknąć godzin czyszczenia wynikowych plików kształtów, wierzchołek po wierzchołku.


1

Ok, może to zadziała, może nie. w zależności od jakości skanu. możesz ustawić przezroczystość określonego koloru na wartość procentową lub użyć narzędzia wartości, aby wyizolować żądany kolor.

Nie zamierzam tego przypisywać, ponieważ zadałem pytanie, zanim ... mój rzeczywiście chciał wybrać domy z otwartym mapowaniem widoku ulicy. Daj mi więc znać, jeśli to pomoże.

Zidentyfikuj wielokąty na obrazie rastrowym

Daj mi znać, jeśli to pomoże .... mogę usunąć, jeśli nie jest to w porządku.


W pewnym momencie widziałem tę odpowiedź, ale później nie mogłem jej znaleźć, więc dziękuję za wysłanie wiadomości! Myślę, że jakość tych obrazów oznacza, że ​​to podejście nie całkiem samo je obciąży, ale jest pomocne jako wskazówka na temat działania wyrażenia eval.
Brian Z

0

W Gimp masz kilka narzędzi wyboru, które mogą ułatwić ci pracę.

Myślę o niewyraźnym narzędziu do zaznaczania (wybieranie według obszaru koloru), które można ustawić tak, aby było mniej lub bardziej wrażliwe na zmiany kolorów (przy użyciu pierwszego przesłanego obrazu uzyskałem dobre wyniki z wartością progową 13,0). W ten sposób uzyskuję całkiem czysty wynik bez dużej ilości pasożytów, które następnie można łatwo i szybko usunąć wybierając narzędzie do wycierania

Po wybraniu możesz zmienić kolor tych obszarów za pomocą kontrastowych kolorów, ponownie zaimportować do GIS, a następnie wektoryzować?

Ale to nie rozwiąże problemu wskazanego przez gawędziarza o wykluciu terenu, ale skoro nie jest ich wiele, być może możesz je wektoryzować od zera bez poświęcania na to dużo czasu?


1
Niestety powyższe zdjęcia to tylko małe próbki na dużym obszarze mapy. Ale nadal mogę zastosować podobne podejście z narzędziem Kolor, wygładzając je za pomocą filtrów Rozmycie i Próg. Wyniki są dość przyzwoite na starszej mapie (górnej powyżej). I na szczęście nie obchodzą mnie tak bardzo obszary przekreślone, jak obszary solidne.
Brian Z
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.