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

心得分享==浅谈GIS开发的学习

楼主#
更多 发布于:2011-09-16 14:15
原帖作者:我爱碧螺春 <br/><strong><font size="6"><font color="#ff0000"><font face="Calibri">(</font><font face="宋体">一</font><font face="Calibri">) </font><font face="Calibri">打好编程基础</font></font></font></strong><br/><font color="#000000"><font face="宋体">这篇文章仅给那些</font><font face="Calibri">GIS</font><font face="宋体">专业的,想学</font><font face="Calibri">GIS</font><font face="宋体">开发的,但现在还没怎么入门不知道该从哪学起的在校生参考的。这篇文章不是讨论</font><font face="Calibri">GIS</font><font face="宋体">开发是否有前途的,也不是讨论做</font><font face="Calibri">GIS</font><font face="宋体">是不是就一定应该做开发的帖子。</font></font><br/><font face="宋体"><font color="#000000">先就几个大家在学生时代都很迷茫,我也曾经迷茫过的问题,说一下自己的观点:</font></font><br/><font color="#000000"><font face="Calibri"><font face="Calibri">1、</font><br/></font><font face="宋体">现在开始学习编程,是不是晚了?</font></font><br/><font color="#000000"><font face="Calibri"></font><font face="宋体">如果以大四毕业找到一份</font><font face="Calibri">GIS</font><font face="宋体">开发方面的工作,并对得起</font><font face="Calibri">3K</font><font face="宋体">左右的月薪为目标的话,</font><font face="Calibri"> </font><font face="宋体">从大四开学开始努力就不晚。</font></font><br/><font color="#000000"><font face="Calibri"><font face="Calibri">2、</font><br/></font><font face="宋体">学校不教编程,怎么办?</font></font><br/><font color="#000000"><font face="宋体">大学里学校教不教只是指个方向,学习都靠自己,既然已经决定要做</font><font face="Calibri">GIS</font><font face="宋体">开发,方向已经有了,学校教不教又有什么关系?</font></font><br/><font color="#000000"><font face="Calibri"><font face="Calibri">3、</font><br/></font><font face="Calibri">GIS</font><font face="宋体">学生编程不如计算机的,搞测绘不如学测绘的,搞地理不如学地理的,我现在开始学习编程再怎么学也赶不上学计算机的怎么办?</font></font><br/><font face="宋体"><font color="#000000">这个问题简单,如果现在去睡觉能赶上他们的话,完全可以去睡觉嘛。</font></font><br/><br/><font color="#000000"><font face="宋体">如果你是一名大二的学生,能意识到自己以后打算做开发,并开始努力,那是再好不过了。这个时候大部分学生还处在比较迷茫的时期,或者还在享受幸福的大学生活。这个时候开始努力,你就比别人起步早,自然会比别人更有优势。这时候学校一般都会有一些计算机相关的课程,计算机基础啊,</font><font face="Calibri">VB</font><font face="宋体">啊、</font><font face="Calibri">C</font><font face="宋体">啊什么的,对于不想从事这一行业的学生来说,应付过去就是了,但对于已经有想法的学生,这时候就要抓住机会,把这些课程学好,除了老师布置的作业,要尽量的去多编程,多敲代码,多学一些东西。学计算机不要局限老师教的内容,要自己去拓宽学习范围。下面细说一下这些计算机基础课程应该怎么去拓宽知识面。</font></font><br/><font color="#000000"><font face="Calibri"></font><font face="宋体">学计算机基础的时候,除了把</font><font face="Calibri">word, excel</font><font face="宋体">的基本操作弄熟,去学一学高级应用,比如说用</font><font face="Calibri">excel</font><font face="宋体">做一些漂亮的报表、做一些数据的处理,筛选啊、统计图啊等,用</font><font face="Calibri">VBA</font><font face="宋体">的做一些小应用,用</font><font face="Calibri">Access</font><font face="宋体">做一些常用的数据库管理程序,像学生信息管理系统啊之类的。不要觉得这些东西没有,我去浙江地理信息中心,笔试上机题目,有一道就是</font><font face="Calibri">excel</font><font face="宋体">相关的,要求用编程和不编程两种方法实现。我没做出来。。。囧</font></font><br/><font color="#000000"><font face="Calibri"></font><font face="宋体">如果学校开了</font><font face="Calibri">C</font><font face="宋体">语言的课程,不要只会做个从</font><font face="Calibri">1</font><font face="宋体">加到</font><font face="Calibri">100</font><font face="宋体">的程序。像</font><font face="Calibri">C</font><font face="宋体">语言中比较难的部分,非计算机专业在教的时候都会回避。这个时候你就不能回避了。哪些部分呢?文件读写操作,位操作,内存操作,指针的操作,这些都学一学,很有用的东西。还有数据结构要多了解一些,</font><font face="Calibri"> </font><font face="宋体">除了那些大家乱熟于耳的冒泡排序等算法,像什么链表、二叉树,图什么的都去了解了解。最后有和</font><font face="Calibri">C</font><font face="宋体">语言去实现这些数据结构,可以去买一些数据结构的书来参考。</font></font><br/><font color="#000000"><font face="Calibri"></font><font face="宋体">如果学校开了</font><font face="Calibri">VB</font><font face="宋体">的课程,那就要多去做点小应用。</font><font face="Calibri">VB</font><font face="宋体">是一个很容易上手的语言,通过很短时间的学习,就能做出像模像样的东西,这对于学习</font><font face="Calibri">GIS</font><font face="宋体">二次开发来说是个很不错的工具,编程的难度降低了,可以把重心放在怎么设计开发</font><font face="Calibri">GIS</font><font face="宋体">功能上面去。所以,在学习</font><font face="Calibri">VB</font><font face="宋体">的时候,如果你听说过</font><font face="Calibri">MO</font><font face="宋体">,尝试着用一用,并做一些小程序。你还可以去用</font><font face="Calibri">VB</font><font face="宋体">写一些程序来操作</font><font face="Calibri">word</font><font face="宋体">,</font><font face="Calibri">excel</font><font face="宋体">,</font><font face="Calibri">cad</font><font face="宋体">等,这些东西都没什么,就是个对象模型,熟悉它的对象模型了,就好操作了。另外,在用</font><font face="Calibri">VB</font><font face="宋体">编程的时候,应该融入一些面向对象的编程思想,虽然</font><font face="Calibri">VB</font><font face="宋体">不能算是面向对象的语言,但这也除低了学习面向对象的门槛,尝试着把一些常用的功能,算法写成函数或封装类。不要把代码复制来复制去的,搞的整个程序到处是重复的代码还沾沾自喜。还可以用</font><font face="Calibri">VB</font><font face="宋体">尝试一下连接数据库,做一些数据库管理程序。还可以做一些控件,做一些</font><font face="Calibri">dll</font><font face="宋体">,然后自己去调用,体会一下组件式编程带来的优势,等等。。。</font></font><font color="#000000"><font face="宋体">这些学校上</font><font face="Calibri">VB</font><font face="宋体">课的时候,都不会教,都要靠自己去学。</font></font><br/><br/><font color="blue">yoyo版主提到会做的不如会说的,这一点其实我也深有感触。我今年刚参加工作。一个说话有条理的人体现出这个人考虑问题也是比较有条理的,这样的人办事才会比较有条理。编程本身是一个逻辑性很强的工作,但是搞这行的很多人都不善于表达自己,会成为自己职业发展道路上的一个障碍,当你想更上一层楼的时候,你会发现你力不从心,因为你不会讲,不会讲你就没法和别人很好的交流,别人也就不能发现你的才能。所以大家还要在大学里干好的一件事情就是,学会做PPT,学会做汇报,学会讲话。我在公司实习的时候,经常请假,有时我上班时聊QQ也被他看到了,部门经理看我很不爽,对我印象一直不大好。但是后来转正考核会上,我做了一份很花梢的PPT,把实习的内容很好的展示出来了,得到了其他领导的好评,最后考核结果我实习期间表现最优,呵呵。其实不是我真的表现的出色,我编程不如这里的其他人,其他都是计算机科班出身,程序肯定不比我做的差,但是他们都拿着程序去演示,还要装环境搞半天,对着程序讲,也讲不清,讲的只有自己懂,领导都不知道在说什么,领导会去看你的代码么?所以,会表达也是一项很重要的技巧,大学期间其实有很多机会,可以去锻炼的。<br/></font>
喜欢0 评分0
GIS麦田守望者,期待与您交流。
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2011-09-16 14:16
<font color="#ff0000"><strong><font size="6"><font face="Calibri">(二) 目标明确,有选择的学习</font><br/></font></strong></font><font face="宋体"><font color="#000000">上面说的那些基本上都是大二的课程,什么大学生计算机基础啊,</font><font face="Calibri">VB</font><font face="宋体">啊,</font><font face="Calibri">C</font><font face="宋体">啊,如果能在大二时做到上面的全部,那就是非常非常牛的人了,我大二一年都贡献给</font><font face="Calibri">war3</font><font face="宋体">了,还挂了好几科,</font><font face="Calibri">VB</font><font face="宋体">学到变量那一章就直接废掉了。考试完全靠突击,才突击了个中。那大三的时候做什么呢?大三的时候一般会开各种专业课,说实话,编程是一个很费时间的事情,如果你已经决毕业后做</font><font face="Calibri">GIS</font><font face="宋体">开发,那么,一些不相关的专业课,完全可以放弃,考试能过就行了,不要太花时间。拿我的课表来说,像什么人文地理啊,土地经济啊,自然地理啊,都是没用的课。有很多人以经济爱好者自居,看到带经济的课就两眼放光,其实这些课真的是很没意思,不是看了本什么地理经济你就算搞经济的了,看了本地籍管理,以为自己可以去房地局管地籍了,什么都想学,往往最后什么也没学好。所以,该放弃的课,是一定要放弃的,把有限的时间用在刀刃上。还有另外一些专业课,和</font><font face="Calibri">GIS</font><font face="宋体">相关的,像</font><font face="Calibri">GIS</font><font face="宋体">概论,遥感,</font><font face="Calibri">GPS</font><font face="宋体">,数字图像处理,摄影测量,</font><font face="Calibri">GIS</font><font face="宋体">地图设计,</font><font face="Calibri">GIS</font><font face="宋体">项目管理,空间数据库原理及应用。。。等等</font><font face="Calibri">(</font><font face="宋体">我只是根据我的课表列举一些,各个学校专业背景不同,具体课程也不同</font><font face="Calibri">)</font><font face="宋体">,这些课程都是要用心去学的。在这些课程中会碰到一些需要编程来解决的问题,不要偷懒。另外,这个时候会接触到一些</font><font face="Calibri">GIS</font><font face="宋体">软件,什么</font><font face="Calibri">cad</font><font face="宋体">,</font><font face="Calibri">arcview</font><font face="宋体">,</font><font face="Calibri">arcgis</font><font face="宋体">,</font><font face="Calibri">mapinfo</font><font face="宋体">。。。很多,但是有两个软件是学</font><font face="Calibri">GIS</font><font face="宋体">的一定要掌握好的,包括它们的二次开发,其他的软件都可以无视。一个不用说,当然是</font><font face="Calibri">arcgis</font><font face="宋体">了,把</font><font face="Calibri">arcgis desktop</font><font face="宋体">玩熟,最好去买一本实习教程什么的,有数据有步骤,一本书做下来,就差不多了。第二个软件是</font><font face="Calibri">autoCAD</font><font face="宋体">,这个软件在</font><font face="Calibri">GIS</font><font face="宋体">和测量行业中的地位是不可忽视的,</font><font face="Calibri">cad</font><font face="宋体">的强大和易用性自然不必多说,</font><font face="Calibri">cad</font><font face="宋体">的格式是一代数据格式的标准,</font><font face="Calibri">GIS</font><font face="宋体">数据的来源无外乎测量和遥感图像,测量数据基本上都是</font><font face="Calibri">dwg</font><font face="宋体">格式的,像国土部门,地籍部门都充斥着大量的</font><font face="Calibri">cad</font><font face="宋体">原始数据,但是</font><font face="Calibri">cad</font><font face="宋体">数据虽然灵活,确不能用</font><font face="Calibri">GIS</font><font face="宋体">来管理,而且数据质量存在很大的问题,所以,如何将原来大量的</font><font face="Calibri">cad</font><font face="宋体">数据转移到</font><font face="Calibri">GIS</font><font face="宋体">平台,是很多部们和单位在解决的问题,</font><font face="Calibri"> </font><font face="宋体">如果你精通</font><font face="Calibri">CAD</font><font face="宋体">及</font><font face="Calibri">CAD</font><font face="宋体">的二次开发,处理这些问题时你就能得心应手。所以,把</font><font face="Calibri">CAD</font><font face="宋体">学好,至少掌握一个</font><font face="Calibri">CAD</font><font face="宋体">二次开发的方法,</font><font face="Calibri">lisp</font><font face="宋体">,</font><font face="Calibri">vba</font><font face="宋体">,</font><font face="Calibri">objectARX</font><font face="宋体">,</font><font face="Calibri">lisp</font><font face="宋体">和</font><font face="Calibri">VBA</font><font face="宋体">比较简单易学,</font><font face="Calibri">objectARX</font><font face="宋体">比较难,刚开始可以不用管它,以后工作中如果用到了,再学也不迟。</font></font><br/><font color="#000000"><font face="宋体">编程方面,在大二的基础上,要开始了解一些面向对象原理和方法,除了</font><font face="Calibri">VB</font><font face="宋体">和</font><font face="Calibri">C</font><font face="宋体">,建议另外学习</font><font face="Calibri">C#</font><font face="宋体">和</font><font face="Calibri">Sqlserver</font><font face="宋体">,基本的</font><font face="Calibri">sql</font><font face="宋体">语句要会,</font><font face="Calibri">ADO</font><font face="宋体">连接数据库要会,不然,你连一个北大青鸟的学生都不如</font><font face="Calibri">(</font><font face="宋体">仅限</font><font face="Calibri">IT</font><font face="宋体">行业的</font><font face="Calibri">coder</font><font face="宋体">工作</font><font face="Calibri">)</font><font face="宋体">。这些东西不难,有编程基础和面向对象知识,上手很快,不过如果你想学习</font><font face="Calibri">C++</font><font face="宋体">,那就要下大功夫了,呵呵,作为一名</font><font face="Calibri">GIS</font><font face="宋体">的学生,学习</font><font face="Calibri">C++</font><font face="宋体">倒不是很必要。</font></font><br/><font color="#000000"><font face="宋体">这个时候,如果学校的课不多,或者你觉得学校的课没有挑战性,有两个选择,一个是去软件公司实习,一个是去参加超图或</font><font face="Calibri">ESRI</font><font face="宋体">的竞赛。如果精力足够旺盛,可以一起做。总之,要踏踏实实的做一些东西,做一些事情,不要荒废时间,也不要只学习不践,应该在实践中不断的学习,才能进步。这个时候沉迷游戏的同学该醒醒了,绝对不晚,我大二的时候是在家教和游戏中度过的,大三的时候,觉得自己不能干一辈子家教,然后就看了一本面向对象的书和一本</font><font face="Calibri">asp.net</font><font face="宋体">的书,当时因为啥都不懂,只是囫囵吞枣的看下去了。然后我去找实习,经历了一番波折,找到了一个小</font><font face="Calibri">IT</font><font face="宋体">公司,算入了软件行业的大门。面试的时候,我就把书上的词,能想起来的,全都说出来,估计那个面我的人有点崩溃,不过后来我知道,面我的那个,也就是公司的副总,是校友,大我十年。</font></font><br/>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2011-09-16 14:16
<strong><font face="Calibri"><font size="6"><font color="#ff0000">(三) 个人对GIS二次开发学习的理解<br/></font></font></font></strong><font face="宋体"><font color="#000000">先回答一个问题,有人问为啥做为一名</font><font face="Calibri">GIS</font><font face="宋体">的学生,学</font><font face="Calibri">C++</font></font><font face="宋体"><font color="#000000">不是很必要。其实准确的讲,我的意思是,</font><font color="red">目标为</font></font><font color="red"><font face="Calibri">GIS</font></font><font color="red"><font face="宋体">二次开发的本科生,在学生阶段,可以不学</font></font><font color="red"><font face="Calibri">C++</font></font><font color="red"><font face="宋体">。</font></font><font color="#000000"><font face="宋体">无论</font><font face="Calibri">C++</font><font face="宋体">头上有多少光环,大家都说</font><font face="Calibri">C++</font><font face="宋体">如何有前景,如何高薪,但有一点必须得承认,</font><font face="Calibri">C++</font><font face="宋体">不好学,对于计算机相关专业,把精通</font><font face="Calibri">C++</font><font face="宋体">作为毕业奋斗的目标是无可厚非的,而对于我们这种学</font><font face="Calibri">GIS</font><font face="宋体">的半路出家的</font><font face="Calibri">coder</font><font face="宋体">,缺乏很多基础的计算机知识,想在毕业前把</font><font face="Calibri">C++</font><font face="宋体">学好然后借此找一份工作,是比较困难的。这是其一。还有一点,目前做</font><font face="Calibri">GIS</font><font face="宋体">二次开发,几乎不会用到</font><font face="Calibri">C++</font><font face="宋体">,对于一些急功近利的小公司,听你说只会</font><font face="Calibri">C++</font><font face="宋体">不会</font><font face="Calibri">C#</font><font face="宋体">,甚至会直接拒绝你,虽然你比一个</font><font face="Calibri">C#</font><font face="宋体">的</font><font face="Calibri">coder</font><font face="宋体">要花费多的多努力。而做</font><font face="Calibri">GIS</font><font face="宋体">底层的公司又不多,这样看来在学校里学</font><font face="Calibri">C++</font><font face="宋体">最后毕业了还是个半吊子,似乎有点不划算。但</font><font face="Calibri">C++</font><font face="宋体">如果学的好的话,能在除</font><font face="Calibri">GIS</font><font face="宋体">之外的</font><font face="Calibri">IT</font><font face="宋体">领域有很好的发前景,基本上知名的大公司笔试都是</font><font face="Calibri">C</font><font face="宋体">或</font><font face="Calibri">C++</font><font face="宋体">的内容,当然语言只是载体,主要考的是数据结构,如果你有信心和计算机专业的学生竞争并且一心想去做技术的话,完全可以抛开</font><font face="Calibri">GIS</font><font face="宋体">,绝对比去你做</font><font face="Calibri">GIS</font><font face="宋体">二次开发强。但是如果你还是想在</font><font face="Calibri">GIS</font><font face="宋体">二次开发上混</font><font face="Calibri"> </font><font face="宋体">,用一些容易上手的语言,在学校里多做出一些东西,看得见摸得着的东西,对找工作还是非常有用的。做</font><font face="Calibri">GIS</font><font face="宋体">的,当然都不希望一辈子做</font><font face="Calibri">coder</font><font face="宋体">,即使做二次开发,也要不要把精力全放在编程上面,应该更多的放在理解业务上面,放在积累行业经验上面,而不仅仅是积累编程技巧。也许有一天,你的角色是雇佣别人来完成你的想法,而不是天天抓头解决一个程序的</font><font face="Calibri">bug</font><font face="宋体">,为一句代码通不过而吃不下,睡不着。</font></font><br/><font color="#000000"><font face="宋体">因为我现在是做</font><font face="Calibri">C++</font><font face="宋体">的,如果相学的话,我可以提供一个大致的学习路线和学习的书籍。</font></font><br/><font color="#000000"><font face="宋体">学习路线基本上是:</font><font face="Calibri">C -> C++ -> windows</font><font face="宋体">程序设计</font><font face="Calibri"> -> MFC</font></font><br/><font color="#000000"><font face="宋体">各阶段的书:</font></font><br/><br/>
<ul>
<li><font color="#000000"><br/><font face="Calibri">C</font><font face="宋体">就无所谓了,学校教的就行,或者就是谭浩强那本书吧。</font></font>
<li><font color="#000000"><font face="Calibri">C++ </font><font face="宋体">推荐</font><font face="Calibri">C++ primer</font><font face="宋体">和高质量</font><font face="Calibri">C++</font><font face="宋体">编程</font></font>
<li><font color="#000000"><font face="Calibri">Windows</font><font face="宋体">程序设计,有一本书,就叫</font><font face="Calibri">windows</font><font face="宋体">程序设计。我看不下去,但我</font><font face="Calibri"> </font><font face="宋体">知道这本书非常好。</font></font>
<li><font color="#000000"><font face="Calibri">MFC</font><font face="宋体">,孙鑫的</font><font face="Calibri">VC</font><font face="宋体">深入详解,候捷的深入浅出</font><font face="Calibri">MFC</font><font face="宋体">,我也看不下去。也是非常</font><font face="宋体">好的书。</font></font><br/></li></ul><font color="#000000"><font face="宋体">反正我觉得我</font><font face="Calibri">C++</font><font face="宋体">学的很烂,越学越烂。囧,现在做</font><font face="Calibri">C++</font><font face="宋体">痛苦死。当然强人是很多的,可惜我很菜。</font></font><br/><br/><font color="#000000"><font face="宋体">进入正题,怎么看待</font><font face="Calibri">GIS</font><font face="宋体">二次开发。说实话,我在大学里除了用过</font><font face="Calibri">MO+VB</font><font face="宋体">做过</font><font face="Calibri">GIS</font><font face="宋体">二次开发,其他的都没用过。现在工作连</font><font face="Calibri">arcgis</font><font face="宋体">都难得用一下,更别说</font><font face="Calibri">engine</font><font face="宋体">,</font><font face="Calibri">server</font><font face="宋体">了。但是不要把</font><font face="Calibri">GIS</font><font face="宋体">二次开发看的太神秘,或者说以为自己会用</font><font face="Calibri">arcengine</font><font face="宋体">就比学计算机的有优势,如果让你和一个完全没听说过</font><font face="Calibri">GIS</font><font face="宋体">的计算机专业的学生同做</font><font face="Calibri">GIS</font><font face="宋体">二次开发,你的优势不过</font><font face="Calibri">1</font><font face="宋体">个月,他需要向你请教如何配置环境,如何入门,但过了这一阶段,你会的,他都会了。</font><font face="Calibri">GIS</font><font face="宋体">二次开发学不过就是组件式编程而已,和</font><font face="Calibri">excel</font><font face="宋体">二次开发,</font><font face="Calibri">cad</font><font face="宋体">二次开发无本质区别,组件式编程只会让编程更简单,而不是更复杂,这对学计算机的来说,是降低难度了。而你在编程上的劣势很快就会突显出来。所以,我认为,对于</font><font face="Calibri">GIS</font><font face="宋体">二次开发的学习,不要局限于专门去学</font><font face="Calibri">arcengine</font><font face="宋体">什么的,先把数据库学好,把编程的基础打牢,把面向对象理解透彻,把</font><font face="Calibri">arcgis</font><font face="宋体">桌面软件用熟,然后,再去学二次开发,一边学一边实践,参加比赛,或是做项目什么的,都行。很多人都是上来就生搬硬套一些例子,好像也做出了一些东西,中看不中用,知其然不知其所以然,这样是很难深入的。总之,是在编程的基础上学习</font><font face="Calibri">arcengine</font><font face="宋体">,而不是在</font><font face="Calibri">arcengine</font><font face="宋体">的基础上学习编程。</font></font><br/><font face="宋体"><font color="#000000">下面具体讲二次开发的学习,因为我没做过太多,所以就说一下我了解的,我知道的,肯定不是很全面,大家可以补充。</font></font><br/><font color="#000000"><font face="宋体">现在做</font><font face="Calibri">GIS</font><font face="宋体">二次开发,基本方向有桌面</font><font face="Calibri">GIS</font><font face="宋体">,</font><font face="Calibri">webGIS</font><font face="宋体">,移动</font><font face="Calibri">GIS</font><font face="宋体">这些。</font><font face="Calibri">3DGIS</font><font face="宋体">感觉算底层,也顺带说一下吧。</font></font><br/><font color="#000000"><font face="宋体">1) 桌面</font><font face="Calibri">GIS</font><font face="宋体">二次开发,语言无疑</font><font face="Calibri">C#</font><font face="宋体">是最佳选择,感觉很多人都在做这个,个人觉得做这方面要学习:</font><font face="Calibri">C#</font><font face="宋体">,</font><font face="Calibri">SQLServer</font><font face="宋体">,网络编程,数据库编程,最后才是学习</font><font face="Calibri">AO</font><font face="宋体">,</font><font face="Calibri">AE</font><font face="宋体">。</font></font><br/><font color="#000000"><font face="Calibri">2) WebGIS</font><font face="宋体">:这个近来很热,内容也很多,可深可浅,我觉得要想做</font><font face="Calibri">webgis</font><font face="宋体">,一定要先把</font><font face="Calibri">web</font><font face="宋体">做熟。你可以等到毕业之后再去学</font><font face="Calibri">arcgis server</font><font face="宋体">,只要你会做网站,有项目经验,绝对能找到工作,但你绝对不可以自以为学会了</font><font face="Calibri">arcgis server</font><font face="宋体">,人家问你</font><font face="Calibri">css</font><font face="宋体">的东西你都不会,问你</font><font face="Calibri">javascript</font><font face="宋体">的东西,你一头雾水,这样出去是没人要的。有人一开始就学</font><font face="Calibri">asp.net</font><font face="宋体">,与此同时,直接上手</font><font face="Calibri">arcgis server</font><font face="宋体">,好像拖拖控件,改改属性,和桌面软件开发也没啥区别似的。</font><font face="Calibri">Asp.net</font><font face="宋体">虽然上手快,但我觉得不是学习</font><font face="Calibri">web</font><font face="宋体">的最佳语言,它把很多</font><font face="Calibri">web</font><font face="宋体">细节给隐藏了,这样对初学者来说是很不好的,我建议学习</font><font face="Calibri">web</font><font face="宋体">先学习前台,从</font><font face="Calibri">html</font><font face="宋体">,</font><font face="Calibri">css</font><font face="宋体">,</font><font face="Calibri">javascript</font><font face="宋体">开始,这些学好后,能做一些简单的页面,能写一些脚本,了解一些</font><font face="Calibri">web</font><font face="宋体">原理和标准之后,再选一门后台语言进行学习。做</font><font face="Calibri">web</font><font face="宋体">最好是能去一些公司实习,短短两个月,就能让你水平飞涨,因为做</font><font face="Calibri">web</font><font face="宋体">的公司加班起来都是玩命的,而且</font><font face="Calibri">web</font><font face="宋体">本身并不难,有人带着学,非常快。能做一些简单的网站后,再去做</font><font face="Calibri">webgis</font><font face="宋体">,我想应该会好的多。</font></font><br/><font color="#000000"><font face="宋体">3) 移动</font><font face="Calibri">GIS</font><font face="宋体">:这个目前好像也挺火,不过感觉对开发者来说,移动</font><font face="Calibri">GIS</font><font face="宋体">还是桌面</font><font face="Calibri">GIS</font><font face="宋体">区别可能不是太大,因为移动</font><font face="Calibri">GIS</font><font face="宋体">的平台基本都是</font><font face="Calibri">wm</font><font face="宋体">系统上的,</font><font face="Calibri">wm</font><font face="宋体">系统上的开发和</font><font face="Calibri">windows</font><font face="宋体">开发有很多相似之处,只是各方面的资源变的紧缺了。我感觉做移动平台,最关键的就是数据传输,无线通讯这块。移动</font><font face="Calibri">GIS</font><font face="宋体">也主要和导航、</font><font face="Calibri">GPS</font><font face="宋体">定位联系在一起。所以,做移动平台,我认为要关注的重点就是:</font></font><br/>
<ul>
<li><font color="#000000"><font face="宋体">通讯和数据传输。如蓝牙、</font><font face="Calibri">GPRS</font><font face="宋体">、</font><font face="Calibri">socket</font><font face="宋体">编程、</font><font face="Calibri">webservice</font><font face="宋体">等。</font></font>
<li><font color="#000000"><font face="Calibri"><br/></font><font face="Calibri">GPS</font><font face="宋体">定位。</font><font face="Calibri">GPS</font><font face="宋体">原理,和</font><font face="Calibri">wm</font><font face="宋体">系统对</font><font face="Calibri">GPS</font><font face="宋体">的接口等。</font></font>
<li><font color="#000000"><font face="宋体">导航、实时路况等具体的应用可以多了解一些,能做一些相关的项目最好。</font></font>
<li><font color="#000000"><font face="宋体">最后一个</font><font face="Calibri">3DGIS</font><font face="宋体">,了解不多,算是底层开发,</font><font face="Calibri">C++</font><font face="宋体">和</font><font face="Calibri">C</font><font face="宋体">应该是要精通的,</font><font face="Calibri">opengl</font><font face="宋体">是必须要会的。</font><font face="Calibri">3</font><font face="宋体">维图形算法和数据结构也要多研究。</font></font><br/></li></ul><font face="宋体"><font color="#000000">写的有点乱,大家将就着看吧 </font></font>
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2011-09-16 14:16
<strong><font face="Calibri"><font size="6"><font color="#ff0000">(四) 关于找工作....<br/></font></font></font></strong>好久没更新这个帖子,客观原因是工作学习太忙太累,主观原因是人变的太懒,周六看一天美剧,今天打了一天游戏,眼看着这个周末又没了,决定利用剩下的时间做点有意义的事情--把这个帖子最后一篇写完。<br/>1、找工作前的准备。<br/>都说GIS专业不好找工作,我倒不是觉得不好找,而是找不到好的工作。工资普遍偏低。这也是没办法的事情,我现在就觉得做GIS的公司似乎都在捡计算机类专业找不到工作剩下的,因为人家好歹是学计算机的,会编程,而学GIS的好多学生不会编程,关键是不喜欢编程甚至鄙视编程,培训arcgis和arcengine显然比培训你编程要效率的多。更何况,编程编不来的,对这些二次开发组件的理解又能好到哪儿去呢。<br/>对于GIS专业,我的建议是,利用大四的时间,去找一份编程的实习,针对性的准备一下,只要不是电脑盲,花些时间,针对性的准备一下,一般情况都能找到的,当然也要靠一些运气。但是可能你找到的公司很烂,天天加班,给的钱还少,没关系,这只是过渡,为了让你毕业找工作时,不用再经历一次这种烂公司了。所以,哪怕没有报酬,也要全身心的投入到里面去做。至于和GIS是否有关系不重要。这样等到你找工作的时候,你就有了一些编程的经验,无论在面试还是笔试的时候,都会有很大的帮助。<br/>如果实在是找不到实习,可能有的学校不在上海北京这种大城市,找软件类的实习并不容易,那就只能尽量在学校里做一些编程的项目了。像课程设计、毕业设计,如果想混打哈哈就过去了,但如果想做好,还是能学到不少东西的。但这种学习压力就小了,而且没人带,效果并不好,尤其是像我这种自控力差的人。如果学校里也找不到项目,那就找书,做书上的例子,哪怕对着书本把代码打一遍进去,能把它调通,也是好的。总之,就是在找工作之前,一点要写过一些代码,而不是就拖拖控件。学GIS的很容易染上这个毛病,MO拿过来,拖一下,显示一下,ok,学会了。AE装一下,拖一下,显示一下,ok,又学会一样。server, mobile全都是一个套路,一周就把arcgis一整套东西全都学会了,没拖过这些控件的一看你做出一个能显示地图的软件或网站,崇拜的不行,实际上,多大工作量,自己心里最清楚了,一分付出一分收获,如果你对GIS开发的学习仅到此为止,那就不能怪找工作难了。<br/>2、找工作的途径<br/>肚子里有货,再去找工作,就容易多了。了解找工作的途径也很重要,很多学生都是等着工作来找自己,如果你在武大这种GIS专业很出名的学校,那要恭喜里,坐着确实能等到工作来找你,如果不是,那就要自己主动出击去找工作了。<br/>1)招聘会。对于GIS专业,普通的招聘会都没啥对口的单位。所以尽量去那些GIS专业比较好的学校里挤,或者像一些GIS专场招聘会。一般的招聘会就别去浪费时间了。<br/>2)网投。专业性论坛,应届生,自己学校的BBS等,这些网站是要天天去点的。对了,有csdn的论坛,偶尔也会出现一些招GIS开发的程序员,也要经常看看。看到了合适的就投。我说的合适不是指你能符合他的要求,那样的话没什么可投的公司了。而是它能符合你的要求,而你只要能符合它的其中的一小部分就可以投了。像51job,chinahr之类的网站,就别浪费时间了,这上面投简历跟往水里投石头没区别。除了看招聘启事,还可以搜集GIS方面的公司,然后到公司网站上去投。<br/>3)老师、学长学姐、家里,同学、朋友,甚至网上认识的同行业的朋友等等。不但要动用一切你能用的人际关系去找,还要尽量去挖掘潜在的,可能会对你找工作有帮助的人。这种途径往往找到的工作比你自己去瞎撞的好。<br/>3、简历。<br/>1)一定要控制在一页里面,针对招聘要求来修改你的简历,他要你会什么,你就写会什么。他没要的,你觉得公司会感兴趣的,也可以写上。但是离题万里的就别写了。比如你应聘程序员,别写你熟练office,还会装电脑,还会photoshop等等。<br/>2)简历最显眼的部分,也就是一张纸的中上部,要写最有用的东西,比如你的技能和项目经验、相关的奖励等。什么自我介绍,兴趣爱好,入职宣言之类的都放到后面充字数。什么当过课代表班干部就别写上去了。<br/>3)如果是应聘国企和事业单位,如果你是党员的话,写上去。不是就算了。私企和外企你是不是党员都不用写了。<br/>4)适当的夸大自己水平,但是一定要经得住问,你先假想一下自己是面试官,拿着你这份简历,你会怎么问,然后看看自己是否能答的出。<br/>5)把自己的做过的项目和作品,做一份汇报PPT。有时会用到。发简历时也可以附上。不要和简历打成一个压缩包,分开上传,这样别人只想看里简历时,不用下PPT,因为PPT很大,网速不好的话都不一定下得动。<br/>6)不是投外企,而且不要求英文简历的情况下,别用英文简历。<br/>4、笔试、上机和面试。<br/>公司招聘选拔的过程大致有这几种。只面试、笔试后马上面试、笔试筛选后另行通知面试。<br/>一般的,小公司不笔试,去了就直接聊,这种情况都是对着你的简历问,面试前一定要把自己的简历弄熟,自己写上去的技能比较生疏的,抓紧时间在面试前看一看,囫囵吞枣的混个眼熟,然后能说就行。简历上写的项目,回顾一下整个过程,用到了哪些知识,做了哪些事情,实现了些什么功能,怎么实现的等等。面试过程中,尽量多谈自己熟悉的东西,回避不熟悉的东西。小公司面试过程中可以瞎扯,可以聊一下与面试无关的话题。聊聊公司的发展前景啊,做什么产品啊,聊一些自己的兴趣爱好啊什么的都可以。除非面你的人很严肃,否则自己不要显得太严肃。<br/>GIS公司都会笔试或上机考些什么东西呢。编程方面的,我只能提供C++的笔试经验,其他方面没怎么做过。C++一般都是林锐的那本高质量C/C++编程,那本书弄熟了,C++笔试基本都能过。专业方面的,既然是GIS专业,当然要考点除计算机以外的东西,一般来说,大点的公司,或是好点的事业单位,会考基本功,一些基本的GIS算法和原理,典型的,折线的缓冲区生成,多边形面积计算,坐标转换等等。小公司一般会考针对特定技能,如C#和AE,数据库等。还会碰到一些算法扫盲题目,冒泡排序、查找、字符串处理算法等。<br/>还碰到的一种面试方式是,直接做汇报,自带电脑,演示你做过的项目。像这种,最好是做一份PPT,然后在需要的时候运行你的程序。这个做汇报,前面讲过了,只拣最重要的讲,时间要控制好,一般5分钟到10分钟,讲的过程中注意观察面试你的人的表情,他感兴趣的可以多讲一点,不感兴趣的尽快跳过。<br/>就写这么多了,最后祝大家找都找到一份好工作!
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部