GIS

(一) 打好编程基础

这篇文章仅给那些GIS专业的,想学GIS开发的,但现在还没怎么入门不知道该从哪学起的在校生参考的。这篇文章不是讨论GIS开发是否有前途的,也不是讨论做GIS是不是就一定应该做开发的帖子。

先就几个大家在学生时代都很迷茫,我也曾经迷茫过的问题,说一下自己的观点:

1、

现在开始学习编程,是不是晚了?

如果以大四毕业找到一份GIS开发方面的工作,并对得起3K左右的月薪为目标的话, 从大四开学开始努力就不晚。

2、

学校不教编程,怎么办?

大学里学校教不教只是指个方向,学习都靠自己,既然已经决定要做GIS开发,方向已经有了,学校教不教又有什么关系?

3、

GIS学生编程不如计算机的,搞测绘不如学测绘的,搞地理不如学地理的,我现在开始学习编程再怎么学也赶不上学计算机的怎么办?

这个问题简单,如果现在去睡觉能赶上他们的话,完全可以去睡觉嘛。

如果你是一名大二的学生,能意识到自己以后打算做开发,并开始努力,那是再好不过了。这个时候大部分学生还处在比较迷茫的时期,或者还在享受幸福的大学生活。这个时候开始努力,你就比别人起步早,自然会比别人更有优势。这时候学校一般都会有一些计算机相关的课程,计算机基础啊,VB啊、C啊什么的,对于不想从事这一行业的学生来说,应付过去就是了,但对于已经有想法的学生,这时候就要抓住机会,把这些课程学好,除了老师布置的作业,要尽量的去多编程,多敲代码,多学一些东西。学计算机不要局限老师教的内容,要自己去拓宽学习范围。下面细说一下这些计算机基础课程应该怎么去拓宽知识面。

学计算机基础的时候,除了把word, excel的基本操作弄熟,去学一学高级应用,比如说用excel做一些漂亮的报表、做一些数据的处理,筛选啊、统计图啊等,用VBA的做一些小应用,用Access做一些常用的数据库管理程序,像学生信息管理系统啊之类的。不要觉得这些东西没有,我去浙江地理信息中心,笔试上机题目,有一道就是excel相关的,要求用编程和不编程两种方法实现。我没做出来。。。囧

如果学校开了C语言的课程,不要只会做个从1加到100的程序。像C语言中比较难的部分,非计算机专业在教的时候都会回避。这个时候你就不能回避了。哪些部分呢?文件读写操作,位操作,内存操作,指针的操作,这些都学一学,很有用的东西。还有数据结构要多了解一些, 除了那些大家乱熟于耳的冒泡排序等算法,像什么链表、二叉树,图什么的都去了解了解。最后有和C语言去实现这些数据结构,可以去买一些数据结构的书来参考。

如果学校开了VB的课程,那就要多去做点小应用。VB是一个很容易上手的语言,通过很短时间的学习,就能做出像模像样的东西,这对于学习GIS二次开发来说是个很不错的工具,编程的难度降低了,可以把重心放在怎么设计开发GIS功能上面去。所以,在学习VB的时候,如果你听说过MO,尝试着用一用,并做一些小程序。你还可以去用VB写一些程序来操作word,excel,cad等,这些东西都没什么,就是个对象模型,熟悉它的对象模型了,就好操作了。另外,在用VB编程的时候,应该融入一些面向对象的编程思想,虽然VB不能算是面向对象的语言,但这也除低了学习面向对象的门槛,尝试着把一些常用的功能,算法写成函数或封装类。不要把代码复制来复制去的,搞的整个程序到处是重复的代码还沾沾自喜。还可以用VB尝试一下连接数据库,做一些数据库管 理程序。还可以做一些控件,做一些dll,然后自己去调用,体会一下组件式编程带来的优势,等等。。。这些学校上VB课的时候,都不会教,都要靠自己去学。

(二) 目标明确,有选择的学习

