Xác định các cụm trong dữ liệu điểm vector bằng cách sử dụng QGIS?


34

Tôi có một bộ dữ liệu vectơ về các điểm dữ liệu băng thông rộng ở nông thôn (nhanh như thế nào, v.v.) và tôi muốn khám phá nếu có các cụm điểm có đặc điểm tương tự và để vẽ các đa giác bao quanh chúng.

Ví dụ: tôi có thể có 45.000 điểm trong một tập dữ liệu PostGIS duy nhất được phân phối trên một cảnh quan. Tôi muốn xác định các cụm nằm trong phạm vi x km của nhau và tốc độ dưới y kbps và để tạo ra các thân lồi cho mỗi cụm đủ điều kiện.

Có một cách đơn giản để làm điều này trong QGIS, ví dụ?


3
Bạn có thể muốn chú ý đến bản chất của băng thông rộng. Tốc độ cao sẽ xảy ra trong khu vực đô thị; các tập đoàn công nghiệp; tỏa ra dọc theo các con đường từ CO, modem và cơ sở hạ tầng cáp / cáp / DSL khác; và phát sóng từ các tháp di động nhất định (tùy theo định nghĩa của bạn về "băng thông rộng"). Do đó, tốc độ cao sẽ xuất hiện thành cụm và tốc độ thấp hơn sẽ trông giống như các khoảng trống trong cụm. Đặc biệt, không chắc rằng vỏ tàu lồi thậm chí sẽ là những mô tả đúng đắn về các khu vực tốc độ thấp. Sẽ thật tốt khi biết bạn dự định diễn giải bất cứ "cụm" nào bạn tìm thấy.
whuber

Cảm ơn đã giúp đỡ. Tôi đang nghiên cứu về các khu vực nông thôn hơn, nơi kiến ​​trúc của băng thông rộng có dây có thể đưa ra nhiều tình huống bất thường hơn do sự phân phối của các tủ trên đường phố và các đường được cung cấp trực tiếp trên các cột, cũng như địa lý của các khu vực chẳng hạn. Kết quả là bạn tìm thấy các cụm có thể là điểm khởi đầu hữu ích để xây dựng các giải pháp địa phương và có thể là một bước quan trọng trong việc phát triển một chiến lược. Trong thực tế, bạn thậm chí có thể tìm thấy chúng ở các khu vực đô thị, thường là do di sản công nghiệp hoặc những thứ như đường sắt và sông ngòi chứng tỏ khó đi qua.
Adrian

Câu trả lời:


15

Tôi đã kết hợp các bit từ một số đề xuất và thêm một chút của riêng tôi và tìm thấy một giải pháp phù hợp với tôi - và tất cả từ bên trong QGis!

Lần đầu tiên tôi chạy PostGis CHỌN để tìm các điểm có thuộc tính chung phù hợp và nằm trong phạm vi x km của nhau:

CHỌN DISTINCT s1.postcode, s1.the_geom, s1.gid TỪ Broad_data AS s1 THAM GIA Broad_data AS s2 ON ST_DWithin (s1.the_geom, s2.the_geom, 1000) WHERE s1.postcode!

(Khá nhiều từ cuốn sách PostGis in Action rất hay của Manning , chỉ thêm một phần tự tham gia)

Sau đó tôi đã tải plugin ManageR Farmer Farmer và nhập lớp. Từ đây, tôi đã làm theo quy trình phân cụm PAM được đề xuất ở đây và xuất kết quả thành tệp hình dạng, trên đó các Convex Hulls được tính bằng giây bằng cách sử dụng fTools (Carson thực hiện được!).


Phiên bản đầu tiên của PostGIS in Action hiện không còn xuất bản. Đây là một liên kết đến phiên bản thứ 2 manning.com/books/postgis-in-action-second-edition và một liên kết đến chương đầu tiên là manning-content.s3.amazonaws.com/doad/a/ , đó là tuyệt vời để bắt đầu có được một bức ảnh của PostGIS
Martin Hügi 17/03/2017

8

