有哪些 GIS+Python 的开发经验值得分享

默认排序 ​
179 人赞同了该回答
https://www.zhihu.com/question/20746494

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等可以发送地图服务
参考 Python 笔记三:Geopython GIS相关库

而如今,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

编辑于 2016-07-01
179 ​15 条评论
​分享
​收藏 ​感谢 收起
21 人赞同了该回答

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算法库
编辑于 2013-03-03
21 ​3 条评论
​分享
​收藏 ​感谢
9 人赞同了该回答
1、如果之前没有接触过Python但有一定的编程基础,极力推荐 深入 Python 3 这本书,对比《Python基础教程》的基础全面,这本书更加简洁、实用、上手快。
2、Python与ArcGIS结合,推荐《Programming ArcGIS 10.1 with Python Cookbook》(英文版)这本书,主要使用简短的Python脚本批处理ArcGIS文件,实用、上手快。
附图:

你可能感兴趣的:(python,gis,开源)