Thực hiện khai thác đê từ DEM?


14

Tôi có DEM là 1x1 mét và đám mây điểm LiDAR ban đầu trong .las, mà DEM được tạo ra. Tôi cần trích xuất đê sông (điểm cao nhất của đê) sang tính năng vectơ (điểm, đa tuyến).

Bất kỳ ý tưởng cho thuật toán hoặc một công cụ hiện có?

Các đê có màu xám nhạt trên hình thứ 1 và bên dưới là hình ảnh đám mây điểm cho khu vực ví dụ với đê. Đường tâm sông màu xanh lam.

Đê có màu xám nhạt

Đám mây điểm với đê

Bất kỳ công cụ để trích xuất các tính năng tuyến tính từ DEM?

Tôi tin rằng tôi cần một cái gì đó như Mô-đun khai thác tính năng không gian của ENVI (trang 7), nhưng không có phần của ENVI, vì tôi không thể mua được :)


1
Bạn đang sử dụng hệ thống gis nào?
Hornbydd

Thương mại- ArcInfo 10 (SA, 3D, Tiện ích mở rộng địa lý). Nguồn mở - bất kỳ.
Tomek

1
Tôi đã nghĩ đến một số ý tưởng, giả sử bạn có một đường trung tâm vectơ cho dòng sông của mình rằng bạn có thể đệm cái này và sử dụng cái này để che dấu DEM và ngưỡng các giá trị. Điều này giả định đê chạy song song với kênh sông. Vì vậy, những gì bạn từng sử dụng logic cần phải đủ thông minh để nắm bắt đê khi chúng trở nên "lùi lại" từ dòng sông.
Hornbydd

Thật không may, đê không phải luôn luôn chạy song song với kênh sông và thường là rất xa kênh sông. Tôi đã nghĩ rằng sẽ có một số algorytm như khung xương? Để trích xuất (các) tính năng tuyến tính từ DEM, với tính năng như vậy tôi có thể lấy được điểm cao nhất trong đám mây điểm.
Tomek

2
Tôi đi qua bài báo này, có thể giúp đỡ? asprs.org/a/publications/pers/2004journal/december/iêu
Hornbydd

Câu trả lời:


8

Tất cả phụ thuộc vào nơi bạn vẽ đường. Bất kể, vấn đề này có vẻ như có thể được giải quyết dễ dàng bằng cách sử dụng các chức năng hình thái có sẵn trong Phân tích không gian, đặc biệt là ngưỡng (được thực hiện với "<" và ">" hoạt động cục bộ) và "Vùng nhóm" để xác định và trích xuất các thành phần.

Mặc dù tôi không có quyền truy cập vào DEM để minh họa, nhưng hình ảnh đầu tiên gần như đủ tốt để thực hiện công việc. Ví dụ, đây là một chuỗi các phiên bản được tập hợp lại của dải màu đỏ (với các giá trị được chia tỷ lệ từ 0,0 = đen đến 1,0 = trắng), bắt đầu từ ngưỡng 0 và di chuyển từ trái sang phải, từ trên xuống dưới, tăng dần 0,02:

Đê

(Những hình ảnh này được thu nhỏ để tái tạo ở đây: tất cả các phân tích được thực hiện ở độ phân giải của hình ảnh gốc.)

Các đê xuất hiện xung quanh ranh giới của khu vực màu đen khi bắt đầu hàng thứ hai (ngưỡng = 0,08). Khi bắt đầu hàng thứ ba (ngưỡng = 0,16), đê tạo thành các thành phần của riêng chúng (màu xanh lam đậm) và tại thời điểm đó có thể dễ dàng được trích xuất thành lưới hoặc đa giác riêng biệt (và ranh giới của chúng có thể được trích xuất dưới dạng polylines sau bước phát hiện cạnh ). Chỉ các đê rộng nhất còn lại ở hàng cuối cùng (ngưỡng = 0,24 trở lên). Bạn sẽ cần phải chọn một ngưỡng thích hợp để có được chính xác những gì bạn muốn.

Trong DEM ban đầu, độ cao đóng vai trò cường độ, vì vậy các quy trình này phải có hiệu quả tương tự với chính DEM. Nếu DEM có phạm vi rộng (bao gồm các đặc điểm cách xa sông hoặc đê), thì các tính năng có liên quan có thể được chọn là các đặc điểm liền kề với thành phần mà tính năng sông nằm.

Các vùng không mong muốn mỏng được tìm thấy bởi Regiongroup có thể được loại bỏ bằng cách áp dụng một sự xói mòn nhỏ (bộ đệm âm) theo sau là sự giãn nở tương đương (bộ đệm dương). Các vùng không mong muốn nhỏ có thể được loại trừ theo tiêu chí kích thước (tổng số ô hoặc diện tích). Có thể tìm thấy các điểm cao nhất trên mỗi đê (nếu đó là những gì thực sự cần thiết) bằng cách so sánh DEM với các lưới tối đa theo vùng (sử dụng đê làm vùng).


Ngẫu nhiên, chuỗi hình ảnh này được tạo ra trong Mathicala 8. Dưới đây là các lệnh cho những người có thể muốn theo đuổi tùy chọn này.

original = Import["http://i.stack.imgur.com/gV7Du.jpg"];
{r, g, b} = ColorSeparate[original];
frames = ParallelTable[Colorize[MorphologicalComponents[Binarize[r, t/100]], 
                       ColorFunction -> "ThermometerColors"], {t, 0, 30, 2}];
