开源 GIS

OpenGIS

开源 GIS 简介

开源 GIS 软件允许我们查看源码,自由使用,对学习 GIS 底层逻辑、编程技术大有裨益。

为什么选择开源 GIS

专用的 GIS 软件( ArcGIS ),可以让我们轻松完成所有 GIS 工作。但是,该软件通常非常昂贵,并不能查看源码,不能从中学到编码技能。

GIS 供应商有时会为教育活动提供例外,他们提供了更便宜或免费或容易破解的软件。他们这样做的目的是,如果老师和学习者了解他们的软件,他们将不愿意学习其他软件包。当学习者离开学校时,他们将进入工作场所并购买商业软件,而永远不会知道他们可以使用免费的替代品。

如果以后想进入互联网企业,掌握开源 GIS 开发技术比掌握 ArcGIS 竞争力大多了。

GIS 教育现状

ArcGIS 几乎等于 GIS

  • 大二有一门课是地理信息系统导论,课程所用软件就是 ArcGIS
  • 大三的空间分析也是用的 ArcGIS
  • 大三下的地理信息系统实践还是用的 ArcGIS

关于 ArcGIS

合理怀疑 ArcGIS 破解这么容易就是 ESRI 公司故意的。目的就是让大家熟悉 ArcGIS 产品,然后卖 ArcGIS Pro 。无论百度、谷歌还是淘宝,几乎没有可用的 Pro 的破解版。

主流开源 GIS 软件

桌面 GIS

  • QGIS: 桌面 GIS 软件大哥,能实现可视化地理数据、空间分析等功能,界面美观易用,支持插件扩展,提供 python api 以供开发。
  • GRASS: 拥有众多空间分析功能,在 OSGEO 组织推动下绝大部分功能集成进 QGIS 了。
  • SAGA: 空间分析软件,也被集成到 QGIS 了。

GIS 库(C++)

  • GDAL: 抽象地理数据库,GIS 的底层核心,影响巨大。
  • PROJ: 投影库,被 GDAL 使用。
  • GEOS: 二维矢量库,被 PostGIS 使用,提供有许多算法。

GIS 服务器

  • GeoServer: 主流 GIS 服务器,支持 WMS WFS WCS WTMS 等。

WebGIS 客户端

  • OpenLaysers: 功能全面的 JavaScript 库,支持多种投影,支持多种 OGC 服务。
  • Leaflet: 轻量级 JS 库,可以使用插件扩展。
  • Cesium: 三维 JS 库,确立了三维规范。

更多

更多 GIS 相关开源项目可以关注如下资源:

  • OSGEO: 开源 GIS 组织。
  • awesome-gis: 有趣的 GIS 项目集。
  • OGC: 制定了众多 GIS 规范。

基础知识

GIS 基础概念

传统

  • 几何: 点、线、面、集合
  • 数据: 矢量、栅格、Tin
  • 格式: Shp、GeoJSON、GeoPackage、GeoTIFF
  • 地理: 经纬度、坐标系、投影
  • 样式: sld、kml

三维

  • 数据: 点云、glTF
  • 图形: OpenGL、WebGL、DirectX

WebGIS

  • 协议: WMS、WTMS、WFS、WCS、WPS、XYZ

数据科学

  • 空间分析: 数据格式、算法
  • 大数据: Hadoop、Kafka

图形

  • 图形学: 物理渲染、Shader、图形硬件
  • 渲染引擎: Unity、UE4