Como extrair linhas de interrupção de um determinado DEM?


10

As linhas de interrupção são muito úteis para descrever um terreno - por exemplo, para criar um TIN exato.

Minha pergunta é: como extrair essas linhas de interrupção de um determinado DEM?

Calculei a curvatura (vertical) - raster (usando o arcgis 10), onde é possível ver as linhas de interrupção (curvatura mínima / máxima), mas não descobri como extraí-las para obter polilinhas no final.

Qual é o fluxo de trabalho para obter essas linhas de interrupção de um DEM?

Alguém tem uma idéia de um fluxo de trabalho, ou de uma "ferramenta" ou skript, que pode ajudar?

Eu acho que não sou o primeiro / último homem que quer executar esta tarefa :)

... entretanto, encontrei um artigo sobre este tópico que parece ser uma boa solução, mas a grande questão permanece: como reduzir isso para a prática?

Ou alguém tem uma abordagem diferente (mais fácil?) Com algum software?


Tanto quanto me lembro, o QuikGrid pode detectar linhas de quebra muito bem, embora funcione principalmente com pontos de massa.
Jan Šimbera

Que tipo de quebra de linha você está interessado em extrair? O mais comum seria o aplainamento hidráulico, mas as linhas de interrupção podem ser usadas para estradas. Eu não entendo a pergunta, pois as linhas de interrupção são necessárias antes da criação do DEM. Você pode esclarecer?
Geomatix

Respostas:


2

Eu tentaria desta maneira: procure um valor crítico no arquivo raster de curvatura. Acima desse valor, você esperará uma quebra de linha.

Então eu usaria declarações condicionais na calculadora raster para usar "1" para pixels acima do valor crítico e 0 abaixo do valor crítico. Use esta varredura binária para conversão de varredura em polígono na caixa de ferramentas. você encontrará uma resposta sobre como alinhar o polígono aqui

afinal você pode construir um modelo a partir dessas etapas.


pode ter que usar mordidelas ou alguma função de desbaste com base no que sai, mas acho que a resposta do @ butcher está na marca.
Roland

2

A Conrec faz isso. Porém, ele foi originalmente escrito em fortran, por isso foi portado algumas vezes.

Uma biblioteca na qual trabalho no node.js, turf , usa esse algoritmo para criar esses contornos com base em dados vetoriais de pontos. O script para fazer isso é bastante simples e basicamente seria:

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

Você também pode gerar quebras naturais de empurrões se não tiver quebras específicas em 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 ]
  })
})

1

Se você for ao meu site VA lidar e procurar um projeto com Breaklines. Nós temos muitos.

Por exemplo, 2010/2011 Eleven County Coastal VA Lidar. Você verá links para todos os relatórios e outros documentos e isso explica como eles criaram os limites normalmente no ArcGIS. Tente alguns projetos diferentes para métodos diferentes, mas posso dizer que o NHD é frequentemente usado, assim como os sulcos derivados de um DEM. Principalmente os relatórios estão nos metadados. Aqui está a um para acima. CTRL F Breaklines no pdf.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.