Geotools是一个java类库,它提供了很多的标准类和方法来处理空间数据,同时这个类库是构建在OGC标准之上的,是OGC思想的一种实现。而OGC是国际标准,所以geotools将来必定会成为开源空间数据处理的主要工具,目前的大部分开源软件,如udig,geoserver等,对空间数据的处理都是由geotools来做支撑。而其他很多的web服务,命令行工具和桌面程序都可以由geotools来实现。
核心特点:
1. 为空间概念和数据结构定义了很多的接口
1.1通过JTS类库集成了对几何拓扑的支持
1.2通过使用OGC过滤编码规范可以对属性和空间要素过滤
2.对于数据访问API,支持要素访问、事务支持和线程间锁定
2.1可以访问多种格式的数据和空间数据库
2.2支持多种坐标参考系统和及其转换
2.3可以和扩展的地图投影一同工作
2.4可以按照空间和非空间属性来过滤和分析数据
3.一种无状态的,耗低内存的渲染机制,尤其在服务端环境下
3.1通过复杂的样式(SLD)来组成和展现地图
4.对于有xml schema绑定的GML文档,提供了强大的号称第四代xml解析技术gtxml。
这种解析/编码技术可以应用到OGC标准中的SLD,GML,Filter,KML和SE,个人认为这是geotools的核心,也是geotools处理大空间数据的手段。
5.geotools插件:开放的插件系统允许你为类库添加额外的格式
ImageIO-ext项目的插件允许geotools从gdal中读取额外的栅格格式。
6.geotools扩展
通过使用核心类库的这些空间工具可以提供额外的构建能力,比如swing,brewer和graph。
扩展模块提供了图像和网络支持、校验、web地图服务端解析,解析编码xml和color brewer(地图绘图)。
7.geotools尚不支持的
Geotools作为广泛社区的一部分可以用来孵化一些新的项目,重点是swing支持,本地和web处理支持,添加额外符号(symbology),添加额外格式,生成网格等和ISO geometry的实现。
支持的格式:
1.支持的栅格格式和数据访问
arcsde, arcgrid, geotiff, grassraster, gtopo30, image (JPEG, TIFF, GIF, PNG), imageio-ext-gdal, imagemoasaic, imagepyramid, JP2K, matlab
2.支持的数据库“jdbc-ng”
db2, h2, mysql, oracle, postgis, spatialite, sqlserver
3.支持的矢量格式和数据访问
app-schema, arcsde, csv, dxf, edigeo, excel, geojson, org, property, shapefile, wfs
4.XML绑定
基于xml的Java数据结构和绑定提供了如下格式xsd-core (xml simple types), fes, filter, gml2, gml3, kml, ows, sld, wcs, wfs, wms, wps, vpf。
对于额外的geometry、sld和filter的编码和解析可以通过dom和sax程序。
实现的标准:
支持大部分的OGC标准
1.OGC中的sld/SE和渲染引擎
2.OGC一般要素模型包括简单要素支持
3.OGC中栅格信息的网格影像表达
4.OGC中WFS,WMS和额外的WPS
5.ISO 19107 geometry规范