GIS可以在哪些类型的职业中发展?
在职业规划中选择路径的时候,首先要知道自己在哪里,想去哪里——这就是定位自己的位置和目的地。地点的位置没有错。几乎所有能考上大学的人,对自己的知识技能、素质能力、性格性格都有一定的了解,只是准确程度不同而已。目的地的位置是个大问题。大部分人只能泛泛而谈找工作,学习或者创业,很难有更清晰的看法。我觉得这是很多人困惑的一个重要方面。
当初从小热爱地图,满怀热情报考GIS专业,却搞不清楚自己真正想做什么,让两年的大好时光白白浪费(虽然以传统的衡量“好学生”的标准来看,我还是挺成功的),加上考研,一共三年的青春东流。现在想起来总觉得难过。毕业之际,我整理了一下思绪,希望能给迷茫的朋友们做个导航。
方向1:开发工程师
毕业后想找工作的朋友们,要考虑自己有什么工作,喜欢什么工作。目前GIS就业市场的情况是供大于求,不如多考虑市场需求。在众多GIS单位中,其主营业务多为工程开发或软件开发销售。从事数据处理的单位比例也是18%。“要求最高的单位是高级开发人员,其次是程序员和项目经理。也可以看出,如果想从事GIS行业,强大的编程能力才是‘通行证’。”打开各大论坛的招聘页面,或者
看到几乎每个单位都招开发人员。下面是一则典型的招聘广告:
职位:GIS开发工程师
要求:熟练使用c#/c++;熟悉ArcGIS Engine 9.0或以上版本的使用;有C#/C++与引擎项目结合经验者优先;
这个通知简单明了,三个要求:语言、组件、经验。客观来说,对考生的要求还是很低的。我觉得一个普通高中毕业生,自学一年应该能做到。而步步“优秀”的本科毕业生,未必能达到这些要求。第一,学校基本只教VB和C两种基础教学语言,目标是过二三级。但是考试中对编程的要求和工作中对编程的要求是完全不同的,不是一个方向。其次,MapX和MO这两个曾经风靡一时的GIS组件正在退出社交舞台,但在课堂上依然是中流砥柱。第三,有开发经验的学生太少。很多学校根本不教二次开发。即使有,对学生的要求也不高。简单的浏览和查询就够了,这根本不是项目体验。所以想从事开发工作的朋友一定要在校园里进行自助学习。我个人认为,认真参加ESRI或超图举办的开发组比赛,就能达到一般公司的要求。让我们来看一个要求更高的问题:
1,计算机或GIS专业本科以上学历;
2.掌握C/C++语言、Java、JSP、C#等语言,熟悉VC++和JBuilder编程环境;
3.熟悉设计模式和UML,能够使用Rose等建模工具建立系统模型;
4.掌握Supermap、Arcgis等主流gis平台和二次开发技术,具有GIS软件平台底层开发背景,熟悉常用GIS算法,对Web Gis系统的技术架构、性能和安全性有深入了解;
5.熟悉SQLServer和Oracle数据库开发。
6.良好的团队合作精神,良好的沟通交流能力,有跨平台软件开发或嵌入式软件开发经验者优先;
有网友说工资5000以下没人能做这个工作,也有说这样的专家没有10K请不起。但其实四年认真的自学,满足这些要求绰绰有余。一年自学计算机基础,语言(除VB或C,C#,C++,Java和VB.NET要有一个)和网络开发,一学期学习商用GIS的桌面软件和组件开发(建议参加竞赛),一学期学习大型数据库和分布式系统,一学期学习软件工程,系统分析和架构,一年学习开源GIS软件和实践底层开发(技术含量比二次开发高,需要学习算法和数据结构,计算机图形学,数字图像处理。很多学校都开设了这些课程,但一是与GIS结合不紧密,二是实践对理论的把握不够。),用一个学期的时间了解跨平台、嵌入式系统、虚拟现实等前沿技术。
一些人肯定会指责这样的计划,一方面,过于强调它而忽视了学习和数学,另一方面,对任何人来说学习它都太理想化了,另一方面,有学校。正常情况下,应该有少数人会冷嘲热讽或者骂人。下面我“未雨绸缪”,提前一一解答。第一,以上只针对想从事开发工作的人。对于开发者来说,计算机技术是最重要的。对于Giser这部分,只要能把G的基础知识和发散性思维引入IS,就很不错了。术业有专攻。至于其他的路,我们会在下面讨论。第二,世上无难事。如果你做到了,困难的人也会变得容易。如果不做,容易的人就难了。对于那些缺乏毅力,过于自大,空谈而不实践的人来说,这真的太理想化了。另外,上面列举的内容只是指导方向,并不要求全部掌握,而且学校毕竟不是工作岗位,不需要什么都深入学习。第三,对于想往这个方向走的人来说,学校除了学位证这块遮羞布,真的用处不大。从课程设置和教学内容来看,大部分学校似乎都想培养科研人才——当然,培养方式还有待改进。不仅是GIS专业,很多学科都存在理论脱离实际、教学脱离实际、校园脱离社会等问题。为什么要盲从?你的成绩可以出彩,你可以赚奖金,但是你找不到好工作——你以为一个GIS公司的招聘要求上写着“成绩优秀者优先录取”吗?当然,当大家的能力都不好的时候,成绩好的就会成为短将。
综上所述,这条路通向一个开发工程师。发展好了可以成为项目经理。这里需要补充的是,开发不仅仅是编程,需求分析和软件架构也是开发的重要组成部分。如果这些工作做不好,编程就会混乱,系统的健壮性就不容易。不愿意编程的人,比如女生,可以考虑往这个方向走,但是最好对GIS编程有一定的接触。
方向2: 3D工程师
其实也应该属于开发,但是我觉得很多初学者对三维更感兴趣,所以单独列出来。我们先来看一则招聘广告:
职位描述:在高级开发工程师/系统工程师的指导下,设计开发地学3D相关模块;
工作要求:
1.计算机、地理信息系统、应用数学或相关专业本科以上学历;
2.掌握VC开发技巧,熟悉c/c++编程,对OpenGL或D3D技术有一定了解;
3.英语水平良好,阅读英文技术资料无障碍;
4.较强的逻辑分析能力、学习能力、创新能力和团队合作能力;
5.有3D模拟和游戏引擎开发经验者优先。
这应该出乎很多初学者的意料:你要会三维编程!是的,3D开发可以简单的分为两个部分:建模和编程。GIS软件建立的地面模型和3DMAX软件建立的地面模型是静态的,需要编程来动态控制。举个小例子,桥一直在风和汽车的力量下变形。为了了解变形情况,可以在桥上安装一些GPS,实时获取位置信息,用软件建立桥梁模型。通过编程,将GPS数据与桥梁模型关联起来并加以夸大,这样每当GPS数据发生变化时,模型上的桥梁就会发生相应的可观测的变形。
如果想做这类工作,要在计算机上自学3DMAX或者MAYA,在编程上深入学习用C++进行OpenGL技术开发,在GIS上注意学习DEM和虚拟现实。这些课很少涉及,必须自学。
方向3:数据工程师
数据是GIS的血液,一个项目很大一部分资金都是注入到数据的采集、生产和维护上,所以这也是一个比较大的方向。我们先来看一则招聘广告:
工作要求:
1.相关专业本科学历,还是今年。
2.具备良好的专业知识,熟悉ARCGIS软件操作。
3.有地图数字化工作经验和数据库相关操作经验。
4.对GIS工作有热情,有良好的团队精神。
工作描述:生产和维护地理信息系统数据
我的感觉是这是一个非常辛苦的g is工作,技术含量最低。前段时间去江苏省基础地理信息中心参观,看到数据处理的地方像工厂车间,宽敞,一排排电脑。大家拿着立体镜根据测绘图在ArcGIS中对遥感影像进行矢量化,录入空间数据库。矢量化是我们的专长,这里就不赘述了。这种工作一般中专生训练也能做。
然后是遥感和航测数据处理。我学过遥感和摄影测量课程,会用ERDAS或者ENVI或者ER MAPPER和VirtuoZO。
当然,随着GPS导航的兴起,导航数据和电子地图成为热点。我没有接触过这方面的东西,所以无法给出我的看法。可以搜索一些做导航的公司的招聘广告。
方向4:销售/营销/规划
越来越注重工作经验的要求。我知道的不多。
方向5:软件测试/技术支持
小公司可以设置这样的职位吗?
方向6:项目管理/文件
扎实的文字功底,全面的专业知识和对行业的洞察力。
方向7:提供解决方案或决策支持服务。
不开发系统,只使用桌面软件进行空间分析,为客户提供解决方案或决策服务。比如超市选址需要专门的系统吗?没有必要,只要用VBA在ArcMap中写一个程序,得到最优解,写一个报告就行了。
我这里的导师把GIS作为区域规划的辅助工具,在ArcGIS中进行空间分析,为国土部门提供辅助决策服务。但是有这样的公司吗?
方向8:转向应用行业。
高校中大量走7方向的人,都转而从事相关应用领域的工作,把GIS作为一个工具来处理这个领域,而不是做一个纯粹的GIS家。比如搞土地申请的进了国土局,搞林业申请的进了林业局,搞水利申请的进了水利局...毕竟,如果把GIS作为一门技术,她只能在一个广阔的应用领域充分展现自己的魅力,而学GIS的人需要专注于把这门技术应用到某个领域。
我的导师曾经说过:当GIS融入IT主流的时候,既是幸运,也是不幸。对于那些不能在IT大潮中翻来覆去的朋友来说,不去关注技术本身,而是投身于应用,或许是一个明智的选择。对于那些不能在IT大潮中翻来覆去的朋友来说,不去关注技术本身,而是投身于应用,或许是一个明智的选择。对于那些不能在IT大潮中翻来覆去的朋友来说,不去关注技术本身,而是投身于应用,或许是一个明智的选择。
是的,大城市的这个局和那个局很少招本科生(不算相关的)。小地方呢?还是其他领域?为什么不能去GIS还没涉足的地区?和别人相比,你有一个不专业的优势。举个例子,作为一个村长,你至少比一个学行政管理的学术型毕业生多一个高科技手段。有了盗版软件,就可以用GIS对村庄进行科学管理。至于怎么应用,我一时半会吹不出来,但是人类80%的信息都和空间位置有关,肯定有你能挖掘出来的。当你用GIS思维工作时,只要你有意愿,就一定能在工作中找到GIS可以用的地方,只有想不到和做不到。用了之后,只要有效果(或者井喷效应),不就是建设新农村、创新型国家的典型吗?
方向9:进一步研究
越来越多的人考研,据《GIS开发者》第七期“你要考研吗?”是什么样的研究?“,绝大多数是为了逃避就业压力。但是研究生毕业了还要工作,无非就是以上几条路。众所周知,现在的研究生教育并不是那么好。有的人只是“做”了几篇毫无意义的论文就毕业了。与当年本科毕业的学生相比,多了一层遮羞布,却少了三年的工作经验。聪明的企业主不会看重学历,所以研究生就业形势不容乐观。有人说宝颜:浪费三年的代价换来了继续浪费三年的资格。当然,优秀的研究生还是比本科生机会多,尤其是院校更看重学历。
读研,第一年上课,第二年“自由活动”,第三年(或者最后半年)做毕业论文。研究生学习期间除了毕业论文,还需要在期刊上发表一些论文,各个学校对论文数量和质量的要求也不一样。剩下的时间主要是做导师的项目,给自己充电。项目通常分为“纵向项目”和“横向项目”。垂直项目,俗称“国家资助”,是政府长期设立的各类研究基金支持的项目,聚焦前沿课题;而横向项目,俗称“社会钱”,是企业或其他单位委托的某些课题的项目。所以这里其实有两条路可以选择:想走科研之路,选择基于垂直项目的导师;如果不想走科研这条路,就选一个专注于横向项目的导师。
那么GIS科研主要做什么?个人认为可以分为基础理论、实现技术、深度应用、新应用四种方式。基础理论是整个学科的核心和灵魂。以下是几个研究方向:空间数据库的精度研究;空间关系语言研究;空间数据的多种表达方式研究;地理信息的用途和价值研究;海量空间数据库结构体系研究:地图制图标准化研究:地理信息数据共享研究:GIS中时空关系研究:GIS与空间分析研究;法律、信息政策与空间数据库的关系研究:地理信息系统互操作性研究:地理世界标准化模型研究。给出实现该技术的几个科研方向:空间决策支持系统;空间信息可视化:遥感与GIS集成研究:GIS用户界面研究:合作形成空间决策系统研究。多给几个深度应用的科研方向:GIS在全球变化中的作用研究;在社会背景下,如何在GIS中表达人、空间、环境。至于新的应用,就是让GIS技术渗透到生产生活的方方面面,比如上面提到的村长GIS,还有《GIS初学者》第一期《南师大学生胡访谈》一文中提到的族谱GIS。
做基本的理论估计是最低的,也是最难的。当然,只有走这条路,你才能成为院士、科学家、产业的核心领导者和推动者。想走这条路的人要在本科期间打好扎实的基础,尤其是要有深厚的数学功底,不仅仅是高等数学、线性代数、概率统计,还需要自学离散数学、数值分析、拓扑学。你需要对C++、算法与数据结构、数据库原理、计算机图形学、数字图像处理有一定的了解,熟练使用Matlab、IDL等常用科研软件。在GIS中,要在具备一定实践能力的基础上,更加注重基础理论的理解,多看GIS书籍。在研究生阶段,我会根据学校和导师的情况大致选择自己的方向,进一步打好基础。这样就有望在博士期间有所创新和突破。
实现技术没有基础理论那么抽象,但是对计算机的要求可能更高,数学还是很重要的。在书店看到过有常用算法和实现代码的书,觉得比较适合本科生学习。
GIS只有在应用中才能显示出它的生命力,深度应用最能显示GIS的威力。想走这条路的人可以在大学期间选择一到两个应用方向,比如物流、矿产,多看一些GIS在这个领域应用的论文。在研究生阶段,我只专注于一个领域的应用。
个人希望以后能成为一个能够拓展GIS应用领域的人,这就需要了解各种技术,但没必要深入钻研。更重要的是,我会用GIS的思路去思考问题。
我用活跃的思维和火热的热情来指导学习,可能更适合这个方向。我也想起卢国年教授的一句话:“做学者,不做学生”。
方向10:彻底转行。
真的对GIS不感兴趣,不如彻底转行。要舍得。但是请不要侮辱GIS。
GIS本科毕业后如何防止GIS职业生涯的终结
偶然看到这篇文章,让我受益匪浅,同时也是对GIS学生的指导。
如今,终结GIS专业(数据矢量化和采集除外)对于国内很多GIS毕业生来说,绝对不是危言耸听。就连国内一些GIS专业比较强的院校也有类似现象,更别说其他院校了。大学毕业后就要告别自己倾注了四年感情和心血的职业生涯,是一件多么悲伤的事情(至少我是这么认为的)。所以如何避免毕业后就告别GIS职业,是每个GIS本科生必须思考的问题。
一方面很多公司找不到合适的GIS开发人员,尤其是ArcGIS开发人员(这是很普遍的现象),另一方面学生毕业后找不到工作。
为什么会这样?
因为GIS开发以项目开发为主,产品研发相对较少,从成本和时间的角度来说,公司都不愿意培训一个新手2-3个月才能开始开发。他们都希望那些有工作经验的开发人员直接来公司参与项目开发。而有工作经验的一般都比较稳定,待遇也不错,不愿意为了个人发展随便跳槽(要适应新环境,在新公司重新开始)。这造成了需求的不平衡。
我个人认为GIS的二次开发非常适合本科生和研究生,但我觉得不如本科生有优势。我身边有一个案例:本科时代,两个同级的同学都毕业于同一所院校。他们本科工作三年,在公司是项目驱动。经过三年的积累,他们成为了一家公司的项目经理,平均一年收入4万元。三年后,他们在某二线城市工资5000+,已经买房结婚。这时另一个研究生刚毕业,去了这个本科公司做开发收入200元。这三年研究生损失1.2万+3年工作经验(成为一个技术过硬的项目经理)+人生阅历(买房结婚)。所以我觉得还是不要读研开发GIS了,尤其是ArcGIS的二次开发。
没有工作经验的GIS本科生如何被认可?找收入比较高的GIS二次开发,尤其是ArcGIS的二次开发?我的答案是以项目驱动的方式丰富本科时代GIS的二次开发生活,增加自己的“工作经验”。接下来我就“片面”的介绍一下自己的一些经历。
1.首先,你必须熟悉一门高级开发语言,也就是c#或者Java。
有些人总喜欢说,懂一门有编程思想的开发语言就可以了,用来安慰自己不想学习新的开发语言技术的懒惰心理。然而,公司都是以利润为导向的,他们都采用高效的开发方法,尤其是。NET平台是GIS开发圈应用最广泛的,每个公司都有自己的DLL库,你不可能自由使用任何一种语言。不要以为我会定义变量,会写循环,就掌握了XX语言。要真正掌握一门语言的特点,我必须多练习,多打代码。更上一层楼就是学习设计模式,提升自己的设计能力。
2.在实践课上认真学习ArcGISDesktop,熟悉ArcGIS的数据模型,掌握ArcGISDesktop的使用。
很多人对ArcGISDesktop不熟悉,就在网上通过修改Down代码开始了自己的开发之旅,包括我。我大学的时候是MapInfo的粉丝,没学过ArcGIS。这是非常不科学的,因为ArcGISDesktop是由AO开发的。只有掌握了ArcGISDesktop的使用,才能轻松理解AO接口提供的功能。ArcGIS的二次开发实际上是结合了ArcGISDesktop提供的功能和服务的创新开发。所以熟悉ArcGISDesktop和ArcGIS数据模型非常重要。
3.其次,必须会开发ArcEngine,学习能力强的可以掌握ArcGIS Server开发。
现在B/S模式的开发很受学者们的欢迎,很多人也想直接学习ArcGIS Server,开始研究ArcGIS Server提供的模板。我还是建议从发动机入手。为什么?一个GIS系统不仅仅是放大、缩小、查询和定位。说得好听点,这些功能就是几天的个人训练。你在面试中说我实现了查询和定位的功能,面试官会直接通过你,所以业务拓展需要做深度服务器或者调用AO底层的接口,所以我觉得通过Engine来深度学习AO是最好的方法,因为网上关于Engien的资源和相关书籍太多了。总之在这里我想说,AO界面的熟悉程度决定了你服务器开发能力的深浅。
4.能够使用Oracle数据库,能够自己创建管理空间数据库。
只要学习数据库课程,SQL Server都是必不可少的练习。SQL Server易学易用。然而,Oracle是世界上市场份额最大的数据库产品。在国内,只要是用于企业级GIS开发和应用,如果在简历上加一个Oracle,就可以创建自己的管理空间数据库。那么就能让你在面试官心目中更上一层楼。作为一个GIS开发人员,没必要拿自己和一个DBA比,只需要了解Oracle的常用操作就可以了。
5.毕业前必须有1-2项目经验。
2008ESRI全国大学生软件开发大赛刚刚结束,有幸看到了决赛选手的作品,非常不错。很多本科学生都很有创新精神,比我们这个时代强很多,我觉得很遗憾,我本科那几年没有参加ESRI的比赛(我参加了Xi安大学生软件设计大赛)。作品无论是自己的想法,还是有项目支撑,都很难做到这种程度。很多人在4-5人的团队里干了几个月10,可见本科生活是多么充实。这样的比赛真正实现了学校、学生和ESRI的三赢。学校赢得了声誉,学生们得到了项目经验和技术的培训,ESRI也提升了自己。所以建议本科生一定要多参加这样的比赛。
另外就是联系学校的相关老师,让他们给你提供一些思路。事实上,当GIS发展到一定程度,技术已经不再困难。关键是结合行业知识解决行业问题。
找工作的时候,带上笔记本,把你的项目或者Demo给面试官看,详细说明让面试官佩服你的地方有多美。
6.良好的表达能力。
找工作和卖货一样,就是卖自己的优势。除了简历上的文字,最重要的是培养自己良好的表达能力,让面试官对你“一见钟情”!我必须拥有你。
如果你具备以上素质,那就是一个机会。中国社会最大的特点就是不缺人,不缺人才。对于刚踏出校门的学生,最大的礼物就是给自己机会(牛人除外)。一开始不管他们给你多少钱,给你机会从事GIS的二次开发才是最重要的。只要能踏入这个圈子,就有机会获得不错的收入。别看一个月几百块多。一年才几千块钱也无所谓。关键是给你机会的工作能和你的兴趣结合起来。这才是最重要的。
最后给大家一些学习GIS和开发系统的建议:
1.熟悉ArcGIS的数据模型(这是核心)。
2.GIS系统的C/S架构有以下几点:
1)数据加载
2)地图操作
3)查询统计
4)地图裁剪和打印输出
5)地图图形编辑
6)地图数据更新
7)是将GIS与特定的用户需求相结合,开发特定的功能。
8)系统维护
一个B/S系统只能比C/S少一些功能,所以最重要的是熟悉ArcGIS的数据模型。当你理解了数据模型,剩下的就是你的高级水平了。
语言开发的水平和你对业务的理解能力以及创新能力可以决定你在GIS开发中能走多远!
/news/html/rencai/205864.html