gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:5196回复:3

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

楼主#
更多 发布于:2015-05-27 10:06
对于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,希望明天更美好!
喜欢1 评分0

最新喜欢:

lhw13131lhw131...
GIS麦田守望者,期待与您交流。
abs147369147
路人甲
路人甲
  • 注册日期2016-08-28
  • 发帖数6
  • QQ
  • 铜币15枚
  • 威望9点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2016-09-05 22:12
技术含量比较高

33nsb.club
sbc6138.com
s-g988.com
66npsbc.com
66apsb.com
55apsb.com
33apsb.com
33nsb.co.com
55nsb.co.com
8878msc.com
789ent.com
77snubet.com
88scweb.com
51888tyc.com
5188tyc.com
5-5psb.com
举报 回复(0) 喜欢(0)     评分
abinduo
路人甲
路人甲
  • 注册日期2017-02-09
  • 发帖数23
  • QQ
  • 铜币6枚
  • 威望1点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
2楼#
发布于:2017-02-10 10:08
感觉啥都不会
举报 回复(0) 喜欢(0)     评分
lhw13131
路人甲
路人甲
  • 注册日期2017-04-09
  • 发帖数8
  • QQ
  • 铜币8枚
  • 威望1点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
3楼#
发布于:2017-04-09 11:16
楼主,你好,我想问您有什么高效便捷的方法能够熟悉AE开发的组件库的相关API函数呢?
举报 回复(0) 喜欢(0)     评分
游客

返回顶部