屌丝giser成长记-研一篇(上)
2011年本科毕业之后,我选择了保研GIS研究生,继续了我的GIS研究生涯,读研的童鞋们注意了,读研选择什么样的导师很重要,因为不同的导师有不同的人脉,从浅一点的来说,导师手头的开发项目多的话,你自己锻炼GIS开发机会就多,提供自己的能力快,深处来说,导师的人脉广,你跟导师相处好的话,导师可以推荐你到相关的事业单位或者好的企业,千万不要忽略了这点,很多导师在当地都具备一定的人脉关系网,这点我深有体会。总的来说,我还是比较幸运的,导师是学院的gis系主任,读研三年帮他也做了不少gis开发项目,后面会一一道说,毕业之际,他也给我推荐了重庆一家事业单位,但是我放弃了,选择回到了广州,毕竟家里人都在这边,其实那家事业单位前景还是不错的,有几个同门进去了的,了解一些情况。一日为师,终生为父,非常感谢导师在我读研的三年期间,给予我很多锻炼的机会,关于这点我非常感激,但是有个别地方我还是有点介意和不开心,对于导师的作为,就是在研一结束的暑假,我本来想出去实习的,刚好有个师兄在深圳中科院研究所里面实习,我跟师兄说好了,想去那边,师兄也跟领导说好了,同意我去了,师兄说,在那边实习了的话,一般都是可以留下来的,深圳或者广州,都是我毕业想去的城市。但是导师死活不同意,刚好手头有个gis开发项目,说我去了就没有核心人员带师弟师妹他们做了,而且还放下狠话,大概的意思是说,你去实习也行,以后出了什么事情,不要找他,我也从其他师兄师姐的口中得知,导师不能得罪,因为有个师兄之前也是执意去实习,得罪了导师,结果师兄可惨了,导师后面什么都不管他。我后面最终放弃了这次实习机会,确实有点遗憾!
研一期间,导师让我负责一个学校的webgis系统,这个项目算是一个小的科研项目,基金不多,主要是想部署在学校的校园网,方便浏览和展示gis的作品,webgis校园系统最开始是从大一届的师兄他们手头接过来的,他们负责另外的项目了,开始版本是cs模式的,用AE来实现,也只是搭个空的框架而已,很多gis功能都没实现,只是显示个底图。接手之后,我决定自己重新做,因为也只有我一人做而已,结合自己本科的gis开发经验,我改为webgis形式来实现,由于还是选择arcgis api for silverlight接口,自己本科做过了的,所以自己很快的做了初步的webgis框架以及界面,用来一周不到时间,实现系统主界面以及gis基本功能,比如浏览、缩放、查询(属性和拉框)、鹰眼、量测、书签、图层列表展示等等。接下来就是实现稍微复杂一点的功能,就是统计分析部门,比如采集学校宿舍各栋的人口数据,保存在数据库,结合地图一起在展示出来,以气泡窗口的形式,那时候silverlight版本没有infowindow这个类,还是用maptip形式的,结合graphiclayer一起展示,把柱状图和饼状图等等统计出来展示,比较直观的效果图。附上当时的统计效果图:

