Làm thế nào để trích xuất các điểm dừng từ một DEM nhất định?


10

Breaklines rất hữu ích để mô tả một địa hình - ví dụ để xây dựng một TIN chính xác.

Câu hỏi của tôi là, làm thế nào để trích xuất các điểm dừng này từ một DEM nhất định?

Tôi đã tính toán độ cong (dọc) - raster (sử dụng arcgis 10), trong đó bạn có thể thấy các điểm dừng (độ cong tối thiểu / tối đa), nhưng cuối cùng tôi đã không tìm ra cách trích xuất chúng để lấy polylines.

Quy trình làm việc để có được những điểm dừng này từ DEM là gì?

Có ai có ý tưởng về một quy trình làm việc, hoặc một "công cụ", hoặc skript, có thể giúp gì không?

Tôi nghĩ tôi không phải là người đầu tiên / người cuối cùng muốn thực hiện nhiệm vụ này :)

... trong khi đó tôi đã tìm thấy một bài báo về chủ đề này dường như là một giải pháp tốt, nhưng câu hỏi lớn vẫn là: làm thế nào để giảm bớt điều đó để thực hành?

Hoặc có ai có cách tiếp cận khác (dễ hơn?) Với một số phần mềm không?


Theo như tôi có thể nhớ, QuikGrid có thể phát hiện các điểm dừng rất tốt, mặc dù nó chủ yếu hoạt động với điểm số lớn.
Jan Šimbera

Những loại breaklines nào bạn quan tâm để giải nén? Phổ biến nhất sẽ là san phẳng nhưng có thể sử dụng các điểm dừng cho đường. Tôi không hiểu câu hỏi vì các điểm dừng là cần thiết trước khi tạo DEM. Bạn có thể làm rõ?
geomatix

Câu trả lời:


2

Tôi sẽ thử theo cách này: tìm kiếm một giá trị quan trọng trong tệp raster cong. Trên giá trị này, bạn sẽ mong đợi một breakline.

Sau đó, tôi sẽ sử dụng các câu lệnh có điều kiện trong máy tính raster để sử dụng "1" cho các pixel trên mức quan trọng và 0 dưới giá trị tới hạn. Sử dụng raster nhị phân này để chuyển đổi raster sang đa giác trong hộp công cụ. bạn sẽ tìm thấy câu trả lời về cách đưa đa giác vào dòng ở đây

sau khi tất cả bạn có thể xây dựng một mô hình từ các bước này.


có thể phải sử dụng chức năng nibble hoặc một số chức năng pha loãng dựa trên những gì phát ra, nhưng tôi nghĩ câu trả lời của @ butcher là đúng.
Roland

2

Conrec làm điều này. Ban đầu nó được viết bằng fortran, vì vậy nó đã được chuyển qua một vài lần.

Một thư viện mà tôi đã làm việc trong node.js, turf , sử dụng thuật toán này để tạo các đường viền này dựa trên dữ liệu vectơ điểm. Kịch bản để làm điều này khá đơn giản và về cơ bản sẽ là:

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

Bạn cũng có thể tạo ra các khoảng nghỉ tự nhiên nếu bạn không có thời gian nghỉ cụ thể:

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

Nếu bạn đi đến trang web VA của tôi và tìm kiếm một dự án với Breaklines. Chúng tôi có nhiều.

Ví dụ: 2010/2011 Eleven County VA venar. Bạn sẽ thấy các liên kết đến tất cả các báo cáo và các tài liệu khác và điều này giải thích cách họ thực hiện các điểm dừng thường trong ArcGIS. Hãy thử một vài dự án khác nhau cho các phương pháp khác nhau nhưng tôi có thể nói với bạn rằng NHD thường được sử dụng, cũng như các đường vân có nguồn gốc từ DEM. Chủ yếu là các báo cáo là trong siêu dữ liệu. Đây là một trong những ở trên. CTRL F Breaklines trong pdf.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.