地理空间编程极具挑战性,尤其对于 GIS 或编程领域的新手而言。然而,构建项目的过程通常也非常有趣,因为它会帮助您获得实用的开发技能,以及将理论知识应用于开发其它的项目。
在本文中,我们展示了六个项目,可帮助您提高地理空间编程技能。我们鼓励多专注于理解基本概念,有时,理解概念比编写代码更重要。
1. 矢量/栅格文件转换器
工具:
- Web: HTML,CSS, *** ,Leaflet,React,Turf *** ,shapefileJs等
- 桌面: Python, shapely, fiona, geopandas, ogr2ogr, pyGUI等
- API: Django/Geodjango, Node等
先决条件:
至少具有以上列出的一种编程语言基础知识。
添加微信好友, 获取更多信息
复制微信号
概要:
构建用于在多种矢量和栅格 GIS 数据格式之间进行转换的平台。例如,
- Esri Shapefile - Geo *** ON;
- Geo *** ON - topo *** ON;
- KML - Geo *** ON;
- 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 插件,将其进行编码。
教程:
3. 空间笔记标签
工具:
- 地图制图库: Leaflet
- 后台: Django
- 数据库: PostGIS
先决条件:
Django 基本知识。
概要:
该项目的主要目的是提高web-GIS 技能。如果您曾经搜索过针对初学者的 Web 开发项目理念,可能会在列表中的某处找到“待办事项列表”。通常,待办事项列表包含添加、查看、编辑和删除项目列表的功能;同样,您也可以尝试为空间数据创建 “创建、读取、更新、删除 (CRUD) ” 的功能。
例如 Bookmark note 应用程序,用户可在其中将 note 添加到地图上。添加的 note 必须包含经纬度形式的位置信息,并存储在空间数据库中。出于可视化目的,应从数据库中获取所需的 note。
4. 构建遥感/地球观测应用程序
工具:
- Python, R, Google Earth Engine, *** , HTML & CSS, Leaflet *** , Mapbox ***
先决条件:
具有上述编程语言和/或平台的经验。
概要:
该平台可以使用 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)。此类服务使发布和共享地理空间数据变得非常容易。
来源链接:https://www.osgeo.cn/post/1d0f6
本站声明:网站内容来源于 *** ,如有侵权,请联系我们,我们将及时处理。