Làm thế nào để bạn sử dụng v.kernel của GRASS?


12

Tôi rất bối rối về cách sử dụng v.kernel của GRASS.

Tôi có một lớp vectơ khoảng 2,5 triệu điểm. Tôi muốn tạo một bản đồ nhiệt bằng cách sử dụng v.kernel để hiển thị nồng độ, vì tôi có các trường hợp khác nhau với các điểm chồng chéo, đôi khi trùng lặp rất lớn.

Tôi đã nhận được lớp vectơ này trong GRASS và nó hiển thị tốt.

Tôi đã thử sử dụng lệnh v.kernel của GRASS dựa trên những gì tôi đã thấy ở đây và trên các diễn đàn khác, và tôi không thể làm cho nó làm bất cứ điều gì ngoài việc tạo ra một raster chỉ là một hình vuông màu hồng.

Đây là lệnh tôi đang sử dụng:

v.kernel --verbose input=master_grass7 output=master_grass7a_heatmap stddeviation=.0001

Tôi đã thay đổi mức độ ổn định cho tất cả các loại giá trị từ 1000000 đến 0,000001 và nó không có hiệu lực.

Tôi đã đọc tài liệu v.kernel nhiều lần và không thực sự hiểu nó đang làm gì. Ít nhất, các hướng dẫn là về các khái niệm bí truyền, không có gì thực tế. Tôi cũng đã kiểm tra mã nguồn và tôi cũng không thực sự hiểu nó. Có, tôi có thể đọc C. Vấn đề là nó phụ thuộc vào rất nhiều thứ được định nghĩa ở nơi khác trong GRASS GIS.

Tôi cũng đã thực hiện rất nhiều tìm kiếm trên Google và tôi không thể tìm thấy một hướng dẫn toàn diện. Tất cả những gì tôi nhận được là các bản sao rải rác của trang v.kernel doc / man hoặc những người dường như đã làm cho nó hoạt động mà không phiền phức.

Tôi cũng đã kiểm tra khái niệm ước tính mật độ hạt nhân (KDE) và thậm chí sau đó tôi không thấy cách sử dụng lệnh v.kernel. Lệnh đó dường như là một cách giải thích cụ thể của KDE; các thiết bị chuyển mạch của nó dường như không tương ứng với các khái niệm KDE chung.

Vì vậy, quay trở lại câu hỏi chính ở đây: làm thế nào một người không thân mật với phát triển sản phẩm GRASS có thể sử dụng lệnh v.kernel? Có một bản dịch ngôn ngữ đơn giản có sẵn?

Câu trả lời:


9

Các v.kernelthuật toán tính toán mật độ điểm vector cho mỗi tế bào của một bản đồ raster. Nếu cho đến nay bạn chỉ đang sử dụng các đối tượng vectơ, thì rất có thể bạn chưa thiết lập region(không chỉ xác định phạm vi, mà cả độ phân giải raster) một cách đầy đủ: Bạn có thể regionchỉ đặt một hàng và một cột có nghĩa là v.kernelthuật toán sẽ chỉ tính mật độ hạt nhân dưới dạng một giá trị trên toàn bản đồ. Cài đặt vùng như thế này sẽ ổn nếu bạn không sử dụng bất kỳ bản đồ raster nào, vì bản đồ vector không quan tâm đến cài đặt độ phân giải. Kiểm tra cài đặt khu vực của bạn bằng cách sử dụng g.region -pvà nếu rowscolsđược đặt thành 1, hãy tăng độ phân giải bằng cách sử dụng

g.region rows=<number of rows> cols=<number of columns>

hoặc là

g.region res=<length>

trong đó <length>độ dài của một ô phân giải trong các đơn vị bả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.