Bagaimana cara mengekstrak breaklines dari DEM yang diberikan?

10

Breaklines sangat berguna untuk menggambarkan medan - misalnya untuk membangun TIN yang tepat.

Pertanyaan saya adalah, bagaimana cara mengekstrak breaklines ini dari DEM yang diberikan?

Saya menghitung kelengkungan (vertikal) - raster (menggunakan arcgis 10), di mana Anda dapat melihat breaklines (min / max-curvature), tetapi saya tidak tahu cara mengekstraknya untuk mendapatkan polyline pada akhirnya.

Apa alur kerja untuk mendapatkan terobosan ini dari DEM?

Apakah ada yang punya ide tentang alur kerja, atau "alat", atau skript, yang dapat membantu?

Saya pikir saya bukan orang pertama / terakhir yang ingin melakukan tugas ini :)

... sementara itu saya telah menemukan sebuah makalah tentang topik ini yang tampaknya menjadi solusi yang baik, tetapi pertanyaan besarnya tetap: bagaimana mengurangi itu menjadi praktik?

Atau ada yang berbeda (lebih mudah?) Dengan beberapa perangkat lunak?

sampler72
sumber
Sejauh yang saya ingat, QuikGrid dapat mendeteksi breaklines dengan sangat baik, meskipun sebagian besar bekerja dengan titik massa.
Jan Šimbera
Jenis terobosan apa yang Anda minati? Yang paling umum adalah hydro-flattening tetapi breaklines dapat digunakan untuk jalan. Saya tidak mengerti pertanyaan karena breaklines diperlukan sebelum membuat DEM. Bisakah Anda mengklarifikasi?
geomatix

Jawaban:

2

Saya akan mencobanya dengan cara ini: mencari nilai kritis dalam file raster kelengkungan. Di atas nilai ini Anda akan mengharapkan terobosan.

Kemudian saya akan menggunakan pernyataan bersyarat dalam kalkulator raster untuk menggunakan "1" untuk piksel di atas kritis dan 0 di bawah nilai kritis. Gunakan biner raster ini untuk konversi raster ke poligon di kotak alat. Anda akan menemukan jawaban tentang cara membuat poligon berbaris di sini

setelah semua Anda dapat membangun model dari langkah-langkah ini.

Riccardo
sumber
mungkin harus menggunakan nibble atau fungsi penipisan berdasarkan apa yang keluar, tapi saya pikir jawaban tukang daging ada di sasaran.
Roland
2

Conrec melakukan ini. Itu awalnya ditulis dalam fortran, jadi telah diangkut sekitar beberapa kali.

Sebuah perpustakaan yang telah saya kerjakan di node.js, turf , menggunakan algoritma ini untuk membuat kontur ini berdasarkan data vektor titik. Script untuk melakukan ini cukup sederhana dan pada dasarnya adalah:

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

Anda juga dapat membuat jenks natural breaks jika Anda tidak memiliki jeda spesifik:

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

Jika Anda pergi ke situs Lidar VA saya dan mencari proyek dengan Breaklines. Kami punya banyak.

Misalnya 2010/2011 Sebelas Kabupaten Pesisir VA Lidar. Anda akan melihat tautan ke semua laporan dan dokumen lain dan ini menjelaskan bagaimana mereka membuat terobosan biasanya di ArcGIS. Coba beberapa proyek berbeda untuk metode yang berbeda tetapi saya dapat memberitahu Anda NHD sering digunakan, seperti punggung bukit yang berasal dari DEM. Sebagian besar laporan ada dalam metadata. Berikut adalah salah satu untuk di atas. CTRL F Breaklines dalam pdf.


sumber