Rasterize @ TableForm[Partition[frames, 4]]

Tổng thời gian đồng hồ (sau khi nhập hình ảnh) là 0,94 giây, trong đó một nửa là cần thiết để thu nhỏ và xuất tất cả 16 hình ảnh: các hoạt động hình thái có xu hướng nhanh (điều này tốt, vì LIDAR DEM có thể rất lớn).


Toàn bộ khái niệm nghe có vẻ ổn, nhưng tôi không hiểu "... ngưỡng (được thực hiện với phần" <"và"> "hoạt động cục bộ)". Làm thế nào để bạn đạt được điều này với bộ công cụ Generalization (SA)?
Tomek

@Tomek Một không. Xem bộ công cụ logic .
whuber

9

Tôi đọc về nhiều thuật toán cho công việc (ví dụ: theo liên kết @Hornbydds ).

Tôi đã thử vài appoches và kết quả tốt nhất trong trường hợp của tôi mang lại Phân tích địa hình tiêu chuẩn từ SAGA. Đây là những gì tôi đã làm và tại sao:

Đê thường là tính năng cao nhất trong vùng lân cận của kênh sông, vì vậy tôi đã biến chúng thành các kênh bằng cách lật DEM (MapAlgebra DEM * -1 hoặc để phóng đại độ dốc -10). Từ thời điểm này, tôi có thể sử dụng bất kỳ bộ công cụ thủy văn nào (công cụ thủy điện ArcHydro, HEC-GeoRas hoặc SAGA). Tôi đã chọn SAGA / Phân tích địa hình - Phân tích tổng hợp / Phân tích địa hình tiêu chuẩn vì nó tạo ra River Network với một vài cú nhấp chuột. Mạng lưới sông là những gì tôi muốn đạt được, vì nó tạo ra polylines, chỉ ra tuyến đường tốt nhất cho dòng nước, trong trường hợp đê ngược - cho điểm cao nhất của chúng.

Tập tin hình dạng được sản xuất là một chút lộn xộn (nhiều polylines nhỏ hơn), nhưng sau một số kết quả điều chỉnh là thỏa đáng. Một phiền toái khác là 1 đê được làm từ 300 polylines ngắn, nhưng tôi nghĩ rằng tôi sẽ tìm ra cách nào đó để xử lý việc này.

Đây là ví dụ kết quả:

nhập mô tả hình ảnh ở đây

Tất nhiên đây là giải pháp khá khó khăn và có lẽ tôi sẽ nghiên cứu vấn đề này thêm, nhưng tôi nghĩ rằng nó đáng để chia sẻ.


5

Một số kết hợp sau đây với DEM ban đầu sẽ giúp làm nổi bật thông tin raster bạn muốn và loại bỏ phần còn lại. Chúng có thể được thực hiện ở các quy mô và kích thước lân cận khác nhau để tinh chỉnh hiệu ứng.

  • Lấy mẫu lại, rồi Vùng lân cận -> Bộ lọc: High Pass
  • Bề mặt -> Độ cong
  • Vùng lân cận -> Thống kê tiêu điểm: Độ lệch chuẩn
  • "Chiều cao tương đối" = (Pixel) - (Vùng lân cận -> Thống kê tiêu cự: Trung bình)
  • Đảo ngược, Lấy mẫu lại, rồi Vùng lân cận -> Dòng tiêu điểm

Sau khi làm điều này, phân loại lại và các đường viền sẽ đưa ra một phác thảo hợp lý tốt của chính đê. Nếu đê có độ dốc bằng phẳng và bạn muốn vùng phủ sóng rộng hơn, bạn cũng có thể thử một cái gì đó như tổng độ cong và độ dốc, được chia tỷ lệ theo một số lượng, hoặc thậm chí làm các đường viền dốc riêng rẽ và liên kết chúng lại với nhau.

Dưới đây là hướng dẫn về trích xuất các vectơ vector từ DEM raster bằng cách sử dụng Spatial Analyst, nên được áp dụng cao:


Tôi sẽ xem xét sự kết hợp của các công cụ - có thể cho một số kết quả tốt. Cảm ơn. Như tôi thấy, hướng dẫn ESRI mô tả quá trình +/- như tôi đã làm :) Tuyệt vời. Cảm ơn.
Tomek

0

Tôi nghĩ rằng đây có thể chỉ là một phần của câu trả lời nhưng có lẽ bạn có thể bắt đầu bằng cách tạo các đường viền / đa giác ra khỏi hình ảnh của mình theo các khoảng thời gian nhất định / dựa trên các giá trị độ cao. Tôi đã nghĩ rằng đê nên có giá trị độ cao cao hơn và do đó nếu chuyển đổi DEM của bạn thành đa giác, bạn có thể thấy rằng các khu vực bạn quan tâm được biểu thị bằng đa giác centain. Bạn cũng có thể bắt đầu bằng cách phân loại lại DEM và xem liệu điều đó có tạo ra kết quả mà bạn đang theo đuổi không. Nếu bạn có dữ liệu hình ảnh khác bao gồm khu vực bạn quan tâm hãy thử thêm nó vào phân loại hình ảnh của bạn và xem nó có giúp ích không. Chúc may mắn!!

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.