分享

6个开源项目提高GIS编程技能(附教程项目地址)

 风声之家 2022-06-10 发布于江苏

原创 开源集思 开源集思 2022-06-10 09:30 发表于吉林

地理空间编程极具挑战性,尤其对于 GIS 或编程领域的新手而言。然而,构建项目的过程通常也非常有趣,因为它会帮助您获得实用的开发技能,以及将理论知识应用于开发其它的项目。

在本文中,我们展示了六个项目,可帮助您提高地理空间编程技能。我们鼓励多专注于理解基本概念,有时,理解概念比编写代码更重要。

1. 矢量/栅格文件转换器

工具:

  • Web: HTML,CSS,JS,Leaflet,React,Turf JS,shapefileJs等

  • 桌面: Python, shapely, fiona, geopandas, ogr2ogr, pyGUI等

  • API: Django/Geodjango, Node等

先决条件:

至少具有以上列出的一种编程语言基础知识。

概要:

构建用于在多种矢量和栅格 GIS 数据格式之间进行转换的平台。例如,

  • Esri Shapefile - GeoJSON;

  • GeoJSON - topoJSON;

  • KML - GeoJSON;

  • GeoTiff - ECW;

  • Geotiff - COGs;

  • PNG - GeoTIFF;

  • GEOTIFFs - JPEG;

  • CSV - Esri Shapefile;

将以上平台构建为一个项目将大大提高您的开发技能,通过大量的研究,以及结合多个工具和库的实践经验,您将会收获颇丰;除此外,也可用您认为最合适的语言来构建,可在Web、桌面应用程序或API上使用,无论选择哪种方式,都会在此练习过程中学到很多经验。

教程:

  • GIS 自动化过程

2. 构建QGIS插件

工具:

  • Python, QGIS, QT Designer.

先决条件:

鉴于 QGIS 的经验,以及对Python 中面向对象编程(OOP)范例的理解。

概要:

QGIS是功能强大的开源地理空间软件,构建插件被认为是一种可以提高 Python 编程的技能方式。QGIS 是一个开源工具,可以查看任何插件的代码结构,也可以根据需求进行修改。

QGIS 存储库中有大量的插件,找到能够解决您问题的 QGIS 插件,将其进行编码。

图片

教程:

  • QGIS 教程

  • pyQGIS 入门

3. 空间笔记标签

工具:

  • 地图制图库: Leaflet

  • 后台: Django

  • 数据库: PostGIS

先决条件:

Django 基本知识。

概要:

该项目的主要目的是提高web-GIS 技能。如果您曾经搜索过针对初学者的 Web 开发项目理念,可能会在列表中的某处找到“待办事项列表”。通常,待办事项列表包含添加、查看、编辑和删除项目列表的功能;同样,您也可以尝试为空间数据创建 “创建、读取、更新、删除 (CRUD) ” 的功能。

例如 Bookmark note 应用程序,用户可在其中将 note 添加到地图上。添加的 note 必须包含经纬度形式的位置信息,并存储在空间数据库中。出于可视化目的,应从数据库中获取所需的 note。

4. 构建遥感/地球观测应用程序

工具:

  • Python, R, Google Earth Engine, JS, HTML & CSS, Leaflet JS, Mapbox JS

先决条件:

具有上述编程语言和/或平台的经验。

概要:

该平台可以使用 Sentinel 开放卫星图像生成一个区域的时间序列地图,用户能够绘制边界或上传边界并生成地球上位置索引的时间序列。该项目可探索以下 Python 工具和技术:

  • Earth observation

  • SpatioTemporal Asset Catalog (STAC) specification

  • Cloud Optimized Geotiff (COGS)

  • Copernicus constellations

  • Map tiling

教程:

  • STAC

  • Sentinel Hub

  • GEE教程

  • GEE Apps

5. 自动化

工具:

  • Python, PyQGIS, ArcPy, R

先决条件:

具有使用 QGIS 和/或 ArcMap/ArcGIS Pro 的经验并了解 Python 编程语言。

概要:

诸如我们生活中存在的一些重复性的工作,例如坐标格式之间的转换(如十进制度到度分秒,将文件格式从一种转换为另一种等),回想一下,您每天从事的重复性工作是什么呢?可以尝试利用您最喜欢的编程语言将它们自动化。

教程

  • pyQGIS 入门

  • QGIS 教程

  • 在GIS中使用R编程

6. Web-GIS 数据可视化门户

工具:

  • HTML, CSS, JavaScript, Leaflet, GeoServer

先决条件:

对 HTML、CSS、JavaScript 和 GeoServer 有基本的了解 。

概要:

Web-GIS 是传播地理空间数据和处理工具的一种廉价而简单的方式。许多机构都有兴趣向用户分发地图和处理工具,且不受时间和位置限制。Web-GIS 允许与地理空间数据进行可视化交互。通过使用 Leafletjs、Openlayers、Mapbox 等地图制图库,在代码内开发地图可视化界面会更加容易。然而直接使用地图制图库,很难管理具有各种文件格式的大量数据, 为解决此问题,我们可以使用 GeoServer。

GeoServer 是一个用于共享地理空间数据的开源服务器。它提供开放地理空间联盟 (OGC) 标准协议,例如 Web 要素服务 (WFS)、Web 地图服务 (WMS) 和 Web 覆盖服务 (WCS)。此类服务使发布和共享地理空间数据变得非常容易。

确定

  • 不看此公众号

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章