Skip to content

概述 ​

GeoTools 是一个开源 Java 库,提供地理空间数据处理、分析和可视化的工具。本文档介绍 GeoTools 库,总结了其目的、结构和功能,作为一个综合地理空间工具包。

目的和范围 ​

GeoTools 旨在使开发者能够构建处理地理空间数据的应用程序。它提供了符合 Open Geospatial Consortium (OGC) 规范的标准实现,同时注重性能和易用性。该库作为众多地理信息系统和 Web 地图应用程序的基础。

有关架构和模块系统的具体实现细节,请参阅 核心架构。

主要功能 ​

GeoTools 提供了一套全面的地理空间功能,包括:

  • 遵循 OGC/ISO 规范的基于标准的数据模型
  • 坐标参考系统定义和转换
  • 对多种格式的矢量数据和栅格数据访问
  • 用于地图生成的渲染系统
  • 用于数据选择的过滤器和查询语言 (CQL)
  • 用于制图表现的样式工具

有关特定功能的详细信息,请参阅 栅格数据处理、矢量数据处理 和 渲染系统 中的相应章节。

库组织结构 ​

GeoTools 使用模块化架构将功能组织成逻辑单元,同时管理依赖关系。下图说明了高层组织和组件之间的关系。

模块结构 ​

SVG
100%

数据处理流水线 ​

SVG
100%

支持的格式 ​

GeoTools 通过其插件系统支持多种地理空间数据格式:

类别格式
矢量Shapefile、GeoPackage、PostGIS、Oracle Spatial、WFS
栅格GeoTIFF、ArcGrid、ImageMosaic、NetCDF、JPEG2000、WCS
数据库PostgreSQL/PostGIS、Oracle、MySQL、SQL Server、H2
服务WMS、WFS、WCS、CSW

有关特定格式实现的详细信息,请参阅 格式支持。

项目信息 ​

GeoTools 是一个拥有活跃贡献者社区的开源项目。该库在 GNU Lesser General Public License (LGPL) 下分发。

许可证 ​

Lesser General Public License (LGPL)
http://www.gnu.org/copyleft/lesser.txt

社区 ​

GeoTools 社区包括来自不同组织的开发者,他们为库的维护和增强做出贡献。该项目使用模块维护者系统,特定的开发者负责不同的组件。

有关从源代码构建库或为项目做贡献的信息,请参阅 开发指南。

技术参考 ​

GeoTools 遵循多项行业标准,包括:

  • OGC Simple Features 规范
  • ISO 19107 地理信息 - 空间模式
  • ISO 19111 地理信息 - 基于坐标的空间参考
  • OGC Filter 编码规范
  • OGC Styled Layer Descriptor (SLD)

这些标准指导了库的设计和实现,确保与其他地理空间系统的互操作性。