利用开源软件提高自己的GIS编程能力

        好吧,这个标题可能有点误导。但我也想不出其他更好的标题了。如果您能提出来合适的,我会立即更改。

       本文主要介绍一些开源的GIS开发库和工具,如果大家在生产研究中需要进行相应的处理,使用这些开发库和工具可以节省许多时间和经历。同时,在研究的过程中使用这些“底层”的工具,可以加深大家对基本原理和理论的认识。

       本文不是“死”的,我将会一直维护和更新本文。

       现在,就让我们开始吧。

一、我的GIS经历

       首先,吐槽下我的GIS经历吧。

       本科阶段,还是测绘工程专业的。大部分课都是跟着地理信息系统专业的同学一起上。在老师朦胧的介绍中,我们当时粗浅的理解就是:测绘做外业,GIS做内业。

       考上研究生后,专业转成了地图学与地理信息系统。做了一些项目,如地名地址、还有最近的两权发证,都与要使用到ArcGIS。不光在生产中需要用到ArcGIS。另外在研究当中,也使用ArcGIS作为研究工具。比如前一阵子,来我校举行讲座的萧世伦(Shih-Lung Shaw)教授就是用ArcGIS作为其研究工具(这么说好像有点。。。哪个从事GIS研究的不用ArcGIS啊。)

       的确,谈到GIS就不能不说ESRI,ESRI的影响力之大,以致有人称呼ESRI为GIS界的微软。

       聚会时,有高中同学问GIS是做什么的。我反问了他们:在你们眼里GIS是做什么的?得到的答案有许多,其中最有喜感的是一个女同学的答案,她说GIS和PS差不多。。。因为在她眼里,我们也是对着电脑处理一些“照片”。

二、GIS编程实现

       在平时我们都是用专业的应用软件来处理相关数据,如ArcGIS等。同时有时候也会通过Arc Engine,使用C#等语言进行二次开发。以定制开发适合自身需要的工具。关于ArcGIS的使用,以及二次开发,网上的资料很多。而这篇文章的侧重点提高自身的GIS编程能力,所以这里介绍一些如何使用一些开源软件和工具来处理GIS数据。使用开源软件的好处之一就是您可以在使用的过程中,遇到不明白的地方,去查看源代码,观察这个软件包的对某个问题的处理方式和实现办法。

       下面将要介绍一些GIS开发中可以使用到的开源软件和工具,通过这些工具的使用,大家可以了解在GIS数据在“底层”处理的一些简单的认识。当然,这里的底层和计算机上常说的底层是不同的。希望通过介绍这些工具的使用,来达到抛砖引玉的作用。让大家能学习到更多的知识。

       GIS数据的处理,概括来说,有读取/输出、处理、显示三大步骤。不过在下面将要介绍的工具和库中,每个库的作用并不是单一的。比如有的库可以读取/输出,也可以进行部分的处理工作;有些库可以进行显示和渲染,但也可以进行一部分处理工作。下面就通过对shapefile的处理来分别简要介绍这些库。

       GIS相关的许多工作,其实都是对shapefile进行处理。除了使用专业的工具之外,我们还可以使用一些开源的工具和编程语言,从底层进行开发和使用。

       如果想从底层开发一个GIS数据处理工具,并且能够自由分发的。可以尝试使用GDAL/ORG、GEOS等工具。

1、GIS开发的语言

       编程语言数目繁多,有专攻科学计算的Matlab;有系统开发语言C/C++

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值