2016-05-02 5 views
1

Ich versuche, den PostGIS-Quellcode zu lesen, aber die Codes sind in mehrere Dateien aufgeteilt, was es schwer verständlich macht. Kann mir jemand den Algorithmus hinter ST_LineMerge() sagen? Ein Name oder ein Link zu der Erklärung ist genug. Danke im Voraus.Was ist der Algorithmus hinter ST_LineMerge()?

Antwort

2

Viele Geometry-Operationen von PostGIS stammen aus GEOS (Geometry Engine Open Source), einer C++ - Bibliothek, und ist eine davon. Die LineMerger Class wird von PostGIS über die GEOS C API mit GEOSLineMerge_r aufgerufen.

GEOS ist ein Port der JTS Java Library, in dem der Algorithmus ursprünglich implementiert und mit Class LineMerger getestet wurde. Die Funktion "linemerge" ist keine einfache Funktion und erfordert ein gutes Verständnis der von der Bibliothek verwendeten Klassen und Methoden.

Abhängig davon, ob Sie den Code in C++ oder Java sehen möchten, wählen Sie einen aus. Sie können einen Spiegel des GEOS-Quellcodes auf GitHub here und den JTS-Quellcode here durchsuchen.

+0

Sie haben Recht und ich fühlte mich ein wenig verloren in diesen Klassen. Ich frage mich, ob Sie zufällig wissen, wo ich einen Überblick über den in diesem Code implementierten Algorithmus finden kann. –

+0

Die beste verfügbare Übersicht für den Algorithmus stammt aus der API-Dokumentation, die bereits in der Antwort verknüpft ist. Es gibt auch Testfälle, die diese mit C++, C und Java verwenden. –

+0

Danke. Ich werde mal schauen. –

Verwandte Themen