Tính khoảng cách ngắn nhất từ ​​điểm đến đường bằng cách sử dụng QGIS?


12

Phương pháp tốt nhất để tính khoảng cách từ con đường gần nhất cho một loạt các điểm địa chỉ trong QGIS, có một tập dữ liệu rất lớn là gì? (QGIS 2.0.1, Win XP)

Tôi đọc câu trả lời cho các câu hỏi tương tự trước đây:

Đo khoảng cách giữa các đường và các điểm trong QGIS

Vẽ các đường vuông góc trong PyQGIS?

Tính khoảng cách tối thiểu giữa các điểm và đa giác trong QGIS?

/programming/16448402/distance-of-point-feature-to-gầnest-polygon-in-r

Tuy nhiên:

  1. Plugin MMQGIS tìm thấy sự phân tán đến nút gần nhất của mạng đường truyền, không phải là khoảng cách ngắn nhất (vuông góc) với một đường.

  2. Các tập lệnh được đề xuất R và Python hoạt động chính xác cho các bộ dữ liệu nhỏ và có thể được triển khai trong trình tạo mô hình, tuy nhiên với công việc của tôi, tôi có 530 điểm và một lớp đường phố khu vực với khoảng 135'000 tính năng và đạp xe qua tất cả các tính năng sau đó đi một quãng ngắn nhất tất cả các điểm sẽ mất một lượng lớn thời gian

  3. Tôi gặp vấn đề trong việc làm cho GRASS hoạt động trong QGIS 2.0.1 ( GRASS trong QGIS không hoạt động (windows XP) ).


1
Tôi đã quản lý để tính khoảng cách tối thiểu trong QGIS 1.8.0 thông qua plugin GRASS và công cụ v.distance . Mất khoảng 15 phút để thực thi (cộng với thời gian dành để đặt GRASS và nhập các lớp chính xác ...). Tại sao ArcGIS (es, tham gia theo vị trí không gian) vẫn nhanh như vậy so với?
mic_cord

1
Đó là vấn đề có một chỉ số không gian và mã được tối ưu hóa cho nhiệm vụ. Tôi vừa kiểm tra với thư viện định tuyến của chúng tôi (RW Net 4) và nó có thể thực hiện 2000 phép tính như vậy mỗi giây cho một mạng ứng dụng đường phố. cùng kích thước với bạn. Làm cho nó nhanh hơn khoảng 4000 lần so với plugin GRASS của bạn.
Uffe Kousgaard

3
Postgis nên làm điều đó nhanh chóng
Nicklas Avén

1
@mic_cord Bạn có thể vui lòng giải thích chi tiết về phương pháp v.distance plugin GRASS của bạn không? Tôi đã thành công với v.distance để hoạt động bằng GRASS bên ngoài QGIS, nhưng tôi không thể làm cho nó hoạt động trong hộp công cụ Xử lý (QGIS 2.6).
user25976 6/03/2015

Câu trả lời:


6

Chúng tôi đã giải quyết vấn đề tương tự. Cách tốt nhất và nhanh nhất cho chúng tôi là:

  1. Lớp đường rasterize (Raster / Chuyển đổi / Rasterize ...)
  2. Chuyển đổi sang vùng lân cận (Raster / Phân tích / Khoảng cách ...)
  3. Sử dụng công cụ lấy mẫu Điểm plugin để nhận các giá trị cho tất cả điểm của bạn từ raster

4

Một số câu trả lời để Đo khoảng cách giữa các dòng và điểm trong QGIS đề xuất plugin NNJoin QGIS ( http://arken.nmbu.no/~havatv/gis/qgisplugins/NNJoin/ ). Nó sẽ thực hiện một phép nối không gian lân cận gần nhất và bao gồm khoảng cách trong kết quả. Các NNJoin plugin sử dụng một chỉ số không gian, vì vậy nó nên xử lý các tập dữ liệu một cách hợp lý lớn.


Tveite, tôi thứ hai đề nghị của bạn. Tôi đã rất ngạc nhiên khi plugin này hoạt động nhanh hơn gói được đề xuất trong R (tức là geosphere :: dist2Line).
Johanness
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.