Làm cách nào để tự động vẽ các đường viền trung gian với QGIS, GRASS GIS hoặc SAGA GIS?


10

Tôi đang lập bản đồ một dãy núi dốc. Khoảng cách đường viền chính của tôi là 50 m và khoảng cách đường viền trung gian của tôi là 10 m. Ở những khu vực dốc, khoảng cách 10 m là quá nhỏ, vì vậy tôi cần rời khỏi khoảng cách 10 m và sử dụng 20 m hoặc 25 m để thay thế.

Có cách nào để thực hiện điều đó một cách tự động trong QGIS , SAGA GIS hay GRASS GIS không?

Câu trả lời:


7

Bạn có thể thử tạo một lớp phủ các đường đồng mức của mình bằng lưới độ dốc và chỉ hiển thị các đường đồng mức nhất định tùy thuộc vào giá trị trung bình của độ dốc bên dưới đường đồng mức đó.


Giải pháp thú vị! Bạn có thực hiện nối không gian để liên kết giá trị trung bình của độ dốc với các đường đồng mức không?
Simbamangu

@Simba Sử dụng số liệu thống kê khu vực. Nó có thể hoạt động tốt hơn nữa để xóa các đường đồng mức có độ dốc tối đa của vùng quá dốc.
whuber

2

Theo tôi biết, không có giải pháp tự động nào trong QGIS cho vấn đề này. Tuy nhiên, có thể sử dụng trình kết xuất dựa trên quy tắc để chỉ định các đường viền nào sẽ được vẽ và nên bỏ đi.


2

Nếu tôi hiểu chính xác vấn đề, bạn đang làm việc với một Shapefile đã có tất cả các đường viền được tạo. Bạn nên có một bảng thuộc tính với các giá trị đường viền là một trong các trường - ví dụ: 'đường viền':

ID      contour
 1         1000
 2         1010
 3         1020
 4         1030

Trong QGIS bạn có thể làm một vài điều. Một là tạo một bản sao của Shapefile, sau đó xóa các đường viền mà bạn không muốn:

  1. Bắt đầu một phiên chỉnh sửa, mở bảng thuộc tính và mở máy tính trường.
  2. Chọn 'tạo một trường mới' và biến nó thành một trường số nguyên; gọi nó là 'giữ'.
  3. Nhập vào trường 'biểu thức' một biểu thức sẽ cung cấp cho bạn số 1 nếu đáp ứng các điều kiện phù hợp - bạn muốn giữ tất cả các đường viền là bội số của 20. Do đó: contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'(loại hàm 'khớp' này không đẹp , nhưng QGIS thiếu chức năng toán học modulo sẽ làm cho điều này đẹp hơn - tôi nghĩ vậy).
  4. Nhấp vào 'OK' và bạn sẽ có một cột mới với 1 trong đó các đường viền là bội số của 20 và số 0 thì không.
  5. Tìm kiếm (chọn) tất cả các hàng trong đó keep = 0 và xóa chúng. Shapefile mới của bạn hiện đã loại trừ mọi đường viền khác.

Tùy chọn hai sẽ chỉ đơn giản là không hiển thị các đường viền mà bạn không muốn hiển thị. Đây là một chút thanh lịch.

  1. Mở hộp thoại Thuộc tính và chọn tab Kiểu.
  2. Chọn 'Dựa trên quy tắc' ở phía trên bên trái.
  3. Thêm quy tắc (nhấn nút 'Thêm') cho các đường viền phù hợp với điều kiện bạn muốn.
    • Trong hộp thoại Thuộc tính quy tắc, nhập nhãn, như '20';
    • Trong hộp Bộ lọc, nhập một biểu thức cho khớp, giống như biểu thức ở trên: contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
    • Chọn kiểu ký hiệu bạn muốn sử dụng, sau đó bấm OK và áp dụng kiểu.

Tại thời điểm này, các đường viền duy nhất hiển thị sẽ là các đường viền khớp với biểu thức.

Điều tuyệt vời ở tùy chọn thứ hai là bạn có thể tạo quy tắc cho các tỷ lệ khác nhau - bạn có thể có một quy tắc khi bạn phóng to qua một tỷ lệ nhất định, có lẽ, chỉ có các đường viền 100 mét (chỉ '% 00' trong biểu thức), và sau đó một quy tắc khác hiển thị các đường viền 20 mét khi phóng to hơn nữa, v.v.

Nếu bạn đang tìm kiếm một phương pháp để tạo một đường viền 25 m mới giữa các đường viền 100 m, thì có lẽ bạn thực sự nên tạo một tệp đường viền mới từ mô hình độ cao kỹ thuật số. Tôi không chắc chắn nếu có bất kỳ phương pháp nào có thể nội suy một cách đáng tin cậy và chính xác một đường viền 25 m mới giữa các đường viền khác.


0

Đây là cách tôi làm điều này khi tôi có một shapefile đường viền (hoặc cơ sở dữ liệu Spatialite) chứa các đường viền ở các khoảng cách dọc 10 mét và tôi muốn vẽ các đường viền xảy ra ở khoảng cách 50 mét.

Tải shapefile và truy vấn nó bằng đoạn SQL này: '(ELEV% 50) = 0'. Trong đó 'ELEV' là thuộc tính chứa dữ liệu độ cao.

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.