在前面的两篇学习日志解决了如何利用GeoTools读取Shapefile格式的文件。

目前通过一个星期的学习,主要解决了如下问题:

1 解决投影下的多边形面积计算,多边形周长计算问题。

2 解决投影相互转换的问题。

在整个熟悉GeoTools(已经学习了大概一个星期左右了)的过程中,造成的最大困扰就是在查找API文档学习的时候,好多接口和类都不在GeoTools的javadoc中,好多在JTS和GeoAPI的javadoc中。

这里就带来一个问题:GeoToolsJTS还有GeoAPI到底是什么关系?

回答这个问题的前提首先是它们分别是什么:P

JTS

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

GeoAPI

GeoAPI为OpenGIS规范提供一组Java接口.

Geotools

Geotools是一个开源的Java GIS工具包,可利用它来开发符合标准的地理信息系统。Geotools提供了OGC(Open Geospatial Consortium)规范的一个实现来作为他们的开发。

简单而言:GeoTools的目标是致力于开发一个符合规范的Gis工具包,既然是工具包,那么就要有很多工具用来对付构建一个完整的地理信息系统时会碰到的问题,常见的问题比如:投影的转换,基准面的设定,空间数据对象的渲染和样式,各种数据源的支持,各种GIS文件格式支持,空间数据过滤与搜索。。。。等等的问题。 在开发这些工具的时候,恰好在处理空间数据图形关系的时候,有一个非常好的解决方案,那就是JTS,JTS解决了对象与对象之间拓扑关系的判定和计算,并提供很多有用的算法来解决对象的面积,长度。。。等等等的问题。这样而言,JTS就相当于GeoTools中的一个子模块。但因为这个模块本身不是GeoTools工程的,所以在javadoc中找不到JTS的API,需要到JTS官网上面另外下载。至于GeoAPI则是GeoTools符合标准的模板。它制定了地理信息系统中所有的数据类型应该是什么,投影转换的方式有哪几种诸如此类的规范。这样兼容GeoAPI接口的GeoTools才是一个符合规范的地理信息系统工具包。

GeoTools到底能做什么?这也是经常围绕在我脑海中的一个问题,下面这张图对这个问题的回答应该是有所帮助。

GeoTools,JTS和GeoAPI -- (学习GIS【3】)相关推荐

  1. GeoTools——JTS空间操作

    目录 一.引言 二.代码操作 1.服务端 2.返回数据 3.客户端 三.总结 一.引言 使用geotools主要是对数据进行操作,这里的操作包括空间关系判断和空间关系运算.这里的空间关系判断常用的是否 ...

  2. 一些学习gis有关的文章

    原文:http://blog.csdn.net/allgis/article/details/9863053 1.[JAVAEE]JSP include参数的中文乱码问题 2.[CityEngine] ...

  3. 我要偷偷学习C#,然后学习GIS二次开发之试题汇总(附答案)

    一.单项选择题(每小题2分,共20分) 在类作用域中能够通过直接使用该类的( )成员名进行访问. A. 私有 B. 公用 C. 保护 D. 任何 答案:D 小数类型(decimal)和浮点类型都可以表 ...

  4. geotools学习(七)地图样式

    样式 请确保您的pom.xml包含以下内容: <dependencies><dependency><groupId>org.geotools</groupId ...

  5. geotools学习(一)IntelliJ快速入门

    title: 'geotools学习(一)IntelliJ快速入门' date: 2021-04-29 14:08:52 tags: [] published: true hideInList: fa ...

  6. geotools学习(五)影像

    影像应用 前面的示例中,我们研究了读取和显示shapefile.对于ImageLab.java,我们将通过显示一个三波段的全球卫星图像,并将其与shapefile中的国家边界叠加,从而将栅格数据添加到 ...

  7. jts学习——com.vividsolutions.jts.geom包

    介绍 jts是一个为GIS服务提供的api,内部可以用坐标点构建空间模型,判断模型之间的关系等 Coordinate JTS内部封装的一个坐标类Coordinate(坐标)是用来存储坐标的轻便的类.它 ...

  8. geotools学习(一)IntelliJ IDEA搭建快速入门示例.pdf

    完整文档下载地址:https://download.csdn.net/download/a772304419/17241395 /** GeoTools - The Open Source Java ...

  9. 新学年,推荐一份GIS书单给爱学习的你

    ​新学年开始了,刚好之前有一些童鞋询问学GIS应该看什么书,趁周末整理了下,分享给各位做个参考.(考虑到大家想要马上动手操作的需要,本次没有推荐任何理论书籍,以下图书排名不分先后,自己看需要选择.) ...

最新文章

  1. INRIX自动驾驶汽车平台扩大使用范围 帮助城市管理交通
  2. 第10讲:高效存储 MongoDB 的用法
  3. 关于VS2010帮助文档的使用和VC6.0在Win7 64位下的使用
  4. Basis Cash动态铸币税阈值和债券发行上限提案正式生效
  5. 中文信息处理—已分词标注语料的抽取词表和文本还原
  6. 敏捷开发团队管理系列之二:程序与测试团队I
  7. Linux acpi off报告ACPI bug处理方法
  8. 翻译: 图解卡尔曼滤波器的工作原理
  9. 最大似然参数估计的求解
  10. 怎么计算机械需要的电机,步进电机力矩的怎么计算?
  11. java实现供应链_基于jsp的企业物流供应链-JavaEE实现企业物流供应链 - java项目源码...
  12. 用计算机拜年祝福语,适合拜年发的朋友圈祝福语
  13. Ant Design select下拉框突然拉长
  14. Google发布文本内容生成短视频工具:Imagen Video
  15. POWER BI学习之EARLIER()函数
  16. 机械手臂类机器人现状
  17. angular预览PDF总结
  18. L1-054 福到了 (15分) c++解法
  19. The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
  20. 【深度学习】用CNN实现全景图像语义分割!

热门文章

  1. 小米2s稳定版刷开发版方法
  2. 分享107个小清新ppt模板,总有一款适合您
  3. 安装NGrabLite 录像DM500
  4. (六十四)朴素贝叶斯算法
  5. python3爬虫踩坑记纪录篇(二)
  6. 在线磁盘扩容 500G =》 2T 实战教程
  7. 2022下半年软考报名今日开始!来看你所在省份报名时间!
  8. Netlogo笔记07:蚁群算法实现TSP问题可视化
  9. Spring Boot||html页面的css等资源加载失败
  10. dma接收双缓存 stm32_STM32和WM8960 I2S 利用DMA双缓冲音频播放和录音(二)