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

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


发布日期: 2021-08-16 更新日期: 2022-06-10 编辑:xuzhiping 浏览次数: 3989

标签:

摘要: 地理空间编程极具挑战性,尤其对于 GIS 或编程领域的新手而言。然而,构建项目的过程通常也非常有趣,因为它会帮助您获得实用的开发技能,以及将理论知识应用于开发其它的项目。 在本文中,我们展示了六个项目,可帮助您提高地理空间编程技能。我们鼓励多专注于理解基本概念...

地理空间编程极具挑战性,尤其对于 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上使用,无论选择哪种方式,都会在此练习过程中学到很多经验。

教程:

2. 构建QGIS插件

工具:

  • Python, QGIS, QT Designer.

先决条件:

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

概要:

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

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

qgis插件库

教程:

3. 空间笔记标签

工具:

  • 地图制图库: Leaflet
  • 后台: Django
  • 数据库: PostGIS

先决条件:

Django 基本知识。

概要:

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

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

youtube-tutorial-geodev

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

教程:

5. 自动化

工具:

  • Python, PyQGIS, ArcPy, R

先决条件:

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

概要:

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

教程

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)。此类服务使发布和共享地理空间数据变得非常容易。

相关推荐

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org