至即将踏入研究生的师弟师妹的一封信
亲爱的师弟师妹:
你们好,我是你们的师兄***,首先祝贺你们考上了研究生,踏入了一个新的平台,我代表***的所有师兄师姐欢迎你们加入这个大家庭。
即将毕业的你们,将要迎来一个漫长的假期,相比直接参加工作的毕业生,这是你们应得的奖励,因为你们曾经比他们付出更多的努力,但是革命永不成功,战斗还在继续,这个假期或许就是你和别人拉开差距的起点,同样也是别人和你拉开差距的起点。请稍作调整,再出发。
说说专业,我们的专业是地理信息系统(GIS),GIS = G(地理)+ IS(信息系统),G只是一个定语,落脚点还是在IS上,注定我们将成为IT(信息技术)人士(不转行的话)。
IT技术的发展是日新月异。一种技术,或许今日还是潮流,明日就将是黄花,诺基亚的大厦就是一夜之间倒塌的。
我们预见不了什么技术代表未来,但我们可以立足现在,作为师兄,有责任也有义务给你们几点学习上的建议,也希望对你有一丢丢的帮助。
1、 GIS的发展方向是什么?
GIS是乘坐在IT这条大船上的一个人,船的方向就是人方向。就目前来看,IT的方向毫无疑问是网络(Web)和移动(Mobile),并且它们势头强劲。
2、 我们应该学习什么?
先说Web,WebGIS正在如火如荼的发展,而WebGIS的开发可以简单的分为两个方
面,客户端(也叫前端)和服务端(也叫后台)。
当你踏入GIS这个行业的时候,不论你是有意还是无心,不管你愿意与否,你都将和ESRI扯上千丝万缕,斩不断。
提高生产力的最好方式就是使用更好的劳动工具,我们在Web端开发GIS,ArcGIS Server绝对是最易用、最强大、最完善的劳动工具,没有之一。
ArcGIS Server只是服务端的产品,它提供了各种各样的服务(地图服务、几何服务、网络分析服务、GP服务等),并且ArcGIS还提供了多种客户端API(ArcGIS API For Javascript、ArcGIS API For Flex&SilverLight),通过调用这些API来使用以上的各种服务完成WebGIS功能的实现,可能上面这段话还令你有些迷惑,没关系,简单的学习你就将完全理解。
客户端开发则是通过使用上面提到的客户端API来开发GIS功能,有三种语言的API:JavaScript、Flex和SilverLight,我强硬的要求你们把目光专注在JavaScript这门语言上,其他的两个语言可以忽略了。
再说Mobile,智能手机的爆炸式增长和App的泛滥你我都在见证,相见不如相知,相知不如相恋,众所周知,目前移动手机的开发平台有IOS、Android和WP,面对这三种平台的开发,我首推Android,理由一:Android的份额达到85%;理由二:我足够屌丝以致从来没使用过Iphone;理由三:WP,一个市场份额不到3%的操作系统,试问你开发的软件给谁用。
手机移动端的开发同上面客户端的开发模式一模一样,只是我们是通过调用ArcGIS的移动端API来实现GIS功能,移动端API有Android和IOS,选择哪种Up to you。
总结一下要学习什么技术吧(加*号是必学的):
WebGIS开发: *ArcGIS Server
*JavaScript
移动GIS开发: Android Or IOS
总是要给自己定一个方向的,不然怎么走都可能是反向,WebGIS or 移动GIS,Up to you。
3、 我们应该怎么学?
就WebGIS开发而言,首先必须要搞清楚:
1、 什么是ArcGIS Server
2、 如何安装ArcGIS Server
3、 什么是ArcGIS Server服务
4、 ArcGIS Server有哪些服务类型,都提供什么样的服务
5、 怎么发布地图服务等ArcGIS Server服务
6、 客户端(前端)和服务端(后台)是什么
7、 什么是HTML
8、 什么是CSS
9、 JavaScript是干什么用的
10、怎么使用ArcGIS API For JavaScript开发GIS功能
我们的目标不是没有蛀牙,是完成一个简单的WEBGIS系统,要包含*地图浏览、
*放大缩小、*绘制点线面、*查询信息、*符号渲染、地理处理功能、网络分析、在线编辑等,你应该知道标记*号是必须的功能。
从哪里学???
ArcGIS Server
每一个安装了ArcGIS Desktop的人都能打开ArcGIS 帮助:
问题1-5都可以从这里找到答案,当然你同时可以去图书馆借阅有关ArcGIS Sever的书籍,也可以通过强大的搜索引擎获取知识,但我依然认为上图(ArcGIS帮助)是最好的知识来源。
JavaScript
JavaScript是我们学习的最终目的,但是如果你搞不清楚HTML、CSS这些基础知识的话,你就搞不清楚JavaScript。
一个网络的基础教程:http://www.w3school.com.cn/h.asp
你只需要学习红色框框标识的部分:
这个网站不是唯一的选择,因为获取这些知识的途径太多太多,书籍也太多太多。
ArcGIS API For JavaScript
这个才是我们的终极目标,使用JavaScript语言来调用ArcGIS API完成GIS功能的开发实现,邮件附件《ArcGIS_API_for_JavaScript_开发教程.pdf》是一个不错的教程,比较适合入门,如果你的英语不错的话,我建议你打开这个网站:https://developers.arcgis.com/javascript/jshelp/,再次强调一遍,要想做到这些,一定要有一个好的JavaScript基础。学习的过程中,你大概会有很多的迷惑和不解,不要着急,你会一个个解决掉他们的。
说说移动GIS的学习。
同样你要搞清楚以下这些:
1、 什么是ArcGIS Server
2、 如何安装ArcGIS Server
3、 什么是ArcGIS Server服务
4、 ArcGIS Server有哪些服务类型,都提供什么样的服务
5、 怎么发布地图服务等ArcGIS Server服务
6、 客户端(前端)和服务端(后台)是什么
7、 什么是Android Or IOS
8、 深入的学习Java Or Objective-C
9、 怎么使用ArcGIS API For Android Or IOS开发移动GIS功能
我没做过移动GIS的开发,只能给大家一些粗略的建议:
做Android开发你就必须学会Java,做IOS开发你必须学会Objective-C,这个当然要去找一些专门的Android或IOS开发书籍来认真研读,然后就是对ArcGIS API For Android Or IOS的学习,你可以在百度文库搜索“ArcGIS API for Android”“ ArcGIS API for iOS”,会找到很多的入门文档,是不错的学习资料。ArcGIS 的官方帮助才是学习这些的最好资料:https://developers.arcgis.com/android/
https://developers.arcgis.com/ios/
学是为了用,要拿出一个简单的成果,做出一个移动GIS的App,要包含*地图浏览、
*放大缩小、*绘制点线面、*查询信息、*符号渲染、地理处理功能、网络分析、在线编辑等
功能。
还是忍不住的想提前告诉你,学习编程可不是一个简单的事情,要投入足够的耐心和决心,试想,到如今,你可深入自学过哪一门知识吗?如果没有,开始吧。。。
出发吧,不要问那路在哪,迎风向前,是唯一的方法。
Not All roads lead to Rome,Step by step, arrive in Rome.
此致
敬礼