| GIS开源软件概述-2(转) |
| By 3s4d 发表于 2008-4-10 13:16:00 |
“Java”派系项目
“Java”派系项目主要是内核或前端平台由Java语言撰写的项目,包括了开发人员熟悉的GeoTools、uDig、GeoServer、JavaTopologySuite、JUMP,以及DeeGree等。
在“Java”派系的世界中,许多独立的项目一开始都试图完成一整套体系结构的工具集合,例如OpenMap、GeoTools,以及deegree。
目前,OpenMap项目仍然处于独立研发的状态,没有与其他想法发生融合、交叉。但是deegree和GeoTools项目已经决定逐渐融合到一起,另外最新的uDig桌面平台使用了同样的一套GeoServer和GeoTools底层支持类库和资源。
目前, JAVA世界中的开发人员目前都围绕着JTS拓扑工具集作为几何操作的基础类库,或者是基于其之上的第二个层次的类库GeoTools。
JTS是目前开源JAVA GIS程序开发人员所有项目的核心几何类库。JTS提供了一整套遵循OGC简单几何对象规范的实现,与前面GEOS类似,所有的函数描述都是可以在“Simple Features for SQL Specification”找到的。
使得JTS不同于其他项目的也正是“空间谓词”与“空间操作”。空间谓词是比较两个空间对象并返回一个布尔变量值作为结果,它表明了存在于两个空间对象之间特殊的关系。
比如典型的空间谓词有Contains(), Intersects(), Touches(), and Crosses()函数等。JTS项
目中对该些函数的实现是异常强壮的,即使是奇异几何对象或是临时的坐标系统运算也不能使其运算不正常或计算错误。目前绝大多数的商业软件仍然在最基础的空
间谓词上出现问题,这正是JTS项目的重要意义。“空间操作”则主要是对两个几何对象进行计算并且返回一个新的几何实体。
比较典型的操作函数如Difference(), Union(),以及Buffer()等。JTS中的操作算法已经被广泛的经过了测试。“空间
谓词”与“空间操作”之所以有着如此重要的意义主要是在于其非常难于编码实现,因为这个原因,JTS类库被各类开源空间信息软件项目广泛应用,使用
JTS,它们可以基于最新的规范的几何实体来完成,同时也拥有了复杂空间方法的实现。
GeoTools是也是遵循OGC规范的GIS工具箱。它拥有一个模块化的体系架构,这保证每个功能部分可以非常容易的加入和删除。GeoTools目标是支持OGC所有的规范并且各类国际规范和标准。
GeoTools已经在一个统一的框架下开发了一系列的JAVA对象集合,其完全满足了OGC的服务端的各种服务并且提供了OGC兼容的单独应用
程序。GeoTools项目由一系列的API接口以及这些接口的实现组成。开发一整套产品或应用程序并不是GeoTools的目的,但是其鼓励其他应用项
目使用它以各类工作。
“NET”派系项目
“NET”体系框架目前是微软公司最新的企业级体系,其驾御在NET CLR之上包括了VB.NET、C++和C#等多种语言,众多的程序开发语
言都是基于一套虚拟的设备完成工作和运转的,因此无论是用什么语言撰写,只要符合NET CLR规范并基于其运行的程序,我们都归为“NET”派系的项目
范畴中。这其中包括了MonoGIS、Appomattox、NetTopologySuite、GeoTools.NET,以及SharpMap等。
PostGIS/PostgreSQL项目的标准原生接口libpq(C/C++)、PGSQL(C#语言撰写)和JDBC(Java语言撰写)可以被各种派系的软件完成各类工作,因其主要的目的是完成软件之间的互操作。
然而,因为PostGIS/PostgreSQL的内核是纯C语言撰写,同时依赖于多个基于C语言开发的GIS类库,所以将其归为“C”派系也
就、非常正常可信了。另外,比如MapServer软件可以被Java开发者广泛的使用,这是通过使用JNI桥接技术实现的,目前通过OGC规范的WMS
和WFS协议也可以完成类似的工作。
“NET”派系是年纪最小也是内容最少的一个派系,虽然时间稍短,但我们仍然不容小看其发展前景,随着NET平台在全球的广泛应用,另外还有类似
MONO项目的蓬勃发展,Windows与Linux之间代沟逐渐变小,两者之间的互操作也是几代程序员的梦想,从上图中可以明显的看到NTS仍然作为
JTS在NET世界的替代占据着重要的位置,GeoTools.NET作为GeoTools的替代也非常的重要,基于这两个项目的MonoGIS目前是
Mono平台下的开源完整GIS。已经发布了Internet MapServer,OGC WMS实现和空间格式互操作的工具。另外一个非常年轻的项目
SharpMap也因为网络地图的发布做出了自己的特色。本专题另有专文会对SharpMap和MsSQLSpatial进行描述。
World Wind是美国航空航天局 (NASA)推出的,主要是通过Client/Server的架构,由World Wind在全球尺度下统一管理海量的遥感影像和GIS空间数据,是开源版的Google Earth。
目前World Wind拥有的数据包括 Blue Marble、Land Sat 7、SRTM、NASA SVS、MODIS、
GLOBE、USGS…等。目前,World Wind OGC WMS1.3.1的最新规范,可以获取最新的空间数据模型和模拟演示等,非常适合科研单
位的研究人员、高校师生用于教学和研究。2006年,Google 在全球支持开源活动Summer Of Code中,就支持了WorldWind与
Shapefiles格式互操作的学生项目。
勾勒未来
通过对诸多项目的介绍,希望读者清晰了解哪些项目是自己的工程人员可以快速掌握的? 哪些项目是可以解决自己应用工程难题的? 哪些项目是可以替代已有商业软件的?
通过这种对比和思考,相信读者能对国际目前的开源空间信息技术有更加清晰的了解,并可能参与其中。
|
| |
|
| 期待着你的帮助! |
| By danwong7852(游客)发表评论于2008-5-13 17:48:00 |
请问,我如何使用GeoTools中的缓冲区查询,能够给一些实例代码?谢谢! 我的邮件:danwang7852@sina.com 期待着你的帮助! |
| |
|
| |
站点公告
页面载入中.... |
站点日历
|
最新日志
页面载入中.... |
最新评论
|
最新留言
页面载入中.... |
友情链接 |
站点统计
页面载入中.... |
日志搜索
页面载入中.... |
用户登陆
页面载入中.... |
| | | |