提纲
1、GeoTools的作用
2、GeoTools的组成结构及各个部分的功能
1、GeoTools的作用
===============
Geotools是一个符合OGC标准(也称为OpenGIS标准)的Java类库,它提供了很多的标准类来处理空间数据。OpenGIS标准是一个空间数据处理的国际标准。目前的大部分基于Java的开源GIS软件,如udig,geoserver等,都是调用GeoTools库来进行空间数据的处理。
GeoTools是一个处理空间数据的工具包,其中包含构建一个完整的地理信息系统所需要的的全部工具类,常见的问题比如投影的转换、基准面的设定、空间数据对象的渲染和样式、各种数据源的支持、各种GIS文件格式支持、空间数据过滤与搜索等,都有对应的解决方案,这些解决方案被封装成一个一个的类,可供用户调用。
GeoTools项目的开发目标是提供一个符合OpenGIS标准的Gis工具包。为了达成这个目标,GeoTools项目中除了GeoTools自己实现一些工具类之外,还有包含了两个其他的工具包,一个是GeoAPI,另一个是JTS(Java Topology Suite),这两个工具包和GeoTools自己的工具类一起组成了GeoTools。从这个角度来讲,可以说GeoTools是在GeoAPI和JTS的基础上构建的一个GIS工具包。
JTS是用来做空间图形的拓扑关系判断的一个Java类库。它在GeoTools出现之前就已经存在了,所以GeoTools项目在解决空间对象拓扑判定问题的时候,就没有自己重新开发,而是直接采用了JTS,将JTS作为自己的一部分,纳入自己的体系中了。JTS解决了对象与对象之间拓扑关系的判定和计算,所以,它提供了很多算法来解决对象之间包含关系、相交关系等的拓扑关系判定问题。因此,JTS就相当于GeoTools中的一个子模块,但是因为这个模块本身不是GeoTools工程的,所以在GeoTools的JavaDoc中找不到JTS的JavaDoc说明,如果需要JTS的JavaDoc说明,需要到JTS官网上面去下载。
GeoAPI是根据OpenGIS规范而开发一组Java接口,这组接口代表了OpenGIS规范,GeoTools实现了GeoAPI中的接口,从而也就是实现了OpenGIS标准。GeoAPI制定了地理信息系统中所有的数据类型应该是什么,投影转换的方式有哪几种诸如此类的规范,所以,兼容GeoAPI接口的GeoTools是一个符合规范的地理信息系统工具包。
GeoTools项目除了现有的类,它还有插件机制和扩展机制,用户可以为GeoTools做插件和扩展。
GeoTools插件,如果希望GeoTools支持更多的数据格式和其他的坐标系统,就可以为GeoTools开发相应的插件。ImageIO-ext项目的插件允许GeoTools从gdal中读取额外的栅格格式。
2、GeoTools的组成结构(架构)及各个部分的功能
=======================================
GeoTools库的组成部分、每一部分的作用和各部分之间的配合关系,就是GeoTools的架构。搞清楚GeoTools的架构,有利于用户在开发应用的时候,只选择自己所需要的的GeoTools的jar。
GeoTools库是一个软件堆栈(software stack),上层的模块是基于下层模块开发的。
GeoTools堆栈的每一层都是它下面的各层去实现的,比如:
The maven tool can calculate the jars you need, please see the Eclipse or Netbeans quickstart for an example use.
Module
Purpose
Implements of Common Query Language for filters
Implements of Java2D rendering engine to draw a map
Implements of common spatial XML formats
Interfaces for working with spatial information. Implements filter, feature, etc…
Implements for accessing spatial database
Implements for accessing spatial data
Implementation for accessing raster information
Implementation of identification and description
Implementation of co-ordinate location and transformation
api
GeoAPI part,定义了处理空间信息的接口
Definition and implementation of Geometry
Definition of interfaces for common spatial concepts
参考文献
1、http://www.kaiyuanba.cn/html/1/131/138/8018.htm(GeoTool是什么,以及与JTS和GeoAPI之间的关系如何)
2、http://docs.geotools.org/latest/userguide/geotools.html#core-features(Architecture)
3、https://blog.csdn.net/anglestar2012/article/details/(GeoTools学习篇——GeoTools体系),对geotools架构中各个组成部分进行说明,比官方文档说的好
4、https://www.giserdqy.com/gis/opengisnews/2250/(GeoTools应用简要指南),对geoTools下的jar包进行了清理
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/8937.html