上面说的那些基本上都是大二的课程,什么大学生计算机基础啊,VB啊,C啊,如果能在大二时做到上面的全部,那就是非常非常牛的人了,我大二一年都贡献给war3了,还挂了好几科,VB学到变量那一章就直接废掉了。考试完全靠突击,才突击了个中。那大三的时候做什么呢?大三的时候一般会开各种专业课,说实话,编程是一个很费时间的事情,如果你已经决毕业后做GIS开发,那么,一些不相关的专业课,完全可以放弃,考试能过就行了,不要太花时间。拿我的课表来说,像什么人文地理啊,土地经济啊,自然地理啊,都是没用的课。有很多人以经济爱好者自居,看到带经济的课就两眼放光,其实这些课真的是很没意思,不是看了本什么地理经济你就算搞经济的了,看了本地籍管理,以为自己可以去房地局管地籍了,什么都想学,往往最后什么也没学好。所以,该放弃的课,是一定要放弃的,把有限的时间用在刀刃上。还有另外一些专业课,和GIS相关的,像GIS概论,遥感,GPS,数字图像处理,摄影测量,GIS地图设计,GIS项目管理,空间数据库原理及应用。。。等等(我只是根据我的课表列举一些,各个学校专业背景不同,具体课程也不同),这些课程都是要用心去学的。在这些课程中会碰到一些需要编程来解决的问题,不要偷懒。另外,这个时候会接触到一些GIS软件,什么cad,arcview,arcgis,mapinfo。。。很多,但是有两个软件是学GIS的一定要掌握好的,包括它们的二次开发,其他的软件都可以无视。一个不用说,当然是arcgis了,把arcgis desktop玩熟,最好去买一本实习教程什么的,有数据有步骤,一本书做下来,就差不多了。第二个软件是autoCAD,这个软件在GIS和测量行业中的地位是不可忽视的,cad的强大和易用性自然不必多说,cad的格式是一代数据格式的标准,GIS数据的来源无外乎测量和遥感图像,测量数据基本上都是dwg格式的,像国土部门,地籍部门都充斥着大量的cad原始数据,但是cad数据虽然灵活,确不能用GIS来管理,而且数据质量存在很大的问题,所以,如何将原来大量的cad数据转移到GIS平台,是很多部们和单位在解决的问题, 如果你精通CAD及CAD的二次开发,处理这些问题时你就能得心应手。所以,把CAD学好,至少掌握一个CAD二次开发的方法,lisp,vba,objectARX,lisp和VBA比较简单易学,objectARX比较难,刚开始可以不用管它,以后工作中如果用到了,再学也不迟。

编程方面,在大二的基础上,要开始了解一些面向对象原理和方法,除了VB和C,建议另外学习C#和Sqlserver,基本的sql语句要会,ADO连接数据库要会,不然,你连一个北大青鸟的学生都不如(仅限IT行业的coder工作)。这些东西不难,有编程基础和面向对象知识,上手很快,不过如果你想学习C++,那就要下大功夫了,呵呵,作为一名GIS的学生,学习C++倒不是很必要。

这个时候,如果学校的课不多,或者你觉得学校的课没有挑战性,有两个选择,一个是去软件公司实习,一个是去参加超图或ESRI的竞赛。如果精力足够旺盛,可以一起做。总之,要踏踏实实的做一些东西,做一些事情,不要荒废时间,也不要只学习不践,应该在实践中不断的学习,才能进步。这个时候沉迷游戏的同学该醒醒了,绝对不晚,我大二的时候是在家教和游戏中度过的,大三的时候,觉得自己不能干一辈子家教,然后就看了一本面向对象的书和一本asp.net的书,当时因为啥都不懂,只是囫囵吞枣的看下去了。然后我去找实习,经历了一番波折,找到了一个小IT公司,算入了软件行业的大门。面试的时候,我就把书上的词,能想起来的,全都说出来,估计那个面我的人有点崩溃,不过后来我知道,面我的那个,也就是公司的副总,是校友,大我十年。

(三) 个人对GIS二次开发学习的理解

先回答一个问题,有人问为啥做为一名GIS的学生,学C++不是很必要。其实准确的讲,我的意思是,目标为GIS二次开发的本科生,在学生阶段,可以不学C++。无论C++头上有多少光环,大家都说C++如何有前景,如何高薪,但有一点必须得承认,C++不好学,对于计算机相关专业,把精通C++作为毕业奋斗的目标是无可厚非的,而对于我们这种学GIS的半路出家的coder,缺乏很多基础的计算机知识,想在毕业前把C++学好然后借此找一份工作,是比较困难的。这是其一。还有一点,目前做GIS二次开发,几乎不会用到C++,对于一些急功近利的小公司,听你说只会C++不会C#,甚至会直接拒绝你,虽然你比一个C#的coder要花费多的多努力。而做GIS底层的公司又不多,这样看来在学校里学C++最后毕业了还是个半吊子,似乎有点不划算。但C++如果学的好的话,能在除GIS之外的IT领域有很好的发前景,基本上知名的大公司笔试都是C或C++的内容,当然语言只是载体,主要考的是数据结构,如果你有信心和计算机专业的学生竞争并且一心想去做技术的话,完全可以抛开GIS,绝对比去你做GIS二次开发强。但是如果你还是想在GIS二次开发上混 ,用一些容易上手的语言,在学校里多做出一些东西,看得见摸得着的东西,对找工作还是非常有用的。做GIS的,当然都不希望一辈子做coder,即使做二次开发,也要不要把精力全放在编程上面,应该更多的放在理解业务上面,放在积累行业经验上面,而不仅仅是积累编程技巧。也许有一天,你的角色是雇佣别人来完成你的想法,而不是天天抓头解决一个程序的bug,为一句代码通不过而吃不下,睡不着。

因为我现在是做C++的,如果相学的话,我可以提供一个大致的学习路线和学习的书籍。

学习路线基本上是:C -> C++ -> windows程序设计 -> MFC

各阶段的书:

C就无所谓了,学校教的就行,或者就是谭浩强那本书吧。

C++ 推荐C++ primer和高质量C++编程

Windows程序设计,有一本书,就叫windows程序设计。我看不下去,但我 知道这本书非常好。

MFC,孙鑫的VC深入详解,候捷的深入浅出MFC,我也看不下去

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容