10个用于GIS和地图绘制的Python库

GIS-Python-Libraries-Featured-678x322

用于GIS和制图的Python库

Python库是GIS中的最终扩展,因为它允许您增强其核心功能。

通过使用Python库,您可以摆脱GIS的束缚,而深入研究一些严肃的数据科学。

Python中200多个标准库。但是也有成千上万的第三方库。因此,您可以走多远。

如今,一切都与GIS中的Python库有关。具体来说,当今GIS专业人员使用的最受欢迎的Python软件包是什么?让我们开始吧。

首先,为什么还要为GIS使用Python库?

您是否曾经注意到GIS如何缺少您需要它完成的一项功能?由于没有GIS软件可以完成所有操作,因此Python库可以添加您需要的其他功能。

简而言之,Python库是其他人编写的代码,旨在使我们其他人的生活更轻松。开发人员已经编写了开放库,用于机器学习,报告,图形以及Python的几乎所有内容。

如果需要此额外功能,则可以通过将这些库导入Python脚本来利用它们。在这里,您可以调用本地GIS软件本身不包含的功能。

专业提示:使用pip在Python中安装和管理您的软件包

GIS的Python库

如果您要为GIS Python库建立一个全明星团队,那就足够了。它们都可以帮助您超越典型的空间数据管理,分析和可视化。这是地理信息系统的真正定义

1 Arcpy

如果您使用Esri ArcGIS,那么您可能对ArcPy库很熟悉。ArcPy适用于地理处理操作。但这不仅用于空间分析,还用于使用Esri ArcGIS进行数据转换,管理和地图制作。

2 Geopandas

Geopandas就像pandas与GIS相遇。但是,geopandas库不是直接进行表格分析,而是添加了地理成分。对于覆盖操作,geopandas使用Fiona和Shapely,它们是自己的Python库。

3 GDAL / OGR

GDAL / OGR文库用于GIS格式和扩展之间的转换。QGIS,ArcGIS,ERDAS,ENVI和GRASS GIS以及几乎所有GIS软件都以某种方式使用它进行翻译。目前,GDAL / OGR支持97个矢量和162个光栅驱动器。

GIS-Formats-Conversions-425x258
4 RSGISLib

RSGISLib库是一组遥感工具光栅处理和分析。仅举几例,它对图像进行分类,过滤和统计。我个人最喜欢的是基于对象的细分和分类(GEOBIA)的模块。

5 PyProj

PyProj库的主要目的是如何与空间参考系统一起使用。它可以使用一系列地理参考系统投影和变换坐标。PyProj还可以对任何给定的基准进行大地测量和距离计算。

用于数据科学的Python库

数据科学从数据中提取见解。它需要数据并尝试使其有意义,例如通过以图形方式绘制数据或使用机器学习。Python库列表可以为您完成此操作。

6 NumPy

数值Python(NumPy库)将您的属性表放入一个结构化数组中。一旦以结构化阵列的形式出现,对于任何科学计算而言,它都将更快。最好的事情之一是如何与其他Python库(例如SciPy)一起进行繁重的统计操作。

7 Pandas

Pandas是数据整理非常受欢迎。这不仅适用于统计人员。而且它在GIS中也非常有用。计算性能是熊猫的关键。熊猫的成功在于其数据框架。数据帧经过优化以处理大数据。它们经过了优化,以至于Microsoft Excel甚至无法处理。

8 Matplotlib

当您使用成千上万的数据点时,有时最好的办法就是将其全部绘制出来。输入matplotlib。统计人员使用matplotlib库进行视觉显示。Matplotlib可以完成所有工作。它绘制图形,图表和地图。即使拥有大数据,它在处理数字方面也很不错。

matplotlib-550x290
9 Scikit

最近,机器学习一直是热门话题。并且有充分的理由。Scikit是一个启用机器学习的Python库。它内置在NumPy,SciPy和matplotlib中。因此,如果您想进行任何数据挖掘,分类或ML预测,Scikit库是一个不错的选择。

10 Re(正则表达式)

正则表达式(Re)是最终的过滤工具。当您要在表中查找特定的字符串时,这就是您要使用的库。但是您可以更进一步,例如检测,提取和替换为模式匹配。

11 ReportLab

ReportLab是此列表中最令人满意的库之一。我之所以这样说,是因为GIS通常缺乏足够的报告功能。尤其是,如果您要创建报告模板,那么这是个很棒的选择。我不知道为什么ReportLab库有点不受欢迎,因为它不应该。

Python图书馆全明星团队

这些是我们认为是GIS和数据科学的佼佼者的Python库。

现在,该把它交给您了。

如果您可以组建一个由Python库组成的全明星团队,您会选拔谁?