@jul là chính xác rằng "bạn cần tính toán một bề mặt xu hướng, và sau đó trừ nó khỏi DEM ban đầu của bạn để có được một" sự hủy bỏ ", nhưng có vẻ như cần các thủ tục đơn giản hơn trong trường hợp này để" bảo toàn dấu chấm ". Nếu "bề mặt xu hướng" quá sát với DEM ban đầu, thì phần dư sẽ không giữ được các đặc tính cục bộ của bề mặt. Do đó, trong số các kỹ thuật cần tránh là tất cả các kỹ thuật cục bộ (splines, bộ lọc và - đặc biệt - giết chết) và những kỹ thuật được ưa chuộng là toàn cầu.
Một cách tiếp cận trực tiếp, đơn giản, mạnh mẽ là lắp máy bay vào DEM trong vùng lân cận của dòng sông. Điều này không có bất kỳ công nghệ ưa thích hoặc tính toán nặng nề nào, bởi vì (theo Euclid) một mặt phẳng được xác định bởi ba điểm (không cộng tuyến) trong không gian. Theo đó, chọn một điểm (x1 ', y1', z1 ') = (tọa độ, độ cao) ở đầu sông, một điểm khác (x2', y2 ', z2') ở đầu hạ lưu và điểm thứ ba tại (x0 ', y0', z0 ') khi bạn chọn cách xa đoạn đường nối hai điểm đầu tiên. (Các tọa độ này được biểu thị bằng các số nguyên tố vì chúng tôi sẽ sớm thay đổi chúng.) Điểm cuối cùng này khôngphải tương ứng với một điểm trên hoặc thậm chí gần mặt đất! Trên thực tế, một lựa chọn ban đầu tốt có thể là đặt độ cao của nó thành trung bình của độ cao thượng lưu và hạ lưu, z0 '= (z1' + z2 ') / 2.
Các tính toán được nới lỏng bằng cách lấy điểm (x0 ', y0', z0 ') làm gốc của hệ tọa độ cục bộ. Trong các tọa độ này, hai điểm khác nằm ở
(x1,y1,z1) = (x1'-x0',y1'-y0',z1'-z0')
(x2,y2,z2) = (x2'-x0',y2'-y0',z2'-z0').
Bất kỳ vị trí tùy ý, tại (x ', y') trong hệ tọa độ ban đầu, đều có tọa độ (x, y) = (x'-x0 ', y'-y0') trong hệ thống mới này. Bởi vì bất kỳ mặt phẳng nào đi qua gốc tọa độ (0,0,0) đều phải có phương trình có dạng z = a * x + b * y, điều này làm giảm vấn đề như sau:
Tìm một phương trình có dạng z = a * x + b * y cho mặt phẳng đi qua các điểm (0,0,0), (x1, y1, z1) và (x2, y2, z2).
Giải pháp độc đáo là tính toán
u = z1 y2 - z2 y1
v = x1 z2 - x2 z1
w = x1 y2 - x2 y1
trong đó
a = u/w, b = v/w.
Đã tìm thấy hai số a và b và nhớ lại hai tọa độ ban đầu x0 'và y0', một phép tính raster có dạng
[DEM] - a * ([X'] - x0') - b * ([Y'] - y0')
xóa "độ nghiêng" khỏi DEM . Trong biểu thức này [X '] đề cập đến lưới tọa độ x trong tọa độ gốc và [Y'] đề cập đến lưới tọa độ y ban đầu. DEM kết quả được đảm bảo có cùng độ cao (cụ thể là z0 ') tại mỗi ba điểm bạn chọn ban đầu; những gì nó làm ở nơi khác phụ thuộc vào chính DEM!
(Tôi hy vọng một số độc giả đánh giá cao cách tiếp cận này tránh tất cả các tham chiếu đến lượng giác hoặc máy móc hình vuông nhỏ nhất. :-)