测绘编程基础
① 如何学习编程(测绘篇)
学习编程,就跟学其他的东西一样,最重要的就是有目的性。这个目的性指的是明确的工作领域和工作性质,并非你个人的追求。搞科学计算的, Fortran不能不熟;搞符号的,别说你不会 mathematica或maple;搞通用软件的,在这个大环境下,不会C++我只能佩服你牛犊般的勇气。说来说去,就一点目的!我学计算器比较早,当时的目的是写OS ,后来没能读CS专业,自然这个就只是梦想了。但是自那之后我就陷入一个误区,也就是没目的的学。大一的时候,我看《计算器程序的构造和解释》,看《深入理解计算器》,看《算法导论》,看编译原理,看操作系统,这些算是计算器的内功,看看也罢,不必苛责。但是细细想来,除了前三本书比较靠谱之外,后面看的许多都是多余的。为什么?我不是科班的,就目前的情况看来,转行是不可能的,也是不明智的。那么这些东西在时间导向的任务安排模式中,是绝对要去掉的。 其实刚才举的几个例子给人一种感觉这个人太专注于语言(工具),不能明白后面的道理。呵呵,这个是《程序员》杂志上经常出现的表象底层论的。这里我还是多说几句吧。工欲善其事,必先利其器,对于非CS方向来说,你编程的目的是什么?绝对不是理解后面复杂的构架原理或者之类的,重点是解决问题!我要算重力模型,为了能节省时间,就是应该拿着Fortran冲锋陷阵;要做符号运算,熟练运用 mathematica 能帮助你看清问题,做出合理推导;要生成直观的图, matlab和Plot都是有用的。这个不仅仅是表象底层论,我的目的是解决问题,其他的扯淡的事情不重要,真的不重要! ----------------------------工程?No!-------------------------- 这个其实是前面的续,这里的目的精化了,把所谓的CS科班学习方式给排除开了,也就是说我们已经明确了我们不是要作为一个计算器高人存在。那么当我们看清我们的目标是我们自己的专业后,我们可以抛开无用的课程专注于你要学习的东西。 这个案例是我大二的学习方式。大二我也看书,多为 .NET方面的,还有就是C++和构架,这两方面我投入了很多的精力,书也不少,还蛊惑周围很多人投入这个。但是仔细想想,我是程序员吗?显然不是。 你如果进行过合作,会发现一个项目,讨论到一定时候,有CS或者软件背景的组员一定会不自觉的说到构架问题和效率问题。他们会自然而然的规划是消息机制,还是事件机制还是命令机制,或者要不要采用插件。至于效率问题,他们会关注这里用vector性能高还是用List 。其实我也有这个毛病,从这个方向考虑过多了。这些工程方面的东西都是程序员做的,你不是程序员,就算你现在处于程序员的位置,但是记住,你应该做的是你的专业。与其浪费时间纠结这些问题,不如研究一下GeoTiff ,看看WKT 编程来编程去,编程都不是目的。你不能局限于拖拽控件,不能局限于相应事件消息,打印的问题交给开源库。除非是甲方给出必须解决的,你就应该用手头最熟练的工具,用最少的时间解决掉这些杂碎的工作,然后全身心投入工作中。就像测绘在工程建设中只是支持工作,永无出头之日;同理,计算器技术在你的主业中只是支持工作,你那么纠结其中,也不会有出头之日的! --------------------------------建议路线----------------------------- 最后还是给一条建议的学习路线。 常规来说,学习编程首先是学C或者C++ 。要明确说一下,这是两门截然不同的语言!学C的我是反对谭浩强先生的书的,我建议是《C程序设计语言》。但是根据周围人的反馈,这本书对于完全不懂编程的人来说开头有点云里雾里,所以我待会说完全没有建立编程思维的人。学习C++ ,我看初学者最后还是最喜欢《C++ Primer》。注意,这里没有Plus ,有Plus的是莫名其妙的书。学完这里,你可以考虑去买一本《 Effective C++ 》,然后大致学一下,知道C++是一门危险的语言,以后使用要小心,编译错误经常有,编译速度不顺心就够了。接着,根据你所在的部门不同,会有不同的要求。如果是搞GIS的,继续学习C#的可能性很大,这时候,你有福了,C#很简单,看看例子就会了,而且IDE很体贴,不用操心了。如果你还在传统部门,那么100%你会用VC ,而且一半可能会用VC 6。 VC 6很多人都在用,但是VC 6绝对是垃圾。语法不规范,头文件更不规范,没有对符号的很好的索引,反正就是不舒服。但是搞MFC基本上还是VC 6最好,所以打听好这个,再继续。如果你很幸运的是做运算模块的,那么别的你就别管了,看书看论文,在搞好数学(这个是关键)。如果你不幸要做界面,那看看MFC就好了。图书馆随便弄一本吧,这个方面我不想推荐什么。 ,会用就行了。
② 测绘工程专业 需要掌握哪些软件对于参加工作 需要拿那些证书!
测绘专业分很多小专业,不同的小专业需要使用的软件不尽相同,在不同的工作单位也不尽相同,比如,我在设计院干了18年的测量工作,却不知道mapgis、 arcgis、 anview是啥东西。
1、word、execl等文字处理及表格处理软件是公用软件,是必须懂的,否则只能做一些诸如清洁工之类的工作。
2、如果你需要绘图,那绘图类软件一定要会用,目前最流行的工程绘图软件是AUTOCAD,必须会。专业的测量绘图软件也要懂得使用,目前国内比较多人用的要数南方的CASS(不是做广告:)),它是在AUTOCAD的基础上进行二次开发的。当然,还有一些其它的测量绘图软件,如开思KAISI,也这在AUTOCAD的基础上开发的,还有些是独立开发的。对于这些绘图软件,不需要全部都懂,要看你的工作单位采用哪一个,当然了,如果你在学校就学会使用多种,找工作时竞争力会稍高些。
3、一般地,测绘绘图软件中也附带了一些数据处理的功能,如外业数据采集、预处理、土方量计算、控制网平差等,这些功能也有独立形成一个小软件的,最好掌握一些。导线、水准等的数据处理、平差软件是很容易学的,不用担心。
4、GPS控制的数据处理软件,如果控制网等级不高,一般采用仪器商附送的软件就可以。如果是高精度GPS控制测量(一般的工程测量是不会做的),就需要采用功能强大的数据处理软件。
如果你的工作是GIS,那你就必须会用相关的软件,如果你做航测,航片的解译、内业软件就必不可少。
5、至于VB、VC这些玩儿,是编程软件,不一定要懂的,当然,你如果懂是最好不过的,可以自行制作一些适合本单位需要的软件。遥想当年,市面上很少专业的测绘软件的时候,我就是靠自编程序解决很多问题的。
到了工作单位之后,你会发现你慢慢就懂得根据需要去学习不同的软件。