geotools简介

geotools简介

官网

https://docs.geotools.org/latest/userguide/index.html

架构图

在这里插入图片描述

特性

1. 主要特性

  1. Geotools主要提供各种GIS算法,实现各种数据格式的读写和显示。
  2. 在显示方面要差一些,只是用Swing实现了地图的简单查看和操作。
  3. 用户可以根据Geotools提供的算法自己实现地图的可视化。OpenJump和udig就是基于Geotools的。
  4. 目前的大部分开源软件,如udig,geoserver等,对空间数据的处理都是由geotools来做支撑。
  5. web服务,命令行工具和桌面程序都可以由geotools来实现。
  6. 是构建在OGC标准之上的,是OGC思想的一种实现。而OGC是国际标准,所以geotools将来必定会成为开源空间数据处理的主要工具,
  7. Geotools用到的两个较重要的开源GIS工具包是JTS和GeoAPI。前者主要是实现各种GIS拓扑算法[只是图形与图形的九交模型并不是图层或图层间的拓扑算法],也是基于GeoAPI的。
  8. Geotools现在还只是基于2D图形的,缺乏对 3D空间数据算法和显示的支持。

2. Geotools支持的数据格式

  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。对于额外的geometrysldfilter的编码和解析可以通过domsax程序。

3. 支持大部分的OGC标准

  1. OGC中的sld/SE和渲染引擎;
  2. OGC一般要素模型包括简单要素支持;
  3. OGC中栅格信息的网格影像表达;
  4. OGC中WFS,WMS和额外的WPS;
  5. ISO 19107 geometry规范;

4. Geotools依赖的开源项目

  1. JTS:JTS是加拿大的 Vivid Solutions 做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法,为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。
  2. GeoAPI:GeoAPI为OpenGIS规范提供一组Java接口。

5. GeoTools类库

GeoTools发布的包和其依赖的一些第三方类库总共约有168个,了解GeoTools依赖哪些包和依赖的这些包做什么的,对了解GeoTools这个大家伙一定是有帮助的,具体大家可以下载代码查看,上网搜索一般都能找到一些有用的资料。以下是核心类库的79个jar包:

6. 学习地址

  1. GeoTools官方网站地址

https://docs.geotools.org/latest/userguide/geotools.html

  1. GeoTools GitHub地址

https://github.com/geotools/geotools

7. GeoTools的方向

GeoTools GitHub地址

https://github.com/geotools/geotools

常用功能列表

ModulePurpose
gt-renderImplements of Java2D rendering engine to draw a map 实现了Java2D的渲染引擎画地图
gt-jdbcImplements for accessing spatial database 实现了访问空间数据库的
gt-mainImplements for accessing spatial data 实现对空间数据的访问
gt-xmlImplements of common spatial XML formats 实现对共同的xml数据格式的支持
gt-cqlImplements of Common Query Language for filters 实现简单语句的查询
gt-mainInterfaces for working with spatial information. Implements filter, feature, etc…
jtsDefinition and implementation of Geometry 定义了处理空间信息的接口
gt-coverageImplementation for accessing raster information 实现了Raster数据格式的访问
gt-referencingImplementation of co-ordinate location and transformation 实现了坐标的定义、转换
gt-metadataImplementation of identification and description 元数据的描述和识别
gt-opengisDefinition of interfaces for common spatial concepts 定义了空间概念的接口

插件

ModuleJARPlugin
gt-render
gt-jdbcgt-jdbc-db2Geometry in DB2
gt-jdbc-h2Pure Java “H2” database
gt-jdbc-mysqlGeometry in MySQL
gt-jdbc-oracleOracle SDO Geometry
gt-jdbc-postgisPostgreSQL extension PostGIS
gt-jdbc-sqlserverSQL Server
gt-jdbc-hanaSAP HANA
gt-jdbc-terasdataTeradata
gt-maingt-shapeShapefile read/write support
gt-wfsWFS read/write support
gt-xml
gt-cql
gt-main
jts
gt-coveragegt-geotiffGeoTIFF raster format
gt-arcgridarcgrid format
gt-mifMIF format
gt-imageJPG, PNG, TIFF formats
gt-referencingepsg-access .Official EPSG database in Access
epsg-hsqlPure Java port of EPSG database
epsg-wktLightweight copy of EPSG codes
epsg-postgresqlPostgreSQL port of EPSG database
gt-metadata
gt-opengis

