2021/5/23 第二次修改 地理空间处理库地理空间处理(geospatial processing),你叫它什么都可以,地理空间分析、或者直接叫 GIS 都可以。 地理空间处理在 Python 平台上已经有很长的发展历史,有各种各样的库、包,大部分都早于 ArcPy。 根据 PyPi 的官网统计,GIS 领域涉及的 Python 库已经超过800个了。下面我们就挑几个较为知名和活跃的库来讲一讲。 PyPi中的 GIS 库:https:///search/?c=Topic%20::%20Scientific/Engineering%20::%20GIS GDAL
Geospatial Data Abstraction Library (GDAL),即地理空间数据抽象库,我这里在说 GDAL 的时候也包括了 OGR 库(处理矢量数据),即 GDAL/OGR。这是一个跨平台计算机库,使用开源协议,提供多个语言的 API 接口,包括 Python。其发展历史源远流长、影响深远,最早诞生于90年代,提供了一整套统一的 API 读写接口,能读取、分析处理矢量和栅格数据。GDAL/OGR 在整个地理空间分析的影响力非常大。 上百个知名的大型软件项目使用了 GDAL 库,比如 ESRI ArcGIS 9.2+后的版本、QGIS(最火的开源GIS软件)、ERDAS ER Viewe、GdeDa(探索性分析软件)、FME(数据处理、流程化的利器)、mapinfo 、Grass 等等,太多了,更别说难以估计的各种小型项目。 GDAL是大型项目以及有较强编程能力者的选择。 但是我没有选择,因为我不是专业的,也没有秃顶。同时该教程是针对小型程序的。 但是如果感兴趣的话,可以自行了解学习。
PySALPySAL 是 Python 空间分析库,是一个面向地理空间数据科学的开源跨平台库。 它支持空间分析高级应用程序的开发,例如:
PyShp完全使用 Python 实现的库,功能简单小巧;可以用于读写 shapefile 格式的数据,不支持几何操作。 Fiona
OGR 库的再封装产品,提供了一套简单易于使用的 Python 接口。该模块支持操作几何、空间分析等操作。
PostGIS
PostGIS 是在 PostgreSQL(一款免费开源的数据库) 基础上结合 GEOS(开源几何引擎)实现对地理空间数据支持的空间数据库。PostGIS 不仅提供数据的存储功能同时也提供几何处理、空间分析功能。 PostGIS凭借着开源以及性能出众,庞大的社区支持,形成了一个正向的循环反馈,目前非常活跃,有兴趣的可以多关注。
ShapelyShapely 是具有 Python 风格(简洁清晰)的几何处理库。Shapely 是 GEOS 库的 Python 语言高级接口。提供大量的几何操作功能。
选择ArcPy
选择 ArcPy 不表示其他的库不好,而是综合分析下来的结果,因为学 GIS 相关专业的同学第一个使用的软件就是 ArcGIS,而 ArcPy 是和 ArcGIS 绑定并且一同安装的,用户的上手门槛较低。 优势( Pros):
劣势(Cons):
结束语笔者抛砖引玉,在引出 ArcPy 时给大家简单介绍了地理空间处理所使用的一小部分计算机库。如有相关兴趣,大家可以自行研究学习。 |
|