GIS开发人员需要掌握的知识和技能

对于GIS行业,可能很多人不是很了解,对我来说也不是很了解,在此呢,我就我自己的看法发表一下简单的看法,有什么不同的意见可以一起交流。

GIS虽说是属于地理科学或者说测绘科学与技术的范畴,但是很大一部分和计算机、数学有很大的联系。对于一个合格的GIS开发人员,可能需要掌握的东西太多了,压在我们身上的担子太重了,下面就不同方面的开发人员所需掌握的技能做一个简单介绍:

一、从开发的层次上来分

        GIS开发从开发层次上来划分的话,一般分为底层开发和二次开发。

对于底层开发来说,需要的东西就很多,比如,你要实现GIS底层的几何对象模型那么就要熟悉几何学及其相关的计算几何知识,对于空间数据可视化,你需要掌握计算机图形学和相关平台的绘图API函数,比如windows的GDI等,也可以是OPENGL或者DX。对于空间数据相关的属性数据管理,你需要掌握数据库,不管是大型的还是小型的,开源的和商业的,你总得掌握一个吧。对于空间分析这样的高级功能,需要掌握几何学和运筹学相关的知识,比如最短路径算法,就这个东西,就值得你研究的。你如果想要开发地图注记等模块,别小看注记都是一些文字,但是真正要配置的时候,这些文字需要怎样排列和分布,才会使地图看上去整洁美观,并且注记之间没有压盖,可以说这事一个优化问题,你也许需要去看看一些优化或仿生类的算法才能解决。你只要了解和掌握这些知识就可以了吗?不,你还需要学习编程语言啊,这样你才能开发出实际的系统。还有很多很多,就不一一列举了。

      对于二次开发,以前的二次开发都是和GIS基础平台软件结合很紧密的,这也加重了开发人员的负担,因为你需要学习一门新的语言,比如AML,mapbasic等。后来随着组件技术的发展,出现了组件GIS,比如mapobject,AO,AE,mapx,supermap object等等,从此二次开发人员就可以用通用的高级编程语言(c++,c#,java)嵌入GIS组件进行开发了。虽然有些算法进行封装了,但是你需要熟悉组件库的相关API函数,这也是一件很累的事,相信学习过AO,AE的人都会觉得刚开始的时候特别难学。

 

二、从行业或者说应用领域来分

     1、网络GIS,在这个领域,你需要掌握计算机网络的基础知识,这是前提,还需要学习各种前台语言,比如html,javascript,css等,后台服务器端的语言需要掌握JSP或者ASP之类的。当然,你可以借助于现在的成熟的网络GIS产品来开发你的应用,比如你调用google API,使用arcgis server搭建你的应用框架,还有各种的开源GIS项目。最近比较流行的flex和html5貌似是这个方面的开发人员比较好的选择,这个领域我不懂,可能说的不到位。

    2、嵌入式GIS,可以看做是桌面GIS的延续,看你的嵌入式平台,你可以选择linux,windows ce,塞班,安卓,ios等,平台太多了,这样要求开发人员首先掌握平台相关的知识,然后你才能开发嵌入式GIS程序了。需要掌握的语言根据不同语言来选择。比如windows ce你可以选择c++,#,vb。linux你可以选择c++。塞班你可以选择qt框架。安卓你可以用java,ios你必须使用objective-C语言。

    3、三维GIS,这是一个模拟真实地理世界的领域,三维GIS需要开发人员掌握C++编程语言,三维几何图形的算法、三维可视化与渲染的算法,技术含量比较高,需要开发人员有很强的开发能力。其次,你需要掌握三维图形API,opengl或者D3D都可以。

 

其次,如果是结合具体应用领域的话,你还需要掌握相关行业的业务知识。这也没办法,我想软件开发所有行业也都如此吧?

GIS,希望明天更美好!

  • 17
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
作为地理信息系统(GIS开发工程师,你需要学习以下知识: 1. 编程语言:首先,你需要掌握C++编程语言作为主要开发语言。此外,了解其他编程语言如Python、Java等也会有所帮助。 2. 数据结构与算法:掌握常见的数据结构和算法,例如数组、链表、树、图等,以及排序、搜索、图算法等。 3. 地理空间概念:了解地理空间概念和地图投影,熟悉地理坐标系统、地理数据类型和地图数据结构等。 4. GIS软件和工具:熟悉常用的GIS软件和工具,例如ArcGIS、QGIS等,了解其功能和使用方法。 5. 数据库管理:了解数据库的基本概念和SQL语言,熟悉常见的数据库管理系统如MySQL、Oracle等,能够进行数据的存储和查询。 6. 空间数据处理:掌握空间数据的处理和分析技术,包括空间查询、空间分析、空间插值等。 7. Web开发技术:熟悉前端开发技术如HTML、CSS、JavaScript等,了解Web地图开发框架如Leaflet、OpenLayers等。 8. 算法与模型:理解常见的地理空间算法和模型,如地图投影转换、点线面拓扑关系分析、地理网络分析等。 9. 软件工程与设计模式:了解软件工程原理和设计模式,掌握良好的代码设计、编写和调试技巧。 10. GIS行业知识:了解GIS行业的发展动态、标准和规范,了解应用领域如城市规划、环境保护、农业等。 以上是地理信息系统(GIS开发工程师需要学习的一些基本知识,通过不断学习和实践,不断提升自己的技能和能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值