Tôi đã thực hiện một số dự án về vấn đề này, nhưng cuối cùng, chúng luôn luôn là giải pháp tùy chỉnh mà về cơ bản
- phân tách vấn đề trong lưới
- đã xử lý trong từng nút riêng lẻ và sao chép kết quả vào bảng tạm thời / kho dữ liệu
- đã hợp nhất tất cả các giải pháp vào một bảng kết quả duy nhất và các điều kiện biên được xử lý tùy ý. Xử lý các điều kiện biên chỉ được yêu cầu cho các trường hợp các tính năng cần được khâu hoặc tạo khối (ví dụ: khi xây dựng cấu trúc liên kết theo cách phân tán, bạn muốn các tính năng ranh giới được chụp).
Hài hước lắm, mỗi lần tôi giải quyết một vấn đề thuộc về bản chất này, tôi đã sử dụng một công nghệ khác, chủ yếu là vì đó là mốt nhất thời. Cuối cùng, những gì bạn muốn là một thư viện truyền thông báo có trình quản lý hàng đợi công việc, sinh ra các quy trình trên các nút khác nhau và có một số cơ chế đồng bộ hóa ( Semapahore's , Barrier's , v.v.) và một số cách để xử lý lỗi và thử lại. Tất cả các dự án tôi đề cập dưới đây có những điều này.
Đối với địa lý, tôi đã sử dụng (theo thứ tự thời gian):
(trường cũ)
(mới hơn)
Có một số người khác mà mọi người sử dụng.
Cuối cùng, bất kỳ ai trong số này sẽ cắt nó (mặc dù theo một cách hơi khác), vì vậy, nó sôi sục để chọn một cộng đồng có ích.
Ngoài ra, trên mỗi nút, bạn sẽ phải sử dụng một thư viện để thực hiện các hoạt động hình học GIS. Đề xuất sử dụng cái nào sẽ dựa trên ngôn ngữ mà bạn thích viết mã này. Nhưng tôi chắc chắn các tùy chọn mà hầu hết mọi người sẽ cung cấp cho bạn sẽ là:
Hoặc một số thư viện khác phục vụ như là trình bao bọc cho một trong số này.