现在回想是很简单的,但是对于当时的我来说,也花费了不少时间呢,而且silverlight没有js那么方便或者flex,我是参照esri官网,一点一点弄出来的,感觉当时自己还真是菜啊,哈哈!接下来就是路径分析功能,其实也是官网的事例拿过来的,做了个简单的最短路径分析,本科就做过了,这个实现的很快,不到一天就搞定了当时。最后就是模拟模块,做了个校园路况模拟以及校车定位模拟。不管路况数据或者校车位置的实时监控数据,当时我都没办法去获取实时数据来源,这些是依赖设备监控来支撑去获取实时数据的,现在的我,没有设备的话,也做不到实时监控定位展示,何况当时,所以我只能用模拟数据了。现在回想,做的还是比较简单的,校园路况模拟就是从数据库读取道路的标识数据,用来区别该道路是属于什么等级(拥堵、一般、畅通等等),然后按照设置好的颜色分级,最终通过地图渲染展示出来;校车定位模拟也类似,从数据库读取某路线的数据,即是一系列经纬度集合,然后在前端来解析展示在地图上,最终是把所有的点集合连成线,这里唯一不同的是,在地图上画点,并不是一次性画完所有点,然后连成线的,是通过一个时间空间timer来控制,一点一点的画,连线,这样就是时间感来控制,隔一段时间,车辆就跳动一次。最后一个就是缓冲分析了,这个也比较简单,参照官网例子很快就搞定了。
这个校园webgis系统,通过自己的摸索以及结合之前的wegis开发经验,总算是完成了,通过部署在校园网测试,修改一些小bug之后,也算是通过了,导师对我的评价挺高的,夸我的gis开发能力不错,效率高,当时心里暗暗高兴,结果后面才发现,自己能力比其他同门高的话,也未必是好事,依赖自己太高,导致自己太累,前面说的实习一事也属于这个范畴,还有就是后面的gis开发项目,基本是属于自己开发,真是累的一笔啊,一直延续到研三才脱离出来,没有培养好师弟或者师妹是自己最大的失误,不然不会那么累。附上这个系统的主界面效果图:

