我尝试阅读PostGIS源代码,但代码分为几个文件,这使得难以理解。有人能告诉我ST_LineMerge()背后的算法吗?说明的名称或链接就足够了。提前谢谢。
答案 0 :(得分:2)
PostGIS中的许多几何操作实际上来自GEOS(几何引擎开源)和C ++库,而geos::operation::linemerge就是其中之一。 LineMerger Class是通过GEOS C API从PostGIS调用的 与GEOSLineMerge_r。
GEOS是JTS Java Library的一个端口,该算法最初是使用Class LineMerger实现和测试的。 “linemerge”函数不是一个简单的函数,需要很好地理解库使用的类和方法。
根据您是否希望在C ++或Java中查看代码,请选择一个。您可以在GitHub here和JTS源代码here上搜索GEOS源代码的镜像。