都知开源好,只看源码看不懂,是俺太菜了?no no no,是方法不对而已~跟着下面的步骤,带你上手常见的GIS开源项目!
什么是开源项目?
????项目源代码开放,使用、修改和发行需遵守开源协议。
?
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 (也不算真正的开源)
一般官方上都会有
Getting started
,告诉你怎么下载,怎么快速上手,跟着它慢慢做,一开始就成就感满满,更有动力去进行接下来的学习!
????Leaflet
????OpenLayers
????Cesium
一般的开源项目为了推广和方便使用,官网都有类似
Tutorials, API documentation, Examples
的版块,跟着学习并码起来吧~
“不要一上来就去看源码,而是要基本掌握了功能、原理、关键设计之后再去看源码,看源码的主要目的是为了学习其代码的写作方式,以及关键技术的实现。”
?
看源码也有技巧,先看源码目录,知道每个文件夹里放的是关于哪方面的;然后可以从一个小点入手,顺藤摸瓜,牵扯出一大堆,这样的好处是你不仅认识了这个方法,还知道了关联方法,以及具体的使用。(人脑很奇怪,记的越多,记得越牢!)
“I Hear and I Forget, I See and I Remember, I Do and I Understand.”
?
会看会用不算什么,能改才是王道。可以在之前深入学习的基础上,修改修改参数,根据需求封装自己的API,建立自己/部门/公司的实用工具库!
一般项目会持续更新版本,fix之前的一些bug,增加新的内容,要持续关注学习呢!
参考:
https://time.geekbang.org/column/article/186778
https://www.cnblogs.com/makemylife/p/16537648.html
https://oschina.gitee.io/opensource-guide/guide/