标签:完成 java 自动驾驶 link view tps rip 扩展性 script
总结了GIS开发的技术栈,罗列了应该了解的内容。
算是比较大而全的了,分理论、规范、数据、算法、软件、后端、前端、方向8个专项。
不求短期内全部都会,但还是一个比较好的学习框架和实践索引,如果基础好的话,两三年达到入门水平,应该是没有问题的吧,不过凡事,因人而异。
内容比较多,一个一个说吧。
学好理论知识非常重要,尤其是GIS还是相对来说比较偏冷门的内容。
刚入门看不出来,但时间长了,基础才决定一个人的技术之路能走多远。
学理论和基础,手头需要备几本专业书,谁知道网上找的是对是错。
推荐《地理信息系统导论》、《测量学基础》、《地图学》等书。
当然一般会做GIS开发的,也是相关专业的人,上课好好学就行了。
(如果不是相关专业的,干点别的不好吗?)
另外,相关的法律法规也要了解,别问为什么。
https://www.zrzyst.cn/fgwj/index.jhtml
https://www.zrzyst.cn/gjbtdtzs/index.jhtml。
要是觉得不够的话,可以看下《武汉大学测绘专业本科专业课程》,总有一门课,会派上用场。
https://wenku.baidu.com/view/caf7acf6ec3a87c24128c46b.html
熟悉理论知识后。
GIS开发主要看OCG规范,CIM是城市信息模型,BIM是建筑物信息模型,这两个都是城市建模相关的。
其余的可以参考《webGIS开发背景知识索引--瓦片原理与数据规范等》https://zhuanlan.zhihu.com/p/144767787。
如果做数据挖掘和算法,要多了解数据结构、数据规格、数据精度等方面内容,https://www.ogc.org/docs/as。
了解规范,多看官网没坏处:https://www.ogc.org/docs/is
GIS开发数据是很重要的一项,如何获取开源GIS数据,可参见《GIS数据源汇总》https://zhuanlan.zhihu.com/p/144792968。
Postgresql、spatialite都是对GIS数据兼容比较好的数据库,工程化应用可以使用postgresql,spatialite适合轻量级测试。
Postgresql官网:https://www.postgresql.org/ PostGIS是postgresql最常用的空间拓展插件:http://www.postgis.org/
说实话,GIS应用和实践的书,能看的不多,GIS算法这块,可以看科学出版社出版的Stephen Wise写的《GIS数据结构与算法基础》,中国工信出版社出版的Joel Lawhead写的《Python地理空间分析指南》。
Java、Python、js的程序实现,可参见《GIS算法索引目录》https://zhuanlan.zhihu.com/p/147689100。
GIS相关的算法一般都用在数据处理和建模上。
软件的熟练程度,是考察一个GIS工程师的标准之一。
我们比较熟悉的GIS软件是arcgis和supermap,但这两个都是收费的商业软件。
但一个行业要发展,开源是大势所趋。
QGIS是一个跟arcgis功能差不多的开源GIS软件,且有更好的拓展性。
如何使用QGIS,可参见《QGIS入门与简单实用----索引目录》https://zhuanlan.zhihu.com/p/138593960。
GIS软件很多,但底层原理都是一样的,一通百通,arcgis、supermap、QGIS这种大而全的软件,会一个就行了。
(不过,在GIS软件领域,还是没有能够超越arcgis的存在。)
smart3D、blender、3DMAX等,都是三维建模的软件,可用于BIM、CIM和三维地图的数据加工。
webGIS开发不太好区分前端后端,经常是顺手都做了。
开发一定要实践,只看,是看不会的。
新手入门,可以参考两个示例。
一个是后端采用Java的springboot2框架,前端使用vue框架集成leaflet,数据库使用postgresql的《从零开始,构建电子地图网站----索引目录》https://zhuanlan.zhihu.com/p/145423630。
这个写得非常细,从软件安装到服务器部署,零基础的可以照着做一遍。
另一个是后端采用Python django框架,地图使用geoserver发布,前端使用openlayer JavaScript库的《webGIS实践:geoserver+openlayer+django目录索引》https://zhuanlan.zhihu.com/p/141644867。
这个相对来说,工程性弱一些,更偏重GIS技术实现,因为有瓦片地图发布,还有坐标系转换、图层设置的内容。
如果能独立完成这两个demo,说明webGIS开发入门了。
Arcgis和supermap都有全套的GIS开发环境,但这两个都是商业软件,完全封闭,不具备扩展性和移植性。不过这两个软件在GIS市场上的占有率还是非常高的,尤其是企事业单位,有很多人用这两个软件做开发。
二维webGIS开发熟练后,可以接着学一学空间大数据可视化和三维地图开发。
Geomesa:https://www.geomesa.org/ cesium:https://cesium.com/cesiumjs/
GIS开发,职业上区分为两个方向,webGIS开发和数据分析师。但webGIS开发目的也是为了呈现数据,最好两者都有些了解。GIS开发相对于通用的前后端开发来说,就业面会窄一些,天花板也会低一些,所以可以持续的学习计算机知识和热门的程序框架,拓展一下职业广度,工作一段时间后,根据自己的选择,决定未来方向。
GIS开发的就业方向可以统分为体制内外,体制内就是传统地信测绘单位,加上接政府项目的GIS企业,这些地方使用商业软件arcgis和supermap比较多。地图厂商高德、四维图新、腾讯、百度这样的,会招一些GIS背景的产品经理、数据工程师,研发还是会招计算机相关专业的。不过出行、物流、网约车、购物平台这些需要地图服务的行业,会有一定的GIS研发需求。
随着5G、航天航空、物联网的发展,时空大数据可视化、三维地球建模,会是比较好的互联网工程化方向。
遥感影像分析一直是学术领域的热门。高精地图、高精定位、自动驾驶前几年是比较火的,但还是有很长一段路要走。
至于发展前景,时代是瞬息万变的,个人努力很重要,选择方向也很重要。保持对市场的敏锐,保持自己的竞争力,且行且珍惜吧。
人需要保持持续学习的状态,我们总有不会的东西,总有需要增进的地方。
GIS基础薄弱,就买书看书补充基础。
规范不了解,就去看OGC官网。
程序框架薄弱,就去学springboot或vue。
地图审美不行,就多去欣赏。
只要下功夫,总会有进步。
漫漫长生,我们一路竞跑,需要超越的,不是别人,而是自己。
今天的我,所能超越的仅仅是过去的我,希望将来的我,亦能超越今天的我。
标签:完成 java 自动驾驶 link view tps rip 扩展性 script
原文地址:https://www.cnblogs.com/hustshu/p/14757294.html