扩展

除此之外,GeoTools团队在GeoTools的基础上实现了一些扩展,当然了,这些扩展是为了提供一些额外的功能。这些扩展是相互独立的,我们可以直接在项目中使用。

JARExtension
gt-graphWork with graph and network traversals
gt-validationQuality assurance for spatial data
gt-wmsWeb Map Server client
gt-xsdParsing/Encoding for common OGC schemas
gt-brewerGeneration of styles using color brewer

GeoTools团队为了支持GeoTools中的XML模块,将几个XML模式打包成JAR形式,方便开发者进行调用。

JARSchema
net.opengis.owsopen web services schema
net.opengis.wfsweb feature service
net.opengis.wpsweb processing service schema
net.opengis.wcsweb coverage service schema
net.opengis.wfsweb feature service schema
org.w3.xlinkXLink schema

XSD解析器通过一系列XSD插件使用这些工具。这些插件指示如何使用Eclipse XSD库解析和编码额外的内容来解析XML模式文档,并提供“绑定”,显示如何解析和编码Java类,如String、Date、URL和Geometry。

JARBindings
gt-xsd-coreBasic types defined by XML schema
gt-xsd-fesfilter 2.0
gt-xsd-filterfilter (used by OGC CAT and WFS)
gt-xsd-kmlkeyhole markup language
gt-xsd-wfsweb feature service
gt-xsd-wpsweb processing service
gt-xsd-gml3geographic markup language 3
gt-xsd-gml2geographic markup language 2
gt-xsd-owsopen web services
gt-xsd-wcsweb coverage service
gt-xsd-wmsweb map service
gt-xsd-sldstyle layer descriptor

以下是GeoTools不支持的扩展,你也可以使用Maven下载它们来使用。

UnsupportedPurpose
gt-swtStandard widget toolkit interactive map
gt-swingSwing interactive map
gt-oracleretired oracle support
gt-postgisretired PostGIS support
gt-db2retired db2 support
gt-wpsWeb Processing Service client
gt-processJob system for spatial data

geotools引用

maven项目中引用值得注意的地方

1 在pom中配置仓库


<repositories><repository><id>osgeo</id><name>OSGeo Release Repository</name><url>https://repo.osgeo.org/repository/release/</url><snapshots><enabled>false</enabled></snapshots><releases><enabled>true</enabled></releases></repository><repository><id>osgeo-snapshot</id><name>OSGeo Snapshot Repository</name><url>https://repo.osgeo.org/repository/snapshot/</url><snapshots><enabled>true</enabled></snapshots><releases><enabled>false</enabled></releases></repository><!--GeoServer--><repository><id>GeoSolutions</id><url>http://maven.geo-solutions.it/</url></repository>
</repositories>

2 如果setting中使用了阿里云镜像设置不起作用

<mirror> 
<!--该镜像的唯一标识符。id用来区分不同的mirror元素。 --><id>nexus-aliyun</id><!--*指的是访问任何仓库都使用我们的私服--><mirrorOf>*,!osgeo,!GeoSolutions,!osgeo-snapshot,!alfresco</mirrorOf><!--镜像名称--><name>Nexus aliyun</name><!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL--><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

pshot,!alfresco

<!--镜像名称-->
<name>Nexus aliyun</name>
<!--该镜像的URL。构建系统会优先考虑使用该URL,而非使用默认的服务器URL-->
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/142874.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux学习笔记 --- Linux基础命令Part2

