地理空間編程極具挑戰(zhàn)性,尤其對(duì)于 GIS 或編程領(lǐng)域的新手而言。然而,構(gòu)建項(xiàng)目的過(guò)程通常也非常有趣,因?yàn)樗鼤?huì)幫助您獲得實(shí)用的開(kāi)發(fā)技能,以及將理論知識(shí)應(yīng)用于開(kāi)發(fā)其它的項(xiàng)目。
在本文中,我們展示了六個(gè)項(xiàng)目,可幫助您提高地理空間編程技能。我們鼓勵(lì)多專注于理解基本概念,有時(shí),理解概念比編寫代碼更重要。
1. 矢量/柵格文件轉(zhuǎn)換器
工具:
- Web: HTML,CSS, *** ,Leaflet,React,Turf *** ,shapefileJs等
- 桌面: Python, shapely, fiona, geopandas, ogr2ogr, pyGUI等
- API: Django/Geodjango, Node等
先決條件:
至少具有以上列出的一種編程語(yǔ)言基礎(chǔ)知識(shí)。
添加微信好友, 獲取更多信息
復(fù)制微信號(hào)
概要:
構(gòu)建用于在多種矢量和柵格 GIS 數(shù)據(jù)格式之間進(jìn)行轉(zhuǎn)換的平臺(tái)。例如,
- Esri Shapefile - Geo *** ON;
- Geo *** ON - topo *** ON;
- KML - Geo *** ON;
- GeoTiff - ECW;
- Geotiff - COGs;
- PNG - GeoTIFF;
- GEOTIFFs - JPEG;
- CSV - Esri Shapefile;
將以上平臺(tái)構(gòu)建為一個(gè)項(xiàng)目將大大提高您的開(kāi)發(fā)技能,通過(guò)大量的研究,以及結(jié)合多個(gè)工具和庫(kù)的實(shí)踐經(jīng)驗(yàn),您將會(huì)收獲頗豐;除此外,也可用您認(rèn)為最合適的語(yǔ)言來(lái)構(gòu)建,可在Web、桌面應(yīng)用程序或API上使用,無(wú)論選擇哪種方式,都會(huì)在此練習(xí)過(guò)程中學(xué)到很多經(jīng)驗(yàn)。
教程:
2. 構(gòu)建QGIS插件
工具:
- Python, QGIS, QT Designer.
先決條件:
鑒于 QGIS 的經(jīng)驗(yàn),以及對(duì)Python 中面向?qū)ο缶幊蹋∣OP)范例的理解。
概要:
QGIS是功能強(qiáng)大的開(kāi)源地理空間軟件,構(gòu)建插件被認(rèn)為是一種可以提高 Python 編程的技能方式。QGIS 是一個(gè)開(kāi)源工具,可以查看任何插件的代碼結(jié)構(gòu),也可以根據(jù)需求進(jìn)行修改。
QGIS 存儲(chǔ)庫(kù)中有大量的插件,找到能夠解決您問(wèn)題的 QGIS 插件,將其進(jìn)行編碼。
教程:
3. 空間筆記標(biāo)簽
工具:
- 地圖制圖庫(kù): Leaflet
- 后臺(tái): Django
- 數(shù)據(jù)庫(kù): PostGIS
先決條件:
Django 基本知識(shí)。
概要:
該項(xiàng)目的主要目的是提高web-GIS 技能。如果您曾經(jīng)搜索過(guò)針對(duì)初學(xué)者的 Web 開(kāi)發(fā)項(xiàng)目理念,可能會(huì)在列表中的某處找到“待辦事項(xiàng)列表”。通常,待辦事項(xiàng)列表包含添加、查看、編輯和刪除項(xiàng)目列表的功能;同樣,您也可以嘗試為空間數(shù)據(jù)創(chuàng)建 “創(chuàng)建、讀取、更新、刪除 (CRUD) ” 的功能。
例如 Bookmark note 應(yīng)用程序,用戶可在其中將 note 添加到地圖上。添加的 note 必須包含經(jīng)緯度形式的位置信息,并存儲(chǔ)在空間數(shù)據(jù)庫(kù)中。出于可視化目的,應(yīng)從數(shù)據(jù)庫(kù)中獲取所需的 note。
4. 構(gòu)建遙感/地球觀測(cè)應(yīng)用程序
工具:
- Python, R, Google Earth Engine, *** , HTML & CSS, Leaflet *** , Mapbox ***
先決條件:
具有上述編程語(yǔ)言和/或平臺(tái)的經(jīng)驗(yàn)。
概要:
該平臺(tái)可以使用 Sentinel 開(kāi)放衛(wèi)星圖像生成一個(gè)區(qū)域的時(shí)間序列地圖,用戶能夠繪制邊界或上傳邊界并生成地球上位置索引的時(shí)間序列。該項(xiàng)目可探索以下 Python 工具和技術(shù):
- Earth observation
- SpatioTemporal Asset Catalog (STAC) specification
- Cloud Optimized Geotiff (COGS)
- Copernicus constellations
- Map tiling
教程:
5. 自動(dòng)化
工具:
- Python, PyQGIS, ArcPy, R
先決條件:
具有使用 QGIS 和/或 ArcMap/ArcGIS Pro 的經(jīng)驗(yàn)并了解 Python 編程語(yǔ)言。
概要:
諸如我們生活中存在的一些重復(fù)性的工作,例如坐標(biāo)格式之間的轉(zhuǎn)換(如十進(jìn)制度到度分秒,將文件格式從一種轉(zhuǎn)換為另一種等),回想一下,您每天從事的重復(fù)性工作是什么呢?可以嘗試?yán)媚钕矚g的編程語(yǔ)言將它們自動(dòng)化。
教程
6. Web-GIS 數(shù)據(jù)可視化門戶
工具:
- HTML, CSS, JavaScript, Leaflet, GeoServer
先決條件:
對(duì) HTML、CSS、JavaScript 和 GeoServer 有基本的了解 。
概要:
Web-GIS 是傳播地理空間數(shù)據(jù)和處理工具的一種廉價(jià)而簡(jiǎn)單的方式。許多機(jī)構(gòu)都有興趣向用戶分發(fā)地圖和處理工具,且不受時(shí)間和位置限制。Web-GIS 允許與地理空間數(shù)據(jù)進(jìn)行可視化交互。通過(guò)使用 Leafletjs、Openlayers、Mapbox 等地圖制圖庫(kù),在代碼內(nèi)開(kāi)發(fā)地圖可視化界面會(huì)更加容易。然而直接使用地圖制圖庫(kù),很難管理具有各種文件格式的大量數(shù)據(jù), 為解決此問(wèn)題,我們可以使用 GeoServer。
GeoServer 是一個(gè)用于共享地理空間數(shù)據(jù)的開(kāi)源服務(wù)器。它提供開(kāi)放地理空間聯(lián)盟 (OGC) 標(biāo)準(zhǔn)協(xié)議,例如 Web 要素服務(wù) (WFS)、Web 地圖服務(wù) (WMS) 和 Web 覆蓋服務(wù) (WCS)。此類服務(wù)使發(fā)布和共享地理空間數(shù)據(jù)變得非常容易。
來(lái)源鏈接:https://www.osgeo.cn/post/1d0f6
本站聲明:網(wǎng)站內(nèi)容來(lái)源于 *** ,如有侵權(quán),請(qǐng)聯(lián)系我們,我們將及時(shí)處理。