Làm thế nào để tính toán độ cong địa hình?


29

Tôi có một raster độ cao và tôi muốn có được một số biến địa hình cơ bản, chẳng hạn như độ dốc, độ gồ ghề, khía cạnh hoặc độ cong.

Vấn đề là dường như tôi không có khả năng tính toán độ cong với nhà phân tích địa hình:

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

Bất cứ ai có thể cho tôi biết tại sao chỉ số này không có trong danh sách? Làm thế nào tôi có thể tính toán nó khác?

Câu trả lời:


20

Độ cong là một đạo hàm địa hình phức tạp để tính toán, phương trình mà bạn sử dụng phụ thuộc vào độ phân giải của dữ liệu đầu vào của bạn, vì bạn phải đảm bảo rằng kết quả độ cong bạn tính toán có thể được phân biệt với nhiễu trong dữ liệu.

Gần đây, rất nhiều nghiên cứu đã được thực hiện về các tính toán độ cong trên dữ liệu LiDAR có độ phân giải cao cho thấy rằng một tỷ lệ phá vỡ tồn tại ở độ phân giải khoảng 2 hoặc 3 mét và trên điểm này, các thuật toán khác mà tôi không quen thuộc) cần phải sử dụng . Thông tin tốt nhất về tính toán độ cong địa hình có lẽ đến từ Hurst et al 2012 và các tài liệu tham khảo trong đó.

Nguyên tắc cơ bản của tính toán độ cong, như với độ dốc và khía cạnh, là vượt qua một cửa sổ chuyển động trên bề mặt độ cao và khớp các giá trị độ cao với hàm đa thức 6 kỳ, các hệ số sẽ mang lại độ dốc, khía cạnh và độ cong của tâm ô của cửa sổ chuyển động.

ArcGIS sử dụng cửa sổ tìm kiếm 3x3 sẽ chỉ mang lại kết quả tốt ở những khu vực hoàn toàn không có thảm thực vật, khiến công cụ này trở nên vô dụng trừ khi mọi người nhận thức được giới hạn này, điều này có thể gợi ý tại sao nó không có trong QGIS.

Toán học có nguồn gốc ban đầu (tôi nghĩ) ở Evans (1980) và được đơn giản hóa trong một vài trang trong Nguyên tắc của Hệ thống thông tin địa lý (liên kết Amazon) mà tôi có thể đề xuất như một hướng dẫn tốt cho loại phân tích địa hình này ở cấp độ cơ bản.

Một cách để tính độ cong của DEM là chuyển đổi DEM thành raster ascii, đọc nó thành một mảng numpy và sau đó thực hiện khớp đa thức trên một cửa sổ di chuyển qua dữ liệu. Điều này khá dễ thực hiện, nhưng rất chậm để thực hiện và cần một lượng tối ưu hóa hợp lý (các loại hoạt động này thường được chuyển sang c ++ để tăng tốc chúng).

Để thực hiện thao tác trong QGIS, bạn có thể sử dụng plugin GRASS r.slope.aspect , cũng bị giới hạn bởi cửa sổ cố định 3x3.

Tôi nhận ra đây không phải là câu trả lời đơn giản mà bạn không nghi ngờ gì, nhưng tôi hy vọng bạn hiểu rằng độ cong là phức tạp để rút ra một cách có ý nghĩa. Tất cả tốt nhất.

Evans, I. S. (1980), An integrated system of terrain analysis and slope mapping, Z. Geomorphol., 36, 274–295.

Cảm ơn bạn cho tất cả sự phát triển! Tuy nhiên, tôi đã bị thu hút bởi thực tế là tùy chọn "Độ cong" bị thiếu trong danh sách trong nhà phân tích địa hình raster của QGIS. Là bình thường? Tôi đã cài đặt lại phiên bản QGIS 1.8 của mình để chắc chắn, nhưng nó vẫn không có ở đó: - /
Damien

1
lưu ý rằng trong GRASS, bạn có thể sử dụng 'r.param.scale' để tính toán các dẫn xuất địa hình, chẳng hạn như độ cong, với kích thước do người dùng xác định cho toán tử cửa sổ (không chỉ 3x3 mặc định).
1013346

12

Phiên bản Phân tích Raster của ESRI để tính toán độ cong có thể hữu ích để phát triển plugin cho QGIS.

Đối với mỗi ô, một đa thức bậc bốn có dạng:

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

Z = Ax²y² + Bx²y + Cxy² + Dx² + Ey² + Fxy + Gx + Hy + I

phù hợp với bề mặt gồm cửa sổ 3x3. Các hệ số a, b, c, v.v., được tính từ bề mặt này.

Mối quan hệ giữa các hệ số và chín giá trị độ cao cho mỗi ô được đánh số như thể hiện trên sơ đồ như sau: Biểu đồ giá trị độ cong Sơ đồ giá trị độ cong

A = [(Z1 + Z3 + Z7 + Z9) / 4 - (Z2 + Z4 + Z6 + Z8) / 2 + Z5] / L4

B = [(Z1 + Z3 - Z7 - Z9) / 4 - (Z2 - Z8) / 2] / L3

C = [(-Z1 + Z3 - Z7 + Z9) / 4 + (Z4 - Z6)] / 2] / L3

D = [(Z4 + Z6) / 2 - Z5] / L2

