나는 이와 관련하여 여러 프로젝트를 수행했지만 결국 그들은 기본적으로 사용자 정의 솔루션이되었습니다.
- 그리드에서 문제를 분리
- 각 개별 노드에서 처리하고 임시 테이블 / 데이터 저장소에 결과를 복사했습니다.
- 모든 솔루션을 단일 결과 테이블에 병합하고 선택적으로 경계 조건을 처리했습니다. 경계 조건 처리는 형상을 스티칭하거나 마사지해야하는 경우에만 필요했습니다 (예 : 분산 방식으로 토폴로지를 구축 할 때 경계 형상을 스냅하려는 경우).
재미있게도,이 성격의 문제를 해결할 때마다 다른 기술을 사용했습니다. 주로 그 시대의 유행이었습니다. 결국, 원하는 것은 작업 큐 관리자가 있고 다른 노드에서 프로세스를 생성하며 일종의 동기화 메커니즘 ( Semapahore , Barrier 등)과 오류를 처리하고 재 시도하는 방법 이있는 메시지 전달 라이브러리입니다 . 아래 언급 한 모든 프로젝트에는 이러한 것들이 있습니다.
지역의 경우 (시간순으로) 사용했습니다.
(오래된 학교)
(최신)
사람들이 사용하는 다른 몇 가지 가 있습니다.
결국, 이것들 중 하나라도 (약간 다른 방법으로) 잘라낼 수 있으므로 도움이되는 커뮤니티가있는 것을 선택해야합니다.
또한 모든 노드에서 라이브러리를 사용하여 GIS 지오메트리 작업을 수행해야합니다. 어떤 것을 사용할 것인지는 여러분이 이것을 코딩하는 것을 선호하는 언어에 기초 할 것입니다. 그러나 대부분의 사람들이 당신에게 줄 옵션은 다음과 같습니다 :
또는 이들 중 하나의 래퍼 역할을하는 다른 라이브러리.