Làm sơ đồ nhiệt từ dữ liệu dòng trong QGIS?


12

Tôi muốn thực hiện phân tích mật độ dòng cho dữ liệu dòng của mình, dựa trên một thuộc tính.

Tùy chọn bản đồ nhiệt (phân tích mật độ hạt nhân) dường như chỉ có thể cho dữ liệu điểm.

Tôi đã cố gắng chuyển đổi dữ liệu dòng của mình thành các điểm và tạo một bản đồ nhiệt, nhưng các thuộc tính cho trọng số đã bị mất khi chuyển đổi.

Đây là phân tích mật độ dòng được thực hiện với ArcGIS. Tôi đang tìm cách làm điều tương tự với QGIS.

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

Có thể thực hiện phân tích mật độ dòng tương tự trong QGIS không? và đây là dữ liệu trên QGIS

Câu trả lời:


4

Tôi không thể tìm thấy cách nào để thực hiện điều này trong QGIS thông qua các hàm DB Manager / SQLite, nhưng trong PostGIS, chúng tôi thực hiện như sau:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

Điều này, được xuất sang một bảng mới, cho phép các điểm của các dòng (đối với trường hợp của chúng tôi từ sinh viên PGRouting đến trường của họ) để chúng tôi có thể hình dung điểm nóng của các tuyến đường mà sinh viên có thể đi:

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


4

Trong thực tế, có thể thực hiện mật độ dòng trong QGIS bằng cách sử dụng các menu tiêu chuẩn gửi tham số đến các tệp thực thi GDAL.

Sử dụng gdal_rasterize bằng cách sử dụng công tắc -burn -add sẽ tạo ra một raster mật độ dòng hoặc điểm, không có bán kính tìm kiếm như mật độ hạt nhân và tương tự. Chỉ có bao nhiêu điểm hoặc bao nhiêu dòng trong một ô raster.

gdal_rasterize được tìm thấy trong menu Raster -> Chuyển đổi -> Rasterize. Trong trường văn bản cuối cùng, bạn nhấn nút bút chì và thay đổi văn bản để bao gồm "-burn 1 -add" tương tự như bên dưới. Đương nhiên, bạn thay đổi các tham số -tr (độ phân giải) và tên đầu vào và đầu ra theo tình huống của bạn.

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l dòng C: /lines.shp C: /out_lines.tif

Jukka Rahkonen đã cho tôi những gợi ý về danh sách gửi thư của gdal_dev. Tôi đã tìm kiếm điều này trong nhiều năm theo nghĩa đen.

Liên quan đến các giá trị ô raster cho các dòng rasterized, tôi không chắc chắn những gì các giá trị đại diện. Rõ ràng nó không phải là số dòng hoặc chiều dài của dòng.

Mật độ dòng với gdal_rasterize


3

Sử dụng một cách tiếp cận tương tự với câu trả lời từ @DPSSpatial, tôi sẽ sử dụng plugin QChainage để tạo các điểm cách đều nhau dọc theo mỗi dòng.

Plugin này tạo các điểm dọc theo dòng, nhưng nó không sao chép bất kỳ thuộc tính nào trên dòng.

Ở đây tôi giả sử WGS84 (4326, Độ Lat / Lon). Bạn có thể muốn làm điều này bằng cách sử dụng một phép chiếu thích hợp tính bằng mét.

  • sử dụng QChainage để tạo các điểm dọc theo đường, ví dụ: mỗi 0,05 độ
  • Đệm lớp này, ví dụ 0,001 độ.
  • Thực hiện tham gia không gian ( Vector> Công cụ quản lý dữ liệu> Tham gia thuộc tính theo vị trí ) (sử dụng "Intersects"), từ các điểm được đệm đến lớp đường ban đầu của bạn. Điều này sẽ cho phép các điểm lấy giá trị ảnh hưởng từ các dòng bên dưới chúng.
  • Chuyển đổi lớp này trở lại các điểm bằng Vector> Công cụ hình học> Đa giác trung tâm

Cuối cùng, tôi sẽ sử dụng trình kết xuất bản đồ nhiệt tiêu chuẩn. Đảm bảo bạn sử dụng điểm trọng lượng bằng cách đặt và sử dụng trường ảnh hưởng.

Bây giờ bạn nên có một cái gì đó như thế này. Các số dọc theo mỗi dòng hiển thị giá trị "ảnh hưởng".

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

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.