Mặc dù không phải là giải pháp của QGIS mà cá nhân tôi chọn cho một số phân tích thăm dò bằng SaTScan . Nó nhanh, được ghi chép tốt và được áp dụng rộng rãi, vì vậy bạn không nên gặp rắc rối khi bắt đầu. 45k điểm có thể yêu cầu một số RAM mặc dù.

Tôi không chắc liệu nó có thể đọc trực tiếp từ Postgres hay không nhưng dễ dàng nhập từ tệp dbf và văn bản.

Đầu ra của phân tích có thể dễ dàng đọc lại Postgres hoặc QGIS. Bạn có thể quyết định tìm kiếm các cụm hoặc hình elip tròn (có thể hữu ích để sử dụng nếu có loại định cư cụ thể trong dữ liệu của bạn, ví dụ: thành phố / làng hình dài trong thung lũng, v.v.). Sau đó, bạn có thể tạo đa giác hoặc hình elip hoặc chỉ hiển thị các vị trí là thành viên của cụm.

Để xem trước nhanh chóng các kết quả trong Google Earth, bạn cũng có thể sử dụng Công cụ chuyển đổi SaTScan của NAACCR sang Google Earth .

Điều quan trọng - nếu bạn quyết định chạy mô phỏng Monte Carlo (tối thiểu 99, tôi nghĩ vậy), bạn cũng sẽ có thể nói điều gì đó về ý nghĩa thống kê của các cụm của bạn. Giải thích và biện minh cho các cụm này sẽ là một vấn đề khác vì nó đã được tranh luận trong khoa học không gian trong ít nhất hai thập kỷ qua (tôi nghĩ vậy;).

Bạn có thể thử chạy phân tích không gian thuần túy tìm kiếm các cụm giá trị cao, thấp hoặc hagh & thấp. Nếu bạn có một số thuộc tính tạm thời trong dữ liệu của mình * hàng ngày, tổng hợp hàng tuần) thì tôi nghĩ sẽ rất thú vị khi chạy một số mô hình không gian thời gian.


2
Có vẻ tốt - Trả lời tốt
Mapperz

5

SciPy có một gói phân cụm (cho python), bạn có thể sử dụng nó trong bảng điều khiển python, viết một plugin đơn giản để làm điều đó hoặc sử dụng PL / python bên trong postgis.

http://docs.scipy.org/doc/scipy/reference/cluster.html

Sau khi phân tích, chỉ cần sử dụng các công cụ f để tạo vỏ tàu lồi.


Tôi là một người dùng đơn giản với rất ít kinh nghiệm về trăn nhưng tôi sẽ xem xét - Tôi biết tôi cần phải học!
Adrian

SciPy phân cụm có đưa mối quan hệ không gian giữa các điểm vào tài khoản không?
radek

1
Bạn chỉ cần thêm hai phép toán cho tọa độ x và y của điểm của bạn.
Jose

5

Có một ví dụ tương tự về những gì bạn muốn làm bằng R và GRASS ở đây . Thay vào đó, bạn có thể muốn sử dụng các công cụ phân cụm của scipy như được đề xuất và sau đó thực hiện các phép tính vỏ lồi bằng phương pháp này .


3

Bạn có thể thử plugin Ftools. Vector> Geoprocessing Tools> Convex Hulls.

Có một tùy chọn Create convex hulls based on input field, tham số trường đầu vào phải đến từ các thuộc tính của các điểm đầu vào của bạn.


Cảm ơn đã giúp đỡ. Các bit vỏ lồi sẽ tạo ra các đa giác nhưng nó không xác định được nếu các cụm tồn tại hoặc nơi chúng có thể. Tôi thực sự muốn tìm cách liên kết các điểm với các đặc điểm tương tự trong phạm vi x km của nhau trước. Tôi đoán tôi cần chạy một số tập lệnh xác định duy nhất sự tồn tại của các cụm và cập nhật một trường bổ sung trong bảng postgis cho các thành viên của mỗi cụm. Ví dụ: tạo một tam giác Delaunay và lọc ra tất cả các điểm trong đó các cạnh của các tam giác dài hơn x km nhưng tôi không biết làm thế nào để làm điều đó
Adrian
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.