计算几何之Geos

常用的计算几何库有:a) Geos,b) CGAL,c) LEDA,d) Wykobi,它们都是C++的库,各有优缺点,本文主要介绍Geos。

Geos是JTS Topology Suite是空间预测和处理几何的C++接口。 JTS提供了完整的、统一的、鲁棒性的基础算法,用于处理二维笛卡尔坐标系下的线性拓扑等几何分析方法,比如相交计算等,JTS足够快可以满足生产需要,而JTS本身是纯java版的。Geos是开源地球空间基金会Open Source Geospatial Foundation的一个项目。

Geos提供的模型和函数如下:

  • Geometries: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
  • Predicates: Intersects, Touches, Disjoint, Crosses, Within, Contains, Overlaps, Equals, Covers
  • Operations: Union, Distance, Intersection, Symmetric Difference, Convex Hull, Envelope, Buffer, Simplify, Polygon Assembly, Valid, Area, Length,
  • Prepared geometries (pre-spatially indexed)
  • STR spatial index
  • OGC Well Known Text (WKT) and Well Known Binary (WKB) encoders and decoders.

Geos提供了常见的几何对象和基本操作,但是与Boost.Geometry库一样,仅限于二维平面,无法处理三位几何体。

 

开源地球空间基金会

https://www.osgeo.org/

c++版本的JTS

http://trac.osgeo.org/geos/

java版本的拓扑分析组件

http://www.tsusiatsoftware.net/jts/main.html

 

 

 

posted @ 2022-08-21 10:13  Oliver2022  阅读(311)  评论(0编辑  收藏  举报