想要高效的学习GIS开源项目,一上来就读源码?那样你就输了。都知开源好,看源码又看不懂?这个时候很多人要开始自我怀疑了,是我太菜了?不,是方法不对。今天小编就带着大家来上手常见的GIS开源项目,觉得不错的可以收藏起来!
步骤一:熟悉项目
1.什么是开源项目?
开源项目是指源代码可以被公众查看、修改和增强的软件项目。它们遵循开源许可证,允许用户自由地使用、复制、修改和分发软件,同时也鼓励社区参与和协作。
2.README 文件
这边会有关于项目的介绍,了解下该项目的使用场景和优点。
3.开源 License
README旁边通常会有一个License,它标明了这个项目的开源协议。在使用项目时,需要遵守该协议。但也要注意,有些项目可能是假开源(代码开源,但版权自有),所以使用时要特别注意区别!
Leaflet
git: https://github.com/Leaflet/Leaflet
官方网站: https://leafletjs.com/
License: BSD 2-Clause
Openlayers
git: https://github.com/openlayers/openlayers
官方网站: https://openlayers.org/
License: BSD 2-Clause
MapboxGL
git: https://github.com/mapbox/mapbox-gl-js
官方网站: https://www.mapbox.com/mapbox-gljs
License: v2.0: Mapbox TOS (不算开源); v1.13 及以下:BSD-3-Clause
Cesium
git: https://github.com/CesiumGS/cesium
官方网站: https://cesium.com/
License: Apache-2.0
QGIS
git: https://github.com/qgis/QGIS
官方网站: https://www.qgis.org/
License: GPL-2.0
GeoTools
git: https://github.com/geotools/geotools
官方网站: https://www.geotools.org/
License: LGPL-2.1
PostgreSQL
git: https://github.com/postgres/postgres
官方网站: https://www.postgresql.org/
License: PostgreSQL Global Development Group (也不算真正的开源)
步骤二: Hello world
官方通常会提供Getting Started指南,指导你如何下载和快速上手项目。按照这些步骤逐步操作,一开始就成就感满满,更有动力去进行接下来的学习!
Leaflet
OpenLayers
Cesium
步骤三: 深入了解和使用
为了促进开源项目的普及和便利性,官方网站会有如Tutorials(教程)、API documentation(API文档)和Examples(示例)等专区。跟着学习并码起来吧~
步骤四: 看源码
不要一开始就深入源码,而应在基本掌握功能、原理和关键设计之后再去研究源码。阅读源码的主要目的是学习编码风格和关键技术的实现方法。
看源码时也有技巧:首先浏览源码目录,了解每个文件夹的内容分布;接着,选择一个切入点深入研究,逐步扩展相关知识点。这样的好处是你不仅认识了这个方法,还知道了关联方法,以及具体的使用。(人脑的记忆很奇特,知识越丰富,记忆就越牢固!)
下面看一下软件的代码是由哪些部分构成的:
1、接口抽象定义。
任何代码都会有很多接口或抽象定义,详细说明了代码必须处理的数据结构或业务实体,以及它们之间的相互关系,需要理清楚这些关系。
2、模块粘合层。
代码有很多都是用来粘合的,比如中间件(middleware)、Promises 模式、回调(Callback)、代理委托、依赖注入等。这部分比较利于框架层次的学习,根据需要进行学习掌握。
3、业务流程。
这是代码运行的过程。一开始,不要深入细节,从宏观层面理解整个业务的流程以及数据是如何传递和处理的。一般来说,我们需要绘制程序流程图或时序处理图来帮助理解。
4、具体实现。
代码逻辑,代码有两种逻辑,一种是业务逻辑,这种逻辑是真正的业务处理逻辑;另一种是控制逻辑,这种逻辑只是用控制程序流转的。
出错处理,这部分可忽略。
数据处理,这部分也可忽略。
重要的算法,这部分往往是最难也是最有技术含量的部分,需要静下心来慢慢啃。
底层交互,这部分也可忽略。
5、运行时调试。
在关键处用日志或debug 设置断点跟踪,让代码运行进来,然后实际看一下代码的运行过程。
步骤五: API 二次封装
“I Hear and I Forget, I See and I Remember, I Do and I Understand.”
会看会用不算什么,能改才是王道。可在之前深入学习的基础上,修改参数,根据需求封装自己的API,建立自己/部门/公司的实用工具库!
步骤六: 持续关注和学习
一般项目会持续更新版本,fix之前的一些bug,增加新的内容,要持续关注学习呢!
11个开源GIS项目:GDAL、NASA开源GIS软件、World Wind、CoordSystemTransform、sharpmap、sharpkml、shapelib、netDxf、ofoSpider、oxyplot、MatrixLibrary。
对于没有从事过地信相关专业的同学,想转行GIS开发,其实就是从一个HelloWord开始GIS开发当前处于发展期,人才需求量大,学员完全可以通过短期职业培训进入这个行业。
在新中地,我们每期开班都会有免费试听名额!
所有对GIS开发行业感兴趣的学员都可以通过线上报名,来试听GIS开发特训营课程。
免费试听方式主要是以下三种:
1)线上直播
2)线上录播
3)来武汉新中地线下校区试听
除了试听课程,为了帮助大家更快了解GIS开发课程,我们还特别推出了项目课程,主要有:
-
智慧校园系统课程
-
智慧交通系统课程
-
智慧机场系统课程
-
Openlayer系列课程
-
Echarts数据可视化开发课程
-
Mapbox课程
-
Vue课程
-
WebGIS三维-Cesium课程
还有很多免费课程,等你领取,部分含源码和笔记,有兴趣的可以扫码领取。
想学习三维GIS开发,这里有免费的试听机会等着你!
加小助手(little☺bearxhy)免费领取7天试听