2.9 查找命令(which、find&#xff09; 目标&#xff1a;1. 掌握使用which命令查找命令的程序文件 2. 掌握使用find命令查找指定文件 which命令 我们在前面学习的Linux命令&#xff0c;其实它们的本体就是一个个的二进制可执行程序。 和Windows系统中的.exe文件&#x…

清除一键还原精灵开机热键F11的正确方法

刚开通博客园&#xff0c;就写我刚才才处理的一个问题吧。 先描述一下问题吧&#xff0c;我以前才装Win7系统的时候&#xff0c;想弄个还原&#xff0c;于是去下载了一个一键还原精灵&#xff0c;结果安装失败了&#xff0c;不过开机热键却保留了下来&#xff0c;每次开机都要提…

u深度重装系统详细教程_u深度一键还原精灵电脑重装系统使用教程

电脑已经是家家户户必备的电子产品&#xff0c;有了它可以为我们带来一系列不同的乐趣以及帮助。当然&#xff0c;电脑也有出差错的时候&#xff0c;在遇上电脑系统无法正常使用时&#xff0c;大多数人会使用附带有应急系统的u盘启动盘为电脑重装系统的操作。但是pe系统中附带的…

冰点还原精灵和惠普增霸卡安装软件的方法

还原系统无法安装东西 适用于冰点还原精灵和惠普增霸卡发现这个方法的经过 适用于冰点还原精灵和惠普增霸卡 在我们使用还原系统如健康上网专家或者惠普增霸卡这样的还原系统的时候&#xff0c;难免出现想后期安装点软件。但是安装后电脑重启后就被还原了&#xff0c;软件也就…

破解还原卡的方法总结

分享一下我老师大神的人工智能教程&#xff01;零基础&#xff0c;通俗易懂&#xff01;http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识&#xff0c;造福人民&#xff0c;实现我们中华民族伟大复兴&#xff01; 破解三茗还原卡还原卡及还原精灵的破解还原…

冰点还原精灵卸载

冰点还原是一个系统的保护软件&#xff0c;不论什么原因你的系统出现了故障&#xff0c;它都可以快速的恢复到你原先的状态和设置。它会随时记录你的操作&#xff0c;当前打开的文件&#xff0c;运行着的程序和各项设置。 但是当你有一天不想用他了&#xff0c;你是否懂…

冰点还原无法修改计算机时间,系统还原后无法更改系统时间?这个方法必须会...

原标题&#xff1a;系统还原后无法更改系统时间&#xff1f;这个方法必须会 对于公用电脑&#xff0c;为了防止乱装软件&#xff0c;都会安装了冰点还原精灵这类的系统还原软件来保护电脑系统。但是之后发现系统时间不对&#xff0c;双击修改时弹出“您没有适当的特级权&#x…

按键精灵 手机 oracle,按键精灵Android版:软件使用

1.1按键精灵Android版(APP) 1.1.1脚本管理器 按键精灵Android版的APP在界面功能层次上尽量扁平化&#xff0c;大多数操作均在脚本管理器内完成&#xff0c;界面由菜单栏、脚本列表及可伸缩的脚本操作栏组成&#xff0c;用户可以在这里直接进行脚本的创建、管理与编辑。(如图1) …

冰点还原精灵是怎么用的

有很多网友说装了冰点还原精灵后想卸载&#xff0c;可又不知道怎么卸?网上下的工具不是报毒就是用不了&#xff0c;在这里小编详细图文教您们一遍。 冰点是利用驱动的形式加入操作系统的内核模块中来实现其还原功能的&#xff0c;它必须依附于原来的系统,一旦进入另外一个系统…

冰点还原精灵有什么作用

冰点还原精灵是一款超强大的系统还原软件&#xff0c;可使计算机配置免遭破坏&#xff0c;从而将 IT帮助台收到的求助数量和耗费的成本降低 75%。它可以确保每个台式机、笔记本和服务器始终处于部署该软件之初的最佳运行状态。 公司&#xff0f;组织的计算机的可靠性得以显著提…

分享一款好用的电脑背单词软件

推荐一下这款单词风暴&#xff0c;虽然看起来很老了&#xff0c;但是好用&#xff0c;功能多。 下载地址 单词风暴免费版下载_官方免费版_单词风暴官方网站 (wordstorming.com) 下面是主界面 需要登陆ID:285804755-QGJTE-HCUMQ 下面是词库 不过我最喜欢的功能是这里面可以…

MYSQL数据库同步工具

MYSQL数据库同步工具 MYSQL数据库同步工具功能说明配图 MYSQL数据库同步工具 GIT地址&#xff1a;https://gitee.com/michlee/mysql-sync 因开发需要&#xff0c;经常要同步MYSQL数据库结构及部分基础数据到其他生产服务器。而且有时候需要一次性同步到多台服务器&#xff0c;…

数据库同步工具的测试要点

数据库同步过程&#xff0c;最严格的指标&#xff1a; 第一是效率&#xff0c;即每秒同步SQL条数&#xff1b; 第二是一致性&#xff0c;即主库产生的数据&#xff0c;备库同步后是否一致&#xff1b; 第三是完整性&#xff0c;即当同步的各个环节出现问题时&#xff0c;如何考…

两个数据库数据实时同步-多元异构数据实时同步工具

SyncNavigator是一款功能强大的数据库同步软件&#xff0c;适用于SQL SERVER, MySQL&#xff0c;具有自动/定时同步数据、无人值守、故障自动恢复、同构/异构数据库同步、断点续传和增量同步等功能&#xff0c;支持Windows xp以上所有操作系统&#xff0c;适用于大容量数据库快…

DataX数据同步工具使用

1.DataX 简介 DataX 是阿里云 DataWorks 数据集成 的开源版本&#xff0c;主要就是用于实现数据间的离线同步。 DataX 致力于实现包括关系型数据库&#xff08;MySQL、Oracle 等&#xff09;、HDFS、Hive、ODPS、HBase、FTP 等 各种异构数据源&#xff08;即不同的数据库&…

数据同步工具—Sqoop

数据同步工具—Sqoop 1 Sqoop概述 传统的应用程序管理系统,即应用程序与使用RDBMS的关系数据库的交互,是产生大数据的来源之一。由RDBMS生成的这种大数据存储在关系数据库结构中的关系数据库服务器中。 当大数据存储和Hadoop生态系统的MapReduce,Hive,HBase,Cassandra,…

数据库同步软件介绍以及使用说明(SyncNavigator多元异构数据实时同步工具)

SyncNavigator是一款功能强大的数据库同步软件&#xff0c;适用于SQL SERVER, MySQL&#xff0c;具有自动/定时同步数据、无人值守、故障自动恢复、同构/异构数据库同步、断点续传和增量同步等功能&#xff0c;支持Windows xp以上所有操作系统&#xff0c;适用于大容量数据库快…

mysql数据库同步工具_mysql同步工具_mysql数据库同步

下载网站:www.SyncNavigator.CN 客服QQ1793040 ---------------------------------------------------------- 关于HKROnline SyncNavigator 注册机价格的问题 HKROnline SyncNavigator 8.4.1 企业版数据同步软件 自2009年第一个版本开发出来以来&#xff0c;经过8年不断地根…

ETL工具(数据同步)

一、研究了kettle Kettle最早是一个开源的ETL工具 前置条件&#xff0c;kettle是一个jar包项目&#xff0c;依赖jdk。安装kettle需要安装好jdk环境 二、下载安装 1、源代码下载&#xff1a; GitHub - pentaho/pentaho-kettle: Pentaho Data Integration ( ETL ) a.k.a Ket…

数据同步工具的研究(实时)

数据同步工具的研究&#xff08;实时同步&#xff09;&#xff1a; FlinkCDC、Canal、Maxwell、Debezium ——2023年01月17日 ——Yahui Di 1. 常用CDC方案比较 2. FlinkCDC FlinkCDC的简介&#xff1a; Flink CDC 连接器是 Apache Flink 的一组源连接器&#xff0c;使用变…