【开源GIS】如何高效地学习GIS开源项目?一上来就读源码你就输了!

发布时间:2023年12月20日

🔥前言

都知开源好,只看源码看不懂,是俺太菜了?no no no,是方法不对而已~跟着下面的步骤,带你上手常见的GIS开源项目!


Step 1: 熟悉项目

什么是开源项目?
????项目源代码开放,使用、修改和发行需遵守开源协议。
?
README 文件
????这边会有关于项目的介绍,了解下该项目的使用场景和优点。
?在这里插入图片描述
?
开源 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 (也不算真正的开源)


Step 2: Hello world

一般官方上都会有 Getting started,告诉你怎么下载,怎么快速上手,跟着它慢慢做,一开始就成就感满满,更有动力去进行接下来的学习!

????Leaflet
????OpenLayers
????Cesium


Step 3: 深入了解和使用

一般的开源项目为了推广和方便使用,官网都有类似 Tutorials, API documentation, Examples 的版块,跟着学习并码起来吧~


Step 4: 可以看源码了!

“不要一上来就去看源码,而是要基本掌握了功能、原理、关键设计之后再去看源码,看源码的主要目的是为了学习其代码的写作方式,以及关键技术的实现。”
?
看源码也有技巧,先看源码目录,知道每个文件夹里放的是关于哪方面的;然后可以从一个小点入手,顺藤摸瓜,牵扯出一大堆,这样的好处是你不仅认识了这个方法,还知道了关联方法,以及具体的使用。(人脑很奇怪,记的越多,记得越牢!)


Step 5: API 二次封装

“I Hear and I Forget, I See and I Remember, I Do and I Understand.”
?
会看会用不算什么,能改才是王道。可以在之前深入学习的基础上,修改修改参数,根据需求封装自己的API,建立自己/部门/公司的实用工具库!


Step 6: 持续关注和学习

一般项目会持续更新版本,fix之前的一些bug,增加新的内容,要持续关注学习呢!


参考:
https://time.geekbang.org/column/article/186778
https://www.cnblogs.com/makemylife/p/16537648.html
https://oschina.gitee.io/opensource-guide/guide/

文章来源:https://blog.csdn.net/OTTOkongbai/article/details/135106901
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。