ST_LineMerge() 背后的算法是什么?

What's the algorithm behind ST_LineMerge()?

我尝试阅读PostGIS源代码,但是代码被分成几个文件,很难理解。有人能告诉我 ST_LineMerge() 背后的算法吗?解释的名称或 link 就足够了。提前致谢。

PostGIS 中的许多几何操作实际上来自 GEOS(Geometry Engine Open Source)一个 C++ 库,geos::operation::linemerge is one of those. The LineMerger Class 是通过 GEOS C API 从 PostGIS 调用的 GEOSLineMerge_r.

GEOS 是 JTS Java 库的一个端口,算法最初是用 Class LineMerger 实现和测试的。 "linemerge"函数不是一个简单的函数,需要对库使用的类和方法有很好的理解。

根据您是想查看 C++ 代码还是 Java,选择一个。您可以在 GitHub here, and the JTS source code here.

上搜索 GEOS 源代码的镜像