Vergleichen von Gebieten in gescannten historischen Landnutzungskarten mit QGIS?


10

Ich bin ein relativer Anfänger in der Verwendung von GIS und verwende QGIS 2.0.1 unter Linux. Ich habe zwei historische Karten, die ich analysieren möchte und die Landnutzungsmuster in demselben Gebiet zu zwei verschiedenen Zeitpunkten zeigen. Ich habe sie gescannt und als Ebenen in einer Datei georeferenziert. Seite an Seite sehen sie so aus:

1930 1950

Das Wichtigste, was mich interessiert, ist, die Ausdehnung der hell- und dunkelgrünen Bereiche zwischen den beiden Karten zu vergleichen. Ist dies möglich und wenn ja, was ist der einfachste Ansatz? Gibt es eine Möglichkeit, dies basierend auf einer Rasteranalyse zu tun? Und wenn ich ein Shapefile erstellen muss, wie geht das am besten?

Was ich bereits bedacht habe:

  • Zeichnen von Shapefiles als Polygone von Hand, wie in diesem Tutorial beschrieben . Das wäre sehr langweilig.

  • Erstellen Sie vereinfachte, kontrastreiche Rasterbilder mithilfe von Farbauswahl, Filtern usw. durch Ausprobieren in der Gimp und konvertieren Sie diese in ein Shapefile. Die Ergebnisse waren sehr schlampig.


6
Willkommen in der mühsamen und manchmal sehr langweiligen Welt von GIS;) Falls Sie nicht jedes einzelne Paket digitalisieren müssen, sondern gleichfarbige Teile agglomerieren können, ist dies nur eine Frage von einigen Stunden meditativen Mausschiebens. Alle anderen Experimente werden scheitern, fürchte ich! Wenn Sie nur saubere Farbmuster in Ihrem Scan hatten, könnten Sie sie mit dem Rasterrechner in Graustufen konvertieren und vektorisieren, aber alle Buchstaben und unnötigen Elemente loszuwerden UND ihren Platz mit den richtigen Werten aufzufüllen, erscheint mir unmöglich.
Bernd V.

Danke @BerndV. Schlechte Nachrichten, aber hilfreich zu wissen. Und mit "Mausdrücken" meinen Sie, jedes Polygon komplett von Grund auf neu zu zeichnen, wie in dem Tutorial beschrieben, mit dem ich verlinkt habe, und dass der Versuch, automatisch eine Annäherung zu erhalten, die umfangreiche Reparaturen erfordert, wahrscheinlich keine praktikable Abkürzung ist?
Brian Z

3
Diese Bilder sind schwer zu verarbeiten. Wenn die Beschriftung das einzige Problem wäre, wäre es leicht zu lösen. Bei genauer Betrachtung (a) sind die Originale jedoch aufgrund von Schraffuren zur Unterscheidung von Landbedeckungstypen problematisch, und (b) umfangreiche digitale Kompressionsartefakte machen die Farben viel weniger einheitlich, als sie erscheinen könnten. Die Rasterverarbeitungsroute wäre mit einem Scan höherer Qualität und verlustfreier Komprimierung einfacher.
whuber

Wie Whuber oben für normale Raster vorschlägt, ist es einfach, die Bereiche eines bestimmten Bereichs mit dem Wertwerkzeug und dem Rasterrechner auszuwählen. Wenn Sie das Wertwerkzeug verwenden, können Sie feststellen, ob es einen bestimmten Wert für die Grünflächen gibt, und lassen uns wissen.
Ger

@ GeraldO'Reilly, wenn ich das zweite Bild in GIMP posterisiere, wird das Dunkelgrün zu reinem Grün (255,0,0) und das Hellgrün zu reinem Gelb (255,255,0). Es gibt jedoch definitiv Artefakte (z. B. streunende Pixel in Grün oder Gelb, wo ich sie nicht möchte). Ich stelle mir vor, es gibt eine Möglichkeit, den Rasterrechner zu verwenden und einen Toleranzwert festzulegen oder die Pixel ein bisschen zu glätten.
Brian Z

Antworten:


9

Das Posterisieren war ein guter Anfang: Es beseitigte die meisten Kompressionsartefakte und vereinfachte die Kartografie so weit, dass eine zusätzliche Reinigung möglich war.

Ein Großteil der Reinigung eines kategorialen Rasters umfasst sogenannte "morphologische" Operationen. Dazu gehören das Erweitern einer Kategorie in ihre Nachbarn, das erneute Verkleinern und das Gruppieren zusammenhängender monokategorialer Zellen in ihre eigenen Kategorien.

Normalerweise sind einige Experimente erforderlich, schon allein deshalb, weil die zu entfernenden Artefakte - Beschriftung, Schraffurlinien usw. - in ihren Pixelgrößen von Scan zu Scan variieren. Um Ihnen den Einstieg zu erleichtern, werde ich anhand des Beispiels veranschaulichen, was mit diesen Verfahren erreicht werden kann.

Das Original sieht nach der Posterisierung so aus. Es ist ein Raster mit nur drei Kategorien, die in drei Farben angezeigt werden. Wir wollen ein Raster erstellen, in dem die dunkelgrünen Bereiche zu zusammenhängenden Teilen verarbeitet werden, ohne dass es zu Überbuchungen, Punkten oder irrelevanten Linien kommt, die für eine spätere Analyse mit Rasteralgebra geeignet sind.

Abbildung 1

Wenn Sie die dunkelgrünen Bereiche nur um ein Pixel auf alle umgebenden Bereiche erweitern, erhalten Sie dieses Bild:

