开源GIS浅谈

谈到GIS软件,首先让我们想到的是GIS界的龙头大哥ESRI公司旗下的ArcGIS产品,从最初接触的version 9.2到如今的version 10.4,其发展可谓风生水起。MapInfo软件也不错,可是给人的感觉是渐渐被淘汰了似的,周围使用该软件的人并不算多。同时也使用过国内的SuperMap软件,MapGIS软件等,个人感觉还是强大的ArcGis产品有一段距离的,希望国内的GIS产品体系越做越强大吧..不要单纯的停留在复制、抄袭阶段。这些产品在国内GIS中的份额几乎可以覆盖全部。

介于商业软件的昂贵,中小型企业消费不起啊。不过借助网络的强大,如何免费地安装并使用这些商业软件已成为公共的秘密。至于版权问题,在国内也是无所畏惧的事情,但是还是谨慎一些为好吧,如果在应用到商业开发还是必须要涉及版权的,否则后果还是很严重的。

作为一个无知的Coder,很好奇这一个个地图是如何显示出来的,这一个个投影是如何体现到地图上的,这一系列数据是如何存储到Shapefile、存储到数据库中的,这一个个分析功能是如何解决的,等等。显然这些商业软件不会告诉你答案,他们提供的开发接口都是一个个黑箱。于是将触角转向开源软件界,试图去寻觅这些问题的答案。

回想以前做项目,写代码都缺少整理和归纳,等到用的时候却找不到先前的资料,理解也不够。因此决定通过写日志的方式,将这些信息都记录下来,做一番整理的工作。以下内容是查阅相关资料并结合个人理解总结的。


1.GIS开源软件简介

GIS的出现是上个世纪60年代的事,在当代众多IT缩写词出现之前,GIS已经在城市规划、土地管理、军事等行业得到了应用。"19世纪是铁路的时代,20世纪是高速公路的时代,21世纪是网络的时代"。互联网络(Internet)的迅速崛起和在全球范围内的飞速发展,使万维网(WorldWideWeb简称WWW或Web)成为高效的全球性信息发布渠道。这一技术正在以很快的速度进入每家每户,它将把地球变成一个小小的村落。网络时代即将来临,GIS作为一门交叉学科,它的发展伴随着计算机技术的发展。随着软件的开源化趋势GIS软件也开向开源时代迈进。

不同于商业GIS软件,开源GIS软件不用背负数据兼容、易用性等问题的包袱,开发者能够集中精力于功能的开发,因此开源GIS软件普遍功能很强,技术也非常先进,其背后是来自技术狂热者和学院研究生的大力支持。

开源GIS软件目前已经形成了一个比较齐全的产品线。在www.freegis.org网站上,我们会发现众多各具特色的GIS软件。老牌的综合GIS软件GRASS,数据转换库OGR、GDAL,地图投影算法库Proj4、Geotrans,也有比较简单易用的桌面软件Quantum GIS,Java平台上有MapTools,MapServer、GeoServer则是优秀的开源WebGIS软件。各种空间分析,模型计算尤其是开源GIS领域的强项。

开源GIS世界虽然繁荣,但其影响还是很小,其身份在外人眼里看来是高莫测的专业工具,现有的Linux发行版中也没有哪个集成了开源GIS工具。开源GIS技术虽然先进,但是缺乏良好的能够满足商用的发行版本,因此涉足开源GIS领域的多是技术爱好者和科学家,而少有商业人士问津。如果能提供一个比较系统的、达到商用要求的开源GIS解决方案,并能获得稳定发行版,如同Linux+Apache+MySQL+PHP那样,开源GIS前途将是不可限量。

2.当前较为成熟的GIS开源软件

2.1从开发结构角度看

一套GIS的完整开发框架,包括四个组成部分:标准层、数据库层、平台层和组间层。这四个部分从下到上,从底层到高层,共同构成一个完整的体系。

                                               

2.1.1标准层

标准层主要是用于制定各类标准。开放的GIS标准主要有两大体系:OGC(http://www.opengeospatial.org/)、ISO/TC211(www.isotc211.org/)。前者为那些法律上的国际组织制定的标准添加详细的实现标准,同时也在市场需要的时候扩展那些法律上的标准,其侧重于系统的实现上;后者所制订的ISO19100系列的地理信息标准,是属于基础性的标准,注重概念性规格叙述,独立于执行平台外。

其中,WKT(Well-Known Text)与WKB(Well-Known Binary)是OGC制定的空间数据的组织规范,顾名思义,WKT是以文本形式描述空间数据,而WKB是以二进制形式描述空间数据。目前大部分支持空间数据存储的数据库构造空间数据都采用这两种方式。

2.1.2数据库层

数据库层主要是采用开源地理信息标准采用开源方式开发的空间数据库项目,包括POSTGIS、MySQL空间扩展等。

《Simple Features specifications for SQL》是OGC制定的关于在基于SQL的关系数据库中存储空间数据标准。这个标准(如图)定义了数据类型、空间操作符号、输入和输出格式、函数以及其他。大多数SQL数据库的空间扩展都遵循这个标准,包括PostGIS和MySql空间扩展。

                                      

2.1.2.1PostGIS

PostGIS支持所有的空间数据类型,这些类型包括:点(POINT)、线(LINESTRING)、 多边形(POLYGON)、多点(MULTIPOINT)、 多线(MULTILINESTRING)、 多多边形(MULTIPOLYGON)和集合对象集(GEOMETRYCOLLECTION)等。PostGIS支持所有的对象表达方法,比如WKT和WKB。PostGIS支持所有的数据存取和构造方法,如GeomFromText()、AsBinary(),以及GeometryN()等。PostGIS提供简单的空间分析函数(如Area和Length)同时也提供其他一些具有复杂分析功能的函数,比如Distance。PostGIS提供了对于元数据的支持,如GEOMETRYCOLUMNS和SPATIAL REF SYS,同时,PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn。PostGIS提供了一系列的二元谓词(如Contains、Within、Overlaps和Touches)用于检测空间对象之间的空间关系,同时返回布尔值来表征对象之间符合这个关系。PostGIS提供了空间操作符(如Union和Difference)用于空间数据操作。比如,Union操作符融合多边形之间的边界。两个交迭的多边形通过Union运算就会形成一个新的多边形,这个新的多边形的边界为两个多边形中最大边界。

2.1.2.2MySql空间扩展

MySQL是世界上最流行的开源数据软件。MySQL从4.1开始引入了空间功能,实现和使用方式基本和POSTGIS类似。

2.1.3组件层

数据库组件层按照功能可分为

  • 19
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值