访问量: 192 次浏览
地理空间编程极具挑战性, 尤其对于 GIS 或编程领域的新手而言。 然而,构建项目的过程通常也非常有趣, 因为它会帮助您获得实用的开发技能, 以及将理论知识应用于开发其它的项目。
在本文中,我们展示了六个项目, 可帮助您提高地理空间编程技能。 我们鼓励多专注于理解基本概念, 有时,理解概念比编写代码更重要。
工具:
先决条件:
至少具有以上列出的一种编程语言基础知识。
概要:
构建用于在多种矢量和栅格 GIS 数据格式之间进行转换的平台。 例如,
将以上平台构建为一个项目将大大提高您的开发技能, 通过大量的研究,以及结合多个工具和库的实践经验,您将会收获颇丰; 除此外,也可用您认为最合适的语言来构建,可在Web、桌面应用程序或API上使用, 无论选择哪种方式,都会在此练习过程中学到很多经验。
教程:
工具:
先决条件:
鉴于 QGIS 的经验,以及对Python 中面向对象编程(OOP)范例的理解。
概要:
QGIS是功能强大的开源地理空间软件, 构建插件被认为是一种可以提高 Python 编程的技能方式。 QGIS 是一个开源工具,可以查看任何插件的代码结构,也可以根据需求进行修改。
QGIS 存储库中有大量的插件, 找到能够解决您问题的 QGIS 插件,将其进行编码。
教程:
工具:
先决条件:
Django 基本知识。
概要:
该项目的主要目的是提高web-GIS 技能。 如果您曾经搜索过针对初学者的 Web 开发项目理念, 可能会在列表中的某处找到“待办事项列表”。 通常,待办事项列表包含添加、查看、编辑和删除项目列表的功能; 同样,您也可以尝试为空间数据创建 “创建、读取、更新、删除 (CRUD) ” 的功能。
例如 Bookmark note 应用程序, 用户可在其中将 note 添加到地图上。 添加的 note 必须包含经纬度形式的位置信息, 并存储在空间数据库中。 出于可视化目的, 应从数据库中获取所需的 note。
工具:
先决条件:
具有上述编程语言和/或平台的经验。
概要:
该平台可以使用 Sentinel 开放卫星图像生成一个区域的时间序列地图, 用户能够绘制边界或上传边界并生成地球上位置索引的时间序列。 该项目可探索以下 Python 工具和技术:
教程:
工具:
先决条件:
具有使用 QGIS 和/或 ArcMap/ArcGIS Pro 的经验并了解 Python 编程语言。
概要:
诸如我们生活中存在的一些重复性的工作, 例如坐标格式之间的转换(如十进制度到度分秒,将文件格式从一种转换为另一种等), 回想一下, 您每天从事的重复性工作是什么呢? 可以尝试利用您最喜欢的编程语言将它们自动化。
教程
工具:
先决条件:
对 HTML、CSS、JavaScript 和 GeoServer 有基本的了解 。
概要:
Web-GIS 是传播地理空间数据和处理工具的一种廉价而简单的方式。 许多机构都有兴趣向用户分发地图和处理工具, 且不受时间和位置限制。 Web-GIS 允许与地理空间数据进行可视化交互。 通过使用 Leafletjs、Openlayers、Mapbox 等地图制图库, 在代码内开发地图可视化界面会更加容易。 然而直接使用地图制图库,很难管理具有各种文件格式的大量数据, 为解决此问题,我们可以使用 GeoServer。
GeoServer 是一个用于共享地理空间数据的开源服务器。 它提供开放地理空间联盟 (OGC) 标准协议, 例如 Web 要素服务 (WFS)、Web 地图服务 (WMS) 和 Web 覆盖服务 (WCS)。 此类服务使发布和共享地理空间数据变得非常容易。