Làm thế nào để tôi phân vùng không gian rất nhiều điểm?


9

Tôi có dữ liệu vị trí của khách hàng, với hơn 130 triệu hồ sơ, trải rộng khắp cả nước. Đây là một bảng không gian trong PostGIS

Bây giờ tôi muốn phân vùng toàn bộ quốc gia thành 'khu vực dịch vụ', sao cho mỗi khu vực dịch vụ có:

  • Toàn bộ 30 khách hàng
  • Là nhiều nhất 1000 km vuông.

Tôi đã nghiên cứu công cụ Tổng hợp của ArcGIS, nhưng nó không đáp ứng các tiêu chí của tôi, vì:

  • Nó không được tính đến tối thiểu
  • Tôi chỉ có Qgis & Grass theo ý của tôi.

Tôi có thể sử dụng công cụ / quy trình nào để đạt được điều này?

Câu trả lời:


4

Tôi đã chạy thử nghiệm nhỏ:

  • tạo ra 900 điểm ngẫu nhiên
  • kết nối chúng bằng cây bao trùm tối thiểu
  • nhặt chìm ở đâu đó ở giữa

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

  • lật các liên kết để tạo thành biểu đồ định hướng, tức là mỗi nút cuối cùng xả vào cùng một bồn

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

  • chạy tập lệnh mà tôi đang sử dụng để tổng hợp lưu vực nhỏ hơn thành tập lớn hơn cố gắng lấy "kích cỡ" trung bình là 30.

KẾT QUẢ:

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

Hãy cho tôi biết nếu điều này được quan tâm, tôi có thể tìm hiểu kịch bản (nó đã được xuất bản ở đâu đó trên trang web này) hoặc giải thích quy trình làm việc chi tiết hơn. Tôi đã sử dụng ArcGIS.

-------------------------------------

** CẬP NHẬT tháng 9 năm 2017

Nó rất giống với ở trên, nhưng sử dụng phương pháp raster, công cụ Khoảng cách và Thủy văn từ ArcGIS. Phần khó khăn là tạo ra cây bao trùm tối thiểu và tìm các cửa hàng 'lưu vực' ở định dạng raster.

Đây là các bước tôi đã làm theo:

  • Các nút tam giác (trỏ vào cụm), trích xuất các cạnh mạng tam giác, chuyển đổi các nút thành raster WEIGHT :

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

  • Trường tính toán trong bảng cạnh: Tôi sử dụng (ShapeLpm ^ 3 / 1e6). Chuyển đổi sang raster, lấp đầy các khoảng trống với giá trị rất cao để tạo raster COST . Điều này khuyến khích dòng chảy giữa các điểm gần nhau. Hy vọng rằng các đường dẫn dòng chảy sẽ trông giống như cây bao trùm tối thiểu (MST) thay vì ở gần các đường thẳng hướng tới bồn rửa.
  • Chọn bất kỳ nút nào (OUTLET / SINK) và tạo raster Cost Back Link, sử dụng bề mặt COST và SINK làm nguồn. Chuyển đổi raster liên kết trở lại để raster Flow Direction phong cách sử dụng Int(Power(2,"backlink"-1)). Tích lũy dòng chảy sử dụng hướng dòng chảy và raster trọng lượng. Như người ta có thể thấy thủ thuật với phân bổ chi phí thực sự tạo ra một cái gì đó tương tự như MST:

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

Tôi đã quyết định nhóm các điểm theo 50. Hãy ghi nhớ cấu trúc mạng của mạng Tôi đặt giới hạn các điểm INLET thấp hơn một chút khi bắt đầu 'Dòng chảy cao', tức là Con ("FlowAccum"> 45,1). Cửa vào được định nghĩa là các ô trong đó

Lưu lượng cao tồn tại & thống kê tiêu cự = 2 & ô không phải là SINK (không có giá trị dữ liệu theo Hướng dòng chảy) :

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

Sử dụng cửa vào làm điểm đổ và hướng dòng chảy để xác định lưu vực. Hình ảnh cho thấy 115 lưu vực có nguồn gốc:

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

Thống kê của họ: mean = 50,33, min = 46 và max = 74.

Để có được bộ lưu vực thứ hai, nó đủ để xóa raster WEIGHT theo các lưu vực đã được xác định, tính toán Tính liên tục dòng chảy, v.v.

Phương pháp sẽ hoạt động cho hàng triệu điểm vì nó dựa trên raster, việc tính toán số điểm đó cũng sẽ không phải là vấn đề.


1
Tôi không biết liệu điều này sẽ có thể sử dụng được cho tôi hay không, nhưng nó có vẻ thú vị như địa ngục..Xin vui lòng đăng kịch bản nếu bạn có thể.
Devdatta Tengshe

Tôi sẽ đăng kịch bản sau hôm nay hoặc thứ hai, nghỉ làm một ngày. Trong khi đó một có một cái nhìn tại gis.stackexchange.com/questions/179559/... nơi tôi đã mô tả ý tưởng đằng sau nó
FelixIP

Tôi đã thử nghiệm nó trên 100.000 điểm qua đêm. Bước cuối cùng đã gần 6 giờ và nó khiến nó không tiếp cận được, ít nhất là trong ArcGIS. Chưa kể tôi phải tự viết mã MST, vì công cụ I của Patterson bị kẹt.
FelixIP

Bạn đã quản lý để giải quyết nó? Có vẻ như tôi đã sử dụng phương pháp raster, có thể đăng quy trình công việc nếu điều này được quan tâm /
FelixIP

Vui lòng làm. Tôi đã giải quyết nó bằng phương pháp Bruteforce, đủ dùng cho mục đích của tôi; Nhưng tôi chắc chắn rằng những người khác có thể được hưởng lợi từ aproach mới của bạn.
Devdatta Tengshe
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.