有哪些 GIS+Python 的开发经验值得分享?
我目前能够找到的只有像Python Geo-Spatial Devlopment[1]这样有一定年龄的教学书籍,和零散的技术文章[2]。可是具体该怎么系统学习应用完全没方向,求教。例如mapfish[3],看了一下介绍就觉得很牛逼,可是不会用。。。
[1]Python Geo-Spatial Development (豆瓣)
[2]W-06: Solid Web Mapping with Python
[3]MapFish — MapFish
回复内容:
GIS 和 python 的结合有很多种可能性- Arcpy 参考ArcPy and ArcGIS (豆瓣), pyQGIS 参考PyQGIS Developer Cookbook
- Geopython GIS相关库
- GDAL 参考 Welcome to the Python GDAL/OGR Cookbook!
- 各种空间数据库,如 spatialite 参考 SpatiaLite Cookbook
基础库(抽象库)
- GDAL 不多说,GIS万物本源
- Proj.4 制图学投影转换库
- geojson geojson数据处理,点线面
高级库
- Shapley GIS的图像处理
- Fiona GIS数据读入写出
- Rtree Rtree空间索引
- pyproj Proj.4的接口扩展
- OWSLib WMS地图服务发放
- basemap 画地图
超高级库
- geopandas 整合了pandas,shapely,fiona,descartes,pyproj和rtrees可以直接用于数据处理
- geodjango django出品,保护GDAL,GEOS等可以发送地图服务
而如今,javascript在互联网的地位也变得越来越重要,GIS+JS的项目也氤氲而生,所以问题来了。参考:有哪些GIS+JavaScript(node.js)的开发经验值得分享? - Node.js
或者关注我的博客,写得不是很好,希望各路大神多多留言指导。
Awesome GIS(GIS Tech Stack技术栈)
语言Geomatics专栏点此:Geomatics(GIS,GPS,RS,Surveying)
-
Python 最好的快速开发语言,是一门API艺术
- awesome-python
- 1简单的入门
- 2总结入门坑及基础资源
- 3Geopython GIS相关库
- 4Python的常用库入门
- 5Flask框架
- 6入门爬虫坑--网页数据压缩(python deflate gzip)
- 7Requests爬虫技巧
-
Node.js 最炙手可热的网络技术源泉,可用于WebGIS
- awesome-javascript
- 1常用Global库
- 2入门及GeoNode.js GIS相关库
- Leaflet 兼容移动端,和现代的一些框架一样优先考虑移动端
- 1leaflet入门
- 2简单插件编写leaflet-pip-v2
- 3进阶插件编写geojsonFilter
- Mapbox总有人讨论“Mapbox VS Leaflet?”这是个烂问题,Mapbox是Leaflet的超集,就像Typescript和Javascript之间的关系一样
- Openlayer3扯淡大叔教程
- Turf js层面做出简单的空间分析
- Geoserver 基于Java的地理信息服务的发布,使用简单
- Mapserver 基于C语言的地理信息服务的发布,内存占用小
- GDAL 数据格式转换
- 1GDAL命令行入门
- 2python for GDAL
- 3gdal CLI Cheat Sheet
- GeoJSON 开源地理信息JSON格式
- awesome-geojson
- geojson-js-utils 空间数据简单处理js实现
- geojson-python-utils空间数据简单处理python实现
- TopoJSON 开源地理信息JSON格式,大小要比GeoJSON小40%
- TileJSON 瓦片数据包装的JSON格式,用的不多
- WKT&WKB 文本标记语言表示矢量数据
- WKT&WKB 笔记一:格式介绍
- Spatialite 空间数据的查询等处理,小项目足矣
- 1简单的入门
- 2CLI Cheat Sheet
- 3python for Spatialite
- 4NET平台使用spatilite扩展
- 5Spatiliate2GeoJson数据的转换
- Postgresql 大型空间数据项目
- MBTILES 承载瓦片的数据,快速索引
- 1入门与简单应用
- Global Mapper 专门用作已有栅格图像切片
- Mapnik 专门用于矢量数据的切片
- TileMill 在矢量数据渲染时,运用CartoCSS对矢量数据赋予样式
- QGIS 开源GIS数据处理桌面软件,其中包含Grass,SAGA两个学术界开源GIS平台
- 1简单的介绍
- 2地图综合
- Mapsharper 数据综合神器
- 1地图综合神器
- 地理空间数据云 没想到数据来的这么快
- 1网页端JS的缓存问题
- 2Angular遇到的一些坑
- 3SpatialiteSharp的使用坑
整个技术栈主要针对的是轻量或者小项目去考虑,运用一些流行的尽可能开源的工具去做,这是我的一些想法和笔记,详情参考从mapbox的开源工具看Web GIS的发展,希望能给您一点点帮助。PS:我在github上看到一个awesome gis,并非我主导的,希望各位GISer可以一起参与修改。
转载,请表明出处。总目录Awesome GIS
python之于GIS与python之于IT类似GISer采用python的原因也在于“人生苦短,我用python”
python在gis中的应用非常之广
1. desktop GIS:
ArcGIS从版本10开始不再支持原来的VBA,而改用python
QGIS本身大部分的代码特别是插件部分可以采用python进行开发
2. 地图引擎
mapnik—基于C++引擎的顶级地图引擎库,和python结合比较紧密
mapfish—支持部分专题地图在线制作
3. webgis
python+geodjango 是最常用也最庞大的后台框架
GISer使用python一定要充分发挥python语言的特性
如ArcGIS集成phthon是利用了python的脚本语言特性
后台webgis等服务,可以发挥python作为语言黏合剂的特性,充分利用已有的GIS算法库 1、如果之前没有接触过Python但有一定的编程基础,极力推荐 深入 Python 3 这本书,对比《Python基础教程》的基础全面,这本书更加简洁、实用、上手快。
2、Python与ArcGIS结合,推荐《Programming ArcGIS 10.1 with Python Cookbook》(英文版)这本书,主要使用简短的Python脚本批处理ArcGIS文件,实用、上手快。
附图:


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。
