私はこの点でいくつかのプロジェクトを行ってきましたが、最終的に彼らは常に基本的にはカスタムソリューションになりました
- グリッド内の問題を分離しました
- 各ノードで処理を行い、結果を一時テーブル/データストアにコピーしました
- すべてのソリューションを単一の結果テーブルにマージし、オプションで境界条件を処理しました。境界条件の処理は、フィーチャをステッチまたはマッサージする必要がある場合にのみ必要でした(たとえば、分散方法でトポロジを構築する場合、境界フィーチャをスナップする必要があります)。
おもしろいことに、この種の問題を解決するたびに、私は異なる技術を使用しました。これは主に当時の流行でした。最後に、必要なのは、ジョブキューマネージャーがあり、さまざまなノードでプロセスを生成し、何らかの同期メカニズム(セマパホール、バリアなど)とエラーを処理して再試行する方法を備えたメッセージパッシングライブラリです。以下で言及するすべてのプロジェクトには、これらのものがあります。
地理については、(時系列で)を使用しました:
(古い学校)
(新しい)
人々が使用する他のいくつかがあります。
最後に、これらのいずれかが(わずかに異なる方法ではあるが)それを削減するので、役に立つコミュニティを持っているものを選ぶことに要約されます。
また、すべてのノードで、ライブラリを使用してGISジオメトリ操作を行う必要があります。どのコードを使用するかについての推奨事項は、これをコーディングしたい言語に基づいています。しかし、ほとんどの人があなたに提供するオプションは次のとおりです。
または、これらのいずれかのラッパーとして機能する他のライブラリ。