开源

Geotools应用简要指南

    GeoTools概述:
   GeoTools
(http://www.geotools.org/):GeoTools是遵循OGC规范的GIS工具箱。它拥有一个模块化的体系架构,这保证每个功能部分可以非常容易的加入和删除。 GeoTools目标是支持OGC所有的规范并且各类国际规范和标准。GeoTools.NET(http:// geotoolsnet.sourceforge.net/Index.html)则是与Java对应的.NET版本。

    Geotools项目已有十多年历史,生命力旺盛,代码非常丰富,包含多个开源GIS项目,并且基于标准 的GIS接口。Geotools主要提供各种GIS算法,实现各种数据格式的读写和显示。在显示方面要差一些,只是用Swing实现了地图的简单查看和操作。 但是用户可以根据Geotools提供的算法自己实现地图的可视化。OpenJump和udig就是基于Geotools的。

   Geotools用到的两个较重要的开源GIS工具包是JTS和GeoAPI。前者主要是实现各种GIS拓扑算法,也是基于GeoAPI的。但是由 于两个工具包的GeoAPI分别采用不同的Java代码实现,所以在使用时需要相互转化。Geotools又根据两者定义了部分自己的GeoAPI,所以 代码显得臃肿,有时容易混淆。由于GeoAPI进展缓慢,Geotools自己对其进行了扩充。另外,Geotools现在还只是基于2D图形的,缺乏对 3D空间数据算法和显示的支持。

     Geotools支持的数据格式:
  1. 支持的栅格格式和数据访问:arcsdearcgridgeotiffgrassrastergtopo30image(JPEGTIFFGIFPNG), imageio-ext-gdalimagemoasaicimagepyramidJP2K,matlab
  2. 支持的数据库“jdbc-ng”:db2h2mysqloraclepostgisspatialitesqlserver
  3. 支持的矢量格式和数据访问:app-schemaarcsdecsvdxfedigeoexcelgeojson,orgpropertyshapefilewfs
  4. XML绑定。基于xml的Java数据结构和绑定提供了如下格式xsd-core (xml simple types), fes,filtergml2gml3kmlowssldwcswfswmswpsvpf。对于额外的geometrysldfilter的编码和解析可以通过domsax程序。
         支持大部分的OGC标准
  1. OGC中的sld/SE和渲染引擎;
  2. OGC一般要素模型包括简单要素支持;
  3. OGC中栅格信息的网格影像表达;
  4. OGC中WFS,WMS和额外的WPS;
  5. ISO 19107 geometry规范;

    Geotools依赖的开源项目:

  1. JTS:JTS是加拿大的 Vivid Solutions 做的一套开放源码的 Java API。它提供了一套空间数据操作的核心算法,为在兼容OGC标准的空间对象模型中进行基础的几何操作提供2D空间谓词API。
  2. GeoAPI:GeoAPI为OpenGIS规范提供一组Java接口。
    GeoTools类库
   GeoTools发布的包和其依赖的一些第三方类库总共约有168个,了解GeoTools依赖哪些包和依赖的这些包做什么的,对了解GeoTools这个大家伙一定是有帮助的,具体大家可以下载代码查看,上网搜索一般都能找到一些有用的资料。
  以下是核心类库的79个jar包:

   Eclipse上搭建GeoTools应用开发环境

   GeoTools官网中的Users Guide里有一节"Welcome to Eclipse Developers”,讲解了在Eclipse下搭建GeoTools应用开发环境。原文地址+to+Eclipse+Developers
  一、下载geotools需要的jar包和src。我下载的是geotools-2.7-M0-bin.zip和geotools-2.7-M0-project.zip。可以去官网下载最新的
  二、在Eclipse里创建工程
1、在Eclipse里创建新工程,命名为GeoTools.把下载的两个ZIP包放到工程文件下,并解压
2、在Build path里添加引用geotools-2.7-M0-bin中的jar
在Order and Export面板中,点击全选,再去选JRE System library
3、新建java工程,取名Examples,在project面板中,加入GeoTools工程
  三、运行Demo
1、Examples工程中建package  org.geotools.demo
2、 在geotools-2.7-M0-project.zip解压文件夹下,找到Quickstart.java,拷到org.geotools.demo 中。(geotools-2.7-M0-project\geotools-2.7-M0\demo\example\src\main\java \org\geotools\demo下有Quickstart).
3、运行Quickstart
499x496

  四、代码关联
  在Geotools工程的Reference Library下,找到gt-api-2.7-mo.jar,右键Properties,关联源文件,路径指向geotools-2.7-M0-project.zip即可。

745x535

  备注:本节截图来自GeoTools网站。大家可以参照帮助中的原文进行操作。

Geotools相关链接:

  1. JTS
  2. GeoTools
浏览过本文章的用户还浏览过
  • AVCE00 2.0.0:Arc/Info Vector Coverage <-> E00 开源组件库

    AVCE00 是一个ANSI C library, 支持Arc/Info binary coverages 转换成ASCII E00。支持读取和创建coverages文件。这个库的设计比较容易移植到一个E00、coverages文件的转换工具中 [详细]

  • 站在巨人的肩上:开源GIS工程大全索引

    在GIS帝国建立一个较为全面的开源和免费的gis软件工程索引,方便今后进行更新,让大家进一步了解开源GIS的伟大成果,让我们利用他们在空间技术应用方面有更多的创新。这些开源工程大多都在 OSGeo , FreeGIS.org, 和 freecode进行过发布。 [详细]

  • 虚拟地球原理与实现(转载)

    2005年,美国谷歌公司推出了一款免费的虚拟地球浏览软件GoogleEarth(谷歌地球),给了人们一种全新的感受,数据动态装载、地形渐进描绘、多重细节层次(LOD: Levels of Detail)和虚拟现实表现等已成为虚拟地球的典型技术特征。 [详细]

  • MapServer教程:MapFile配置入门

    我们会介绍一下MapFile的基本语法。后面使用的Mapfile,不会给出具体的说明。 [详细]

热门资讯
  • 一周
  • 一月

标签云

here地图    Uber    gis    地图    OpenScales    环保    谷歌地图    辐射    OpenLayers    反中微子排放        NASA    虚拟现实    大疆    癌症   
百度广告