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:
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.
Antworten:
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.
Wenn Sie die dunkelgrünen Bereiche nur um ein Pixel auf alle umgebenden Bereiche erweitern, erhalten Sie dieses Bild:
(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
und dann, um all das Ausdehnen und Verkleinern auszugleichen (um die Vorspannung zu verringern), werden wir es um ein weiteres Pixel zurück erweitern:
Die Regionsgruppierung identifiziert diese zusammenhängenden grünen Flecken:
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:
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.
quelle
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.
quelle
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.
quelle
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.
quelle