E = [(Z2 + Z8) / 2 - Z5] / L2

F = (-Z1 + Z3 + Z7 - Z9) / 4L2

G = (-Z4 + Z6) / 2L

H = (Z2 - Z8) / 2L

Tôi = Z5

Đầu ra của công cụ Curvature là đạo hàm thứ hai của bề mặt, ví dụ, độ dốc của độ dốc sao cho:

Độ cong = -2 (D + E) * 100

Thông tin đầy đủ và nguồn:

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00q90000000t000000


2
Đây là một bản tóm tắt tuyệt vời về toán học, nhưng có thể đơn giản hóa để sử dụng đa thức 6 kỳ mà không giảm chất lượng rõ rệt, nếu dữ liệu của bạn có độ phân giải dưới 3 mét.
sgrieve

5
Vì "độ cong" ESRI chỉ phụ thuộc vào D + E, nên tất cả phần còn lại là không cần thiết. Tính toán -2(D+E)*100như (100/L2)*(3*Z5 - [Z2+Z4+Z6+Z8+Z5])chỉ ra làm thế nào để có được giá trị này như ba lần giá trị ban đầu Z5, trừ đi một tổng số lân cận Z2+Z4+Z6+Z8+Z5(sử dụng bán kính 1 vòng tròn), tất cả được định cỡ lại theo 100/L2. Đó chỉ là ba thao tác lưới đơn giản.
whuber

@whuber: Ai có thể cho tôi biết x và y là gì không? và Z đại diện cho giá trị của độ cong? vậy -2 (D + E) * 100 là gì? Có thể là nếu tôi có một tệp vectơ có rất nhiều đa giác và tôi muốn biết thời tiết khu vực bên trong đa giác là lõm hoặc lồi (độ cong của mặt phẳng và mặt cắt)?
Hardik

Z = Giá trị độ cao và -2 (D + E) * 100 = Giá trị độ cong en.wikipedia.org/wiki/Curvature (Osculation_Circle)
Mapperz

6

Độ cong có thể được tính bằng mô-đun của SAGA 'Phân tích địa hình - Hình học ---> Độ dốc, Khung hình, Độ cong'

Việc tính toán có thể được thực hiện dựa trên một trong các thuật toán sau:

  • Độ dốc tối đa (Travis et al. 1975)
  • Độ dốc tam giác tối đa (Tarboton 1997)
  • Máy bay nhỏ nhất được trang bị máy bay (Horn 1981, Costa-Cabral & Burgess 1996)
  • Phù hợp với 2. Polegom Polegom (Bauer, Rohdenburg, Bork 1985)
  • Phù hợp với 2. Polegom Polegom (Heerdegen & Beran 1982)
  • Phù hợp với 2. Polegom Polegom (Zevenbergen & Thorne 1987)
  • Phù hợp với 3. Polegom Polegom (Haralick 1983)

3

LandSerf có thể làm điều này. Bạn có thể xác định kích thước cửa sổ (3 * 3, 5 * 5, 7 * 7, 11 * 11, ...) nhưng nó phải là số lẻ. phân tích đa biến. bạn có thể xem xét sự phụ thuộc quy mô của độ dốc, khía cạnh và độ cong. http://www.landserf.org/ LandSerf sẽ phù hợp với phương trình đa thức bậc hai cho các cửa sổ được xác định trước cụ thể, nhưng nếu bạn xác định kích thước cửa sổ lớn như 50 * 50 thì sẽ mất nhiều thời gian. Nó phụ thuộc vào kích thước raster của bạn và kích thước cửa sổ mà bạn xác định. Jo Wood đã viết Landserf cho luận án tiến sĩ của mình. Nó được viết bằng Java.

  • Độ cong hồ sơ
  • Kế hoạch cong
  • Độ cong kinh độ
  • Độ cong cắt ngang
  • Độ cong trung bình
  • Độ cong tối thiểu
  • Độ cong tối đa

Có thể được tính theo tỷ lệ khác nhau trong LandSerf


2

Bạn cũng có thể dùng thử SAGA GIS miễn phí (http://sourceforge.net/apps/trac/saga-gis/wiki) hoặc TAS (http://www.uoguelph.ca/~hydrogeo/TAS/index.html).


Bạn có thể cung cấp thêm chi tiết về cách các gói này hoạt động để tính toán độ cong? Các liên kết bạn đã đăng là các liên kết chung đến hai gói GIS và không liên quan trực tiếp đến câu hỏi được hỏi.
sgrieve

1
Xin lỗi vì câu trả lời rất ngắn. Trong SAGA bạn có thể tìm thấy mô-đun Phân tích địa hình - Phân tích hợp chất -> Phân tích địa hình tiêu chuẩn. Ở đó bạn có thể tính toán độ cong, độ cong hồ sơ, độ cong của kế hoạch (không có mô tả chi tiết bên trong phần mềm trợ giúp). Bạn có thể nhập dữ liệu vào SAGA dễ dàng từ asc, flt, ...
Rok

@sgrieve Trong TAS bạn có thể tính toán hồ sơ, kế hoạch và độ cong tiếp tuyến (menu: Phân tích địa hình -> Thuộc tính địa hình chính -> Các dẫn xuất bề mặt). Một lần nữa, có rất ít mô tả làm thế nào nó hoạt động.
Rok
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.