GEOS

GEOS是一个开源的C++计算几何引擎,基于Java Topology Suite(JTS)移植而来。GEOS的文档和示例比较匮乏,并且接口主要用C封装,想直接上手比较困难,借鉴JTS的文档或者直接学习shapely是个不错的选择。

shapely

shapely是基于GEOS的Python包,文档示例比较完善,由于是在python上运作,可视化功能十分强大,上手起来非常简单。文档详见这里

1
2
3
>>> from shapely.ops import cascaded_union
>>> polygons = [Point(i, 0).buffer(0.7) for i in range(5)]
>>> cascaded_union(polygons)

boost.geometry

boost.geometry是boost的一个子集,主要提供与GEOS相似的计算几何功能,调试、可视化以及对其它数据格式如stl容器的兼容性远优于GEOS。在Visual Studio上还可配合GraphicalDebugging插件一起使用,非常方便。

本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。