Generieren von DEM aus Kontur-Shapefile mit QGIS?


12

Ich möchte ein DEM aus Tiefenkonturen (Shapefile) in QGIS erstellen. Ich habe versucht, anhand dieser vorherigen Frage herauszufinden, wie das geht , insbesondere anhand des Links auf dieser Seite. Ich bin jedoch festgefahren und habe gehofft, dass jemand helfen kann.

Mein bisheriger Fortschritt / Prozess:

  1. Öffne eine neue Karte in QGIS, importiere das Kontur-Shapefile
  2. setze GRASS Extent, setze neue GRASS Mapfile usw
  3. Versuchen Sie, das Shapefile in Gras zu "importieren", indem Sie es in eine Grasdatei konvertieren, basierend auf dem Wortlaut auf dieser Seite (Suche auf Seite: "Verwendung von QGIS und Gras"): Dateiverwaltung, Importieren in Gras, Importieren von Vektoren Importieren Sie den geladenen Vektor (v.in.ogr.qgis) in Gras und zeigen Sie die Ausgabe an. Dies erzeugt eine identisch aussehende Ebene.
  4. Versuchen Sie, r.surf.contour zu verwenden - Layer kann nicht ausgewählt werden.
  5. Versuchen Sie, r.surf.contour2 für diesen Vorgang zu verwenden. Entweder stürzt QGIS ab oder es wird ein vollständiger Farbblock erstellt.

Irgendwelche Gedanken / Tipps, was ich anders machen soll?


Interpolation fehlgeschlagen, alles in GRASS & im GRASS-Plugin ausprobiert, fehlgeschlagen, könnte das Problem am Shapefile der Quelle liegen?

Aus anderen Quellen habe ich gelernt, dass 'Geometriewerkzeuge> Gültigkeit der Geometrie prüfen' auf dem Kontur-Shapefile ausgeführt wurde und dabei viele Fehler festgestellt wurden.

Ich frage mich, ob dies der Grund dafür sein könnte, dass alle meine Bemühungen, ein DEM zu schaffen, fehlschlagen.

Würde mir jemand den großen Gefallen tun, wenn ich mir mein Shapefile anschaue, um zu sehen, ob ich nur nutzlos bin, oder ob es ein Problem ist, das ein Neuling entschuldigen würde, wenn er es nicht vorwegnimmt?


Haben Sie versucht, das Intrpolations-Plugin zu verwenden? No Grass erforderlich ...
Gerardo Jimenez

Hallo Gerardo, danke für die Idee. Ich habe ohne großen Erfolg damit herumgespielt. Ich verwende 10-Meter-Konturen für ganz Irland und die Interpolation scheint nicht zu der von mir gesuchten hohen Auflösung zu führen. Sollte ich in der Lage sein, das von dieser Methode benötigte Ergebnis zu erzielen?
dez93_2000

Antworten:


6

Ich habe dieses Tutorial verwendet , um ein digitales Geländemodell (DTM) zu erstellen.

Als Eingabe werden Konturformdateien verwendet, die in Rasterkonturen konvertiert und später in DTM interpoliert werden (sieht aus wie eine fortlaufende Heatmap).

Es wird nicht QGIS verwendet, sondern nur GRASS. Möglicherweise ist dies jedoch mit dem Grass-Plugin von QGIS möglich.


Die Tutorial-Verknüpfung ist unterbrochen
MDHald

@PolyGeo Die Person, die meinen Beitrag bearbeitet und meinen Link in einen versteckten Link umgewandelt hat, hat das letzte "l" von "html" verpasst, sodass der Link jetzt auf "htm" endet. Füge das l hinzu und es wird funktionieren. Ich habe versucht, meinen Beitrag zu bearbeiten, aber ich konnte keinen Weg finden, dies zu tun. Ich hoffe, dass die Person, die den Fehler bearbeitet und begangen hat, dies korrigieren kann. Der Einfachheit halber füge ich es in diesen Kommentar ein: guter Tutorial-Link
Bogdan

Das war mein Fehler, für den ich mich entschuldige. Ich habe es jetzt behoben. Sie hätten es mit der Schaltfläche Bearbeiten unter Ihrer Antwort beheben können.
PolyGeo

@PolyGeo Entschuldigung, möglicherweise war ich nicht angemeldet. Jetzt kann ich den Bearbeitungslink sehen.
Bogdan

4

Das GRASS-Tutorial sieht aus wie das Ticket. Konvertieren Sie nach Ihren Schritten die Konturen in ein Raster zwischen 1 und 4?

Letzter Absatz im Abschnitt "Info":

Einige r.surf. * -Module möchten, dass die Eingabedaten bereits in Rasterform vorliegen. Daher rastern wir die Konturlinien mithilfe der Ebenenspalte für die Höhenwerte. Auch einige der älteren r.surf. * - Module arbeiten nur mit ganzen Zahlen. Um die Genauigkeit im Submeterbereich zu erhalten, machen wir einen kleinen Trick, bei dem wir mit einer großen Zahl multiplizieren, den Vorgang ausführen und dann erneut durch diese Zahl dividieren (bis Vermeiden Sie Terrassenbildung. Stellen Sie sicher, dass es sich um Fließkommazahlen handelt (keine Ganzzahlen).


Daher gehe ich beim Rasterisierungsprozess wahrscheinlich falsch. Soll ich den Vektor in Gras importieren oder ihn zuerst in ein Raster konvertieren? Muss ich dazu die v.to.rast.constant in grass oder die QGIS-Version verwenden?
dez93_2000

3
Die Vorgehensweise sollte folgendermaßen aussehen: Importieren Sie die Konturlinien in GRASS, konvertieren Sie den GRASS-Vektor mit v.to.rast.attr in ein Raster. Führen Sie dann r.surf.contour aus, um die Dem abzurufen.
Micha

Micha, vielen Dank für die Lösung. Ein bisschen: Gibt es Tipps, wie Sie eine höhere Auflösung für das Raster erzielen können? Es scheint keine solche Option zu geben. Siehe Bildlink mit in GRASS importierten Konturen (dünne Linien), resultierendem Raster (rote Quadrate) und DEM aus dem Raster (Farbverlauf): imgur.com/miHRcF4
dez93_2000

1
Untersuchen Sie die Einstellungen für "Region": gis.stackexchange.com/questions/15727/…
Barrett

Danke Barrett, der sich das jetzt ansieht. Wenn Sie wissen, wie groß die Zellen sind, wissen Sie es bitte! Prost.
dez93_2000

4

Ich benutze das folgende Verfahren mit großem Erfolg. Öffnen Sie die Toolbox "Processing" in QGIS, klicken Sie auf "SAGA", klicken Sie auf "Raster Creation Tools" und anschließend auf "Triangulation". Wählen Sie im Dialogfeld "Triangulation" die Formdatei mit den Datenpunkten aus, mit denen die Kontur erstellt wurde. Wählen Sie das Attributfeld mit den Höhendaten und geben Sie die Zellengröße an. Je kleiner der Wert der Zellengröße ist, desto höher ist die Auflösung. Führen Sie den Befehl aus, und die Rasterdatei wird erstellt und als Speicherebene geladen.

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.