开源拓扑工具包

JTS:开源的JAVA拓扑工具包

GEOS:JTS的C++实现。GEOS主要支持几种操作和计算:

空间关系计算,主要支持几种计算

相等(Equals):
几何形状拓扑上相等。

脱节(Disjoint):
几何形状没有共有的点。

相交(Intersects):
几何形状至少有一个共有点(区别于脱节)

接触(Touches):
几何形状有至少一个公共的边界点,但是没有内部点。

交叉(Crosses):
几何形状共享一些但不是所有的内部点。

内含(Within):
几何形状A的线都在几何形状B内部。

包含(Contains):
几何形状B的线都在几何形状A内部(区别于内含)

重叠(Overlaps):
几何形状共享一部分但不是所有的公共点,而且相交处有他们自己相同的区域。


一些情况下,确切定义有些微妙。你可以参考JTS技术说明书来完全确定在任何情况下的返回情况。

以上的运算返回的都是true或者false。

另外一种是空间叠加分析操作。主要有下面几个操作:

缓冲区分析(Buffer):
包含所有的点在一个指定距离内的多边形和多多边形。

凸壳分析(ConvexHull):
包含几何形体的所有点的最小凸壳多边形,(就是外包多边形啦)

交叉分析(Intersection):
交叉操作就是多边形AB中所有共同点的集合。

联合分析(Union):
AB的联合操作就是AB所有点的集合。

差异分析(Difference):
AB形状的差异分析就是A里有B里没有的所有点的集合。

对称差异分析(SymDifference):
AB形状的对称差异分析就是位于A中或者B中但不同时在AB中的所有点的集合
另外还支持多边形化,连接有向线段,压出节点等等操作

 

GML4J:JAVA的GML处理包

OGR:    OGR是一个读取和处理GSI矢量数据的库。这个库可以读取和处理多种流行的矢量数据。

MapServer:MapServer是一套基于胖服务器端/瘦客户端模式的实时地图发布系统,客户端发送数据请求时,服务器端实时的处理空间数据,并将生成的数据发送给客户端。MapServer 的核心部分是C语言编写的地图操作模块,它本身许多功能的实现依赖一些开源或免费的库

GEOserver:GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息。

你可能感兴趣的:(开源拓扑工具包)