Figur 2

(Für eine genauere Steuerung möchten Sie möglicherweise die Erweiterung auf die schwarzen Bereiche beschränken, wenn Ihr GIS dies zulässt.)

Um viele der dünnen Linien grüner Artefakte und kleiner Inseln zu entfernen, verkleinern wir das Grün um zwei Pixel nach innen

Figur 3

und dann, um all das Ausdehnen und Verkleinern auszugleichen (um die Vorspannung zu verringern), werden wir es um ein weiteres Pixel zurück erweitern:

Figur 4

Die Regionsgruppierung identifiziert diese zusammenhängenden grünen Flecken:

Abbildung 5

Jedes unterschiedliche Patch wird in einer anderen Farbe angezeigt.

Verwenden Sie eine bedingte oder SetNull-Operation, um die winzigen Patches zu entfernen. Wie winzig? Ich habe die Attributtabelle überprüft und festgestellt, dass viele Patches zwischen 6 und 47 Zellen belegen. danach gab es einen Sprung zu 422 Zellen. Ich habe einen Schwellenwert innerhalb dieses Sprungs (100) gewählt und alle Zellen mit einer Anzahl (nicht von Werten!) Löscht, die unter diesem Schwellenwert liegt. Folgendes ist übrig geblieben, das zum Vergleich dem Original überlagert wurde:

Abbildung 6

Wir haben eine ziemlich feinkörnige Darstellung der interessierenden Bereiche erreicht, die zum Erkennen und Quantifizieren von Änderungen in Bezug auf ähnlich verarbeitete Bilder geeignet ist. Ich habe einige Arbeiten durchgeführt, aber es ist weitaus weniger Arbeit als das manuelle Digitalisieren des ursprünglichen Scans und kann - vorausgesetzt, die Scans werden mit konsistenten Auflösungen durchgeführt - halbautomatisiert werden. (Da die Originalkarten unterschiedliche Farben verwenden, muss zu Beginn ein intelligenter Eingriff erfolgen, um geeignete Farben zum Erweitern und Verkleinern auszuwählen.) Jeder der Schritte ist auch eine relativ schnelle Berechnung, sodass Sie es sich wahrscheinlich leisten können, das Original zu scannen Karten mit extrem hohen Auflösungen für höchste Präzision.


Diese Ergebnisse sehen sehr gut aus. Ich werde sehen, ob ich sie neu erstellen kann. Danke @whuber!
Brian Z

2

Das Abrufen einer ungefähren Rasterebene in Gimp und das Konvertieren in einen Vektor in QGIS hat mir wahrscheinlich einige Zeit gespart, aber es scheint nicht möglich zu sein, stundenlanges Bereinigen der resultierenden Shapefiles Scheitelpunkt für Scheitelpunkt zu vermeiden.


1

Ok, vielleicht funktioniert das, vielleicht nicht. abhängig von der Qualität des Scans. Sie können die Transparenz einer bestimmten Farbe auf einen Prozentwert festlegen oder das Wertwerkzeug verwenden, um die gewünschte Farbe zu isolieren.

Ich werde das nicht gutschreiben, da ich vorher eine Frage gestellt habe ... meine wollte eigentlich Häuser mit offener Straßenansicht auswählen. Lassen Sie mich wissen, ob es hilft.

Identifizieren Sie Polygone auf dem Rasterbild

Lassen Sie mich wissen, ob es hilft ... ich kann löschen, wenn es völlig falsch ist.


Ich hatte diese Antwort einmal gesehen, konnte sie dann aber nicht wiederfinden. Vielen Dank für die Veröffentlichung! Ich denke, die Qualität dieser Bilder bedeutet, dass dieser Ansatz es nicht ganz von alleine schneidet, aber er ist hilfreich als Hinweis darauf, wie der Ausdruck eval funktioniert.
Brian Z

0

In Gimp haben Sie einige Auswahlwerkzeuge, die Ihnen die Arbeit erleichtern können.

Ich denke an das Fuzzy-Auswahlwerkzeug (Auswahl nach Farbbereich), das Sie so einstellen können, dass es mehr oder weniger empfindlich auf Farbabweichungen reagiert (mit dem ersten hochgeladenen Bild habe ich gute Ergebnisse mit einem Schwellenwert von 13,0 erzielt). Auf diese Weise erhalte ich ein ziemlich sauberes Ergebnis ohne viele Parasiten, die dann einfach und schnell entfernt werden können, indem ein Reibwerkzeug ausgewählt wird

Nach der Auswahl können Sie diese Bereiche mit kontrastreichen Farben neu einfärben, erneut in GIS importieren und dann vektorisieren.

Dies wird jedoch nicht das Problem lösen, auf das Whuber in Bezug auf die schraffierte Landfläche hingewiesen hat. Da es sich jedoch nicht um viele von ihnen handelt, können Sie sie möglicherweise von Grund auf vektorisieren, ohne viel Zeit dafür aufwenden zu müssen.


1
Leider sind die obigen Bilder nur winzige Beispiele in einem riesigen Kartenbereich. Aber ich kann mit dem Farbwerkzeug immer noch einen ähnlichen Ansatz verwenden und ihn mit den Filtern "Unschärfe" und "Schwellenwert" glätten. Die Ergebnisse sind auf der älteren Karte (die oberste oben) ziemlich anständig. Und zum Glück interessieren mich die schraffierten Bereiche nicht so sehr wie die festen.
Brian Z
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.