¿Cómo extraer líneas de corte de un DEM dado?

10

Las líneas de corte son muy útiles para describir un terreno, por ejemplo, para construir un TIN exacto.

Mi pregunta es, ¿cómo extraer estas líneas de corte de un DEM dado?

Calculé la curvatura (vertical) - trama (usando arcgis 10), donde puedes ver las líneas de ruptura (curvatura mínima / máxima), pero no descubrí cómo extraerlas para obtener polilíneas al final.

¿Cuál es el flujo de trabajo para obtener estas líneas de corte de un DEM?

¿Alguien tiene una idea de un flujo de trabajo, o una "herramienta", o skript, que puede ayudar?

Creo que no soy el primer / último hombre que quiere realizar esta tarea :)

... mientras tanto, he encontrado un documento sobre este tema que parece ser una buena solución, pero la gran pregunta sigue siendo: ¿cómo reducir eso para practicar?

¿O alguien tiene un enfoque diferente (más fácil?) Con algún software?

sampler72
fuente
Hasta donde puedo recordar, QuikGrid puede detectar líneas de corte muy bien, aunque en su mayoría funciona con puntos de masa.
Jan Šimbera
¿Qué tipo de líneas de ruptura te interesa extraer? Lo más común sería el aplanamiento hidráulico, pero las líneas de corte se pueden usar para carreteras. No entiendo la pregunta ya que las líneas de corte son necesarias antes de crear el DEM. ¿Puedes aclarar?
geomatix

Respuestas:

2

Lo intentaría de esta manera: busque un valor crítico en el archivo ráster de curvatura. Por encima de este valor, esperará una línea de corte.

Luego, usaría declaraciones condicionales en la calculadora ráster para usar "1" para píxeles por encima del valor crítico y 0 por debajo del valor crítico. Use este ráster binario para la conversión de ráster a polígono en la caja de herramientas. encontrará una respuesta sobre cómo hacer que el polígono se alinee aquí

Después de todo, puede construir un modelo a partir de estos pasos.

Riccardo
fuente
puede que tenga que usar nibble o alguna función de adelgazamiento en función de lo que salga, pero creo que la respuesta de @ butcher está en el blanco.
Roland
2

Conrec hace esto. Sin embargo, originalmente se escribió en fortran, por lo que ha sido portado varias veces.

Una biblioteca en la que he estado trabajando en node.js, turf , usa este algoritmo para crear estos contornos basados ​​en datos de puntos vectoriales. El guión para hacer esto es bastante simple y básicamente sería:

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)
  })
})

También puede generar jenks pausas naturales si no tiene pausas específicas en mente:

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
fuente
1

Si va a mi sitio VA LIDAR y busca un proyecto con Breaklines. Tenemos mucho.

Por ejemplo, 2010/2011 Eleven County Coastal VA Lidar. Verá enlaces a todos los informes y otros documentos y esto explica cómo hicieron las líneas de corte generalmente en ArcGIS. Pruebe algunos proyectos diferentes para diferentes métodos, pero puedo decirle que el NHD se usa a menudo, al igual que las crestas derivadas de un DEM. La mayoría de los informes están en los metadatos. Aquí está el uno para arriba. CTRL F Líneas de corte en el pdf.


fuente