这是研一期间做的第一个项目,算是比较顺利的吧,除了做项目之外,研一的有门课程还是不错的,arcgis软件操作的,汤国安教授写的,那本书确实不错,教课的老师讲的也很好,之前我虽然做arcgis开发,但是对arcgis软件操作方面也不是很熟悉,只会简单的基本操作。那门课是在实验室上的,结合实验实践一起,效果特别好,通过那门课,自己学会了arcgis软件操作很多方面,创建图层、矢量化、分析等等工具,也幸好学了那门课,因为导师还有一些地图数据处理的小项目,需要导入图层数据以及矢量化的,还有就是从cad转换shp的,作为一名arcgis开发者,你光懂api开发,而对arcgis软件操作,arcgis软件的工具不熟悉也是不行的,比如AE开发,很多AE的接口其实就是arcgis desktop的工具,你要是熟悉arcgis工具箱的工具,对于你学习AE是挺有帮助,webgis也类似。
屌丝giser成长记-研一篇(上)的更多相关文章
- 我的屌丝giser成长记-研三篇
进入研三以来,基本都是自己的自由时间了,从导师的项目抽离出来,慢慢的都交给师弟他们来负责.研三的核心任务就是找工作以及写毕业论文,因为有导师科研基金项目成果作为支撑,所以自己的论文没什么可担心,一切都 ...
- 我的屌丝giser成长记-研二篇
之前有提到过的,本来按照计划中,研一结束就该去深圳中科院研究所实习的,之前跟里面师兄说好了的,奈何导师又接到一个新的科研研究项目,跟学院的几个其他老师一起合作的,主要是关于土地流转系统,而且是一个挺大 ...
- 我的屌丝giser成长记-研一篇(下)
研一生活的下学期开始,课程就比较少了,加上选修课,4门课而已,总体还是比较轻松的,让我有更过充裕时间来做自己的事情以及导师的项目.开始导师的一个新的webgis开发项目,叫做三峡库区事故型水环境污染风 ...
- 屌丝giser成长记-大学篇
作为一名屌丝giser的我,刚接触gis专业是2007年的大一,好悲催,当时gis这个专业是被调剂的,我压根都不知道gis为何物,那时候gis冷门的一逼,报名这个专业的寥寥无几.记得那时候得知被调剂到 ...
- 我的屌丝giser成长记-工作篇之B公司
从A公司跳槽到B公司,岗位还是webgis开发方向,但是具体实现的技术完全变了,从flex转换js,这也是我要离开A公司的最重要的原意之一:A公司的arcgis for flex框架采用了flexvi ...
- 我的屌丝giser成长记-工作篇之A公司
A公司是我研究生毕业的第一家GIS公司,一家专门做GIS应急的公司,接的项目还是可以的.A公司的项目框架GIS部分采取的是flexviwer,当然最近一两年来,flex技术在gis行业慢慢的被淘汰了, ...
- 你好,C++(38)从问题描述中发现对象的属性和行为 6.4 工资程序成长记:类与对象(上)
6.4 工资程序成长记:类与对象 “夜半三更哟,盼天明:寒冬腊月哟,盼春风.若要盼得哟,涨工资,岭上……”自从上次老板许诺给小陈涨工资以后,一转眼又过去几个月了,可是涨工资的事一点动静都没有.小陈只 ...
- [转帖]「白帽黑客成长记」Windows提权基本原理(上)
「白帽黑客成长记」Windows提权基本原理(上) https://www.cnblogs.com/ichunqiu/p/10949592.html 我们通常认为配置得当的Windows是安全的,事实 ...
- 你好,C++(23) 4.4.2 工资程序成长记:用数组处理批量数据,用循环结构执行重复动作
4.4 从语句到程序 了解了各种表达式和语句之后,就相当于掌握了写作文要用到的词语和句子,但是,仅有词语和句子是无法构成一篇有意义的文章的.要完成一篇文章,先需要确定这篇文章的结构,是先分述再总述, ...
随机推荐
- L2 Population 原理 - 每天5分钟玩转 OpenStack(113)
前面我们学习了 VXLAN,今天讨论跟 VXLAN 紧密相关的 L2 Population. L2 Population 是用来提高 VXLAN 网络 Scalability 的. 通常我们说某个系统 ...
- Notes:SVG(1)
SVG,"Scalable Vector Graphics"可伸缩矢量图形,基于可扩展标记语言,用于描述二维矢量图形的一种图形格式. SVG是纯粹的XML,可以使用以下方法插入到H ...
- 高级javascript---模块化编程
随着网站逐渐变成“互联网应用程序",嵌入网页的Javascript代码越来越庞大,越来越复杂 网页越来越像桌面程序,需要一个团队分工协作.进度管理.单元测试等等......开发者不得不使用软 ...
- geotrellis使用(三)geotrellis数据处理过程分析
之前简单介绍了geotrellis的工作过程以及一个简单的demo,最近在此demo的基础上实现了SRTM DEM数据的实时分析以及高程实时处理,下面我就以我实现的上述功能为例,简单介绍一下geotr ...
- Masonry 当需要把某个控件进行隐藏的时候有警告的解决方案
//查看全文 [self.moreBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.top.equalTo (self.conten ...
- objective-c中的@selector()和 c /c++的函数指针
先看tomcat里用到的代码: //然后开始动画 //把图片放到animationImages,接受数组参数 self.tom.animationImages = arrayImage; //设置时间 ...
- 三步将Node应用部署到Heroku上
Heroku是一个提供快速部署服务的云平台.支持Node,Ruby,Java,PHP,Python,Go多种语言,今天体验了下,简直不要太爽.下面简单的介绍一下. 首先还是要注册一个账号:https: ...
- ORM小结
最近看园子里 @李林峰的园子 关于ORM的介绍,真的很好.自己看了也有一点点小心的,记录一下. ORM即为一种数据模型和数据库中关系映射的一种方式. 学过“三层架构”,知道怎么把表 示层(UI)--& ...
- jQuery-1.9.1源码分析系列(一)整体架构续
这一节主要是jQuery中最基础的几个东东 2. jQuery的几个基础属性和函数 a. jQuery.noConflict函数详解 在jQuery初始化的时候保存了外部的$和jQuery _j ...
- vue-resource请求超时timeout设置
请求超时设置通过拦截器Vue.http.interceptors实现具体代码如下 main.js里在全局拦截器中添加请求超时的方法 方法1:超时之后会调用请求中的onTimeoutd方法,then方法 ...