地理空間編程極具挑戰性,尤其對于 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
本站聲明:網站內容來源于 *** ,如有侵權,請聯系我們,我們將及時處理。