开源类库GDAL与ArcGIS的关系

      ArcGIS 10已经出来了,丰富的GIS工具和改进的界面交互是10的新特点。在这些新特点中,也包括了新的数据格式的支持。这里的格式分为两部分,栅格数据格式和矢量数据格式。

      对于ESRI的矢量库,可以说有目前业界支持功能最强大的ArcGIS桌面平台支持。无论从矢量模型的抽象,到数据格式的规范定义,ESRI都是走在业界最前面的。在FME扩展的支持下,几乎支持了目前所有的矢量数据格式,将近有100多种矢量格式能够被支持。

     栅格数据的处理ESRI支持的不如主流的遥感软件,但是现在大有赶超之势,栅格数据中的代数运算等功据,以及有限的一些分类工具使得ArcGIS慢慢呈现出对栅格数据支持的完善。10中,Imageserver已经成为一个单独的扩展模块了而不是单独的产品了,整个功能也和ArcGIS有了更好的紧密联系。

     说了这么多,那和GDAL开源有什么关系。我想说大有关系,ArcGIS 10新功能中提及的支持更多的栅格数据格式,本质上是因为GDAL栅格库新版本支持了更多的数据格式。ArcGIS 10其实在底层对栅格数据的处理都是采用的GDAL类库。

     GDAL类有什么特点呢?为什么ESRI都用它?

     我觉得模型抽象得好是这个开源类库成功的关键。无论你是栅格还是矢量,好的模式是成功的关键。如果看过设计模式,就会理解相同过程的操作方式可以提炼出来。在栅格中所有的栅格数据操作也都有固定的操作方式(其实这取决于结构),因为栅格定义上本质的操作是对Cell做修改,细节上稍有不同,有的是1位,有的是多位, 有的是一个波段所有信息都存完,然后接着存第二个波段,有的是存完一行波段信息接着另一行波段信息,然后第一波段的第二行接着第二个波段第二行存储,所有这些都是细节,可以被掩盖。表象上我们对栅格数据的理解可以很简单,一个波段一层数据,一层数据里面只有每个cell。每种GDAL栅格数据格式都按这种方式操作处理,对于用户他不需要理解细节,而只需要知道如和得到波段(层数据),对每层数据的每个cell做操作,Cell对应的值,可以是现实中的颜色,高程等等。而对矢量的抽象更是如此,Arcgis中矢量的模型描述设计的是层(Layer),包含多个层的数据集(dataset),我们在GDAL的矢量库中看到的也是这些概念,用户最细粒度的仅需知道Feature(要素),至于Feature下面的实际数据如何存储的,用户不需要关系。有了这些概念,所有不同的数据格式可以被一致的对待。这就是模型抽象的力量,逻辑上的概念划分(设计模式中,称为原语操作)使得对象所据有的一般意义的本质特性被抽象出来,相同的操作可以处理所有的这类不同对象。 

     理解GDAL的模型抽象可以干什么?

     我为什么研究它,是因为我要扩展它,扩展的本质就是把自己定义的格式按照它的模型规范来定义。

     熟悉GDAL类库可以干什么?

    可以自己写一个GIS系统,  而且很强大。因为GIS系统的本质是对数据的处理,GDAL就是内核。我们做的工作仅限于如何读写数据,如何显示数据。这让个人写一个GIS处理平台成为可能。

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值