如何高效学习GIS开源项目?直接读源码?

想要高效的学习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开发课程,我们还特别推出了项目课程,主要有:

  1. 智慧校园系统课程

  2. 智慧交通系统课程

  3. 智慧机场系统课程

  4. Openlayer系列课程

  5. Echarts数据可视化开发课程

  6. Mapbox课程

  7. Vue课程

  8. WebGIS三维-Cesium课程

还有很多免费课程,等你领取,部分含源码和笔记,有兴趣的可以扫码领取。

想学习三维GIS开发,这里有免费的试听机会等着你!

加小助手(little☺bearxhy)免费领取7天试听

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值