Wie extrahiere ich Bruchlinien aus einem bestimmten DEM?

10

Bruchkanten sind sehr nützlich, um ein Gelände zu beschreiben - zum Beispiel um eine genaue TIN zu erstellen.

Meine Frage ist, wie man diese Bruchkanten aus einem bestimmten DEM extrahiert.

Ich habe die Krümmung (vertikal) - Raster (mit Arcgis 10) berechnet, wobei Sie die Bruchkanten (Min / Max-Krümmung) sehen können, aber ich habe nicht herausgefunden, wie ich sie extrahieren kann, um am Ende Polylinien zu erhalten.

Was ist der Workflow, um diese Bruchkanten von einem DEM zu erhalten?

Hat jemand eine Idee von einem Workflow oder einem "Tool" oder einem Skript, das helfen kann?

Ich denke, ich bin nicht der erste / letzte Mann, der diese Aufgabe ausführen möchte :)

... in der Zwischenzeit habe ich ein Papier zu diesem Thema gefunden , das eine gute Lösung zu sein scheint, aber die große Frage bleibt: Wie kann man das auf die Praxis reduzieren?

Oder hat jemand einen anderen (einfacheren?) Ansatz mit einer Software?

sampler72
quelle
Soweit ich mich erinnern kann, QuikGrid können Bruchkanten erkennen sehr gut, obwohl es meist mit Massenpunkten arbeitet.
Jan Šimbera
Welche Art von Bruchkanten möchten Sie extrahieren? Am gebräuchlichsten ist das Abflachen von Wasser, aber für Straßen können Bruchkanten verwendet werden. Ich verstehe die Frage nicht, da die Bruchkanten vor dem Erstellen des DEM benötigt werden. Könntest Du das erläutern?
Geomatix

Antworten:

2

Ich würde es so versuchen: Suche nach einem kritischen Wert in der Krümmungsrasterdatei. Oberhalb dieses Wertes erwarten Sie eine Bruchlinie.

Dann würde ich bedingte Anweisungen im Rasterrechner verwenden, um "1" für Pixel über dem kritischen Wert und 0 unter dem kritischen Wert zu verwenden. Verwenden Sie dieses binäre Raster für die Konvertierung von Raster in Polygon in der Toolbox. Sie werden eine Antwort auf , wie man das Polygon Linie finden hier

Schließlich können Sie aus diesen Schritten ein Modell erstellen.

Riccardo
quelle
Möglicherweise müssen Sie Knabbern oder eine Ausdünnungsfunktion verwenden, je nachdem, was herauskommt, aber ich denke, die Antwort von @ butcher ist genau richtig.
Roland
2

Conrec macht das. Es wurde ursprünglich in fortran geschrieben, daher wurde es einige Male portiert.

Eine Bibliothek, an der ich in node.js, turf, gearbeitet habe , verwendet diesen Algorithmus, um diese Konturen basierend auf Punktvektordaten zu erstellen. Das Skript dafür ist ziemlich einfach und würde im Grunde sein:

var t = require('turf')
var fs = require('fs')
var z = 'elevation'
var resolution = 15
var breaks = [.1, 22, 45, 55, 65, 85,  95, 105, 120, 180]

t.load('./path/to/points.geojson', function(err, points){
  t.contour(points, z, resolution, breaks, function(err, contours){
    if(err) throw err
    fs.writeFileSync('.path/to/output.geojson', contours)
  })
})

Sie können auch natürliche Pausen erzeugen, wenn Sie keine bestimmten Pausen im Auge haben:

var t = require('turf')
var propertyName = 'elevation'
var num = 10

t.load('./path/to/points.geojson', function(err, pts){
  if(err) throw err
  t.jenks(pts, 'elevation', num, function(err, breaks){
    if(err) throw err
    console.log(breaks) // [ 11, 12, 18, 25, 29, 41, 50, 55, 76, 90, 143 ]
  })
})
Morgan Herlocker
quelle
1

Wenn Sie zu meiner VA-Lidar- Site gehen und nach einem Projekt mit Breaklines suchen. Wir haben viele.

Zum Beispiel 2010/2011 Eleven County Coastal VA Lidar. Sie sehen Links zu allen Berichten und anderen Dokumenten. Dies erklärt, wie sie die Bruchkanten normalerweise in ArcGIS erstellt haben. Probieren Sie ein paar unterschiedliche Projekte für unterschiedliche Methoden aus, aber ich kann Ihnen sagen, dass NHD häufig verwendet wird, ebenso wie Grate, die von einem DEM abgeleitet sind. Meistens befinden sich die Berichte in den Metadaten. Hier ist die eine für oben. STRG F Bruchkanten im PDF.


quelle