Ich habe in dieser Hinsicht mehrere Projekte durchgeführt, aber am Ende waren sie im Grunde genommen immer kundenspezifische Lösungen
- trennte das Problem in Grids
- hat die Verarbeitung in jedem einzelnen Knoten durchgeführt und das Ergebnis in eine temporäre Tabelle / einen temporären Datenspeicher kopiert
- Alle Lösungen zu einer einzigen Ergebnistabelle zusammengeführt und optional mit Randbedingungen umgegangen. Das Behandeln von Randbedingungen war nur in Fällen erforderlich, in denen Features zusammengefügt oder massiert werden mussten (z. B. wenn Sie eine Topologie auf verteilte Weise erstellen, sollen die Rand-Features einrasten).
Witzigerweise verwendete ich jedes Mal, wenn ich ein Problem dieser Art löste, eine andere Technologie, vor allem, weil dies die Modeerscheinung der Zeit war. Am Ende, was Sie wollen , ist eine Nachrichtenbibliothek vorbei , die einen Job Queue - Manager, laicht Prozesse auf den verschiedenen Knoten hat, und das hat eine Art von Synchronisationsmechanismus ( Semapahore des , Barriere , usw.) und eine gewisse Art und Weise zu handhaben Fehler und erneut versuchen können . Alle Projekte, die ich unten erwähne, haben diese Dinge.
Für geo habe ich (in chronologischer Reihenfolge) verwendet:
(alte Schule)
(neuer)
Es gibt einige andere, die Leute benutzen.
Am Ende würde jeder von diesen (wenn auch auf eine etwas andere Art und Weise) davon abschneiden, sodass es darauf ankommt, einen auszuwählen, der eine Community hat, die hilfreich ist.
Außerdem müssten Sie auf jedem Knoten eine Bibliothek verwenden, um die GIS-Geometrieoperationen auszuführen. Die Empfehlung für die Verwendung basiert auf der Sprache, in der Sie dies bevorzugen. Ich bin mir jedoch sicher, dass die meisten Leute Ihnen folgende Optionen geben würden:
Oder eine andere Bibliothek, die als Wrapper für eine davon dient.