在上一篇文章中我们对geopandas中的坐标参考系有了较为深入的学习,而在日常空间数据分析工作中矢量文件的读入和写出,是至关重要的环节。
读者的问题涉及到地理信息系统(GIS)操作的一系列步骤,具体包括将栅格数据转换为点数据、为这些点数据添加XY坐标、通过空间连接给这些点添加行政区属性、以及计算指定行政区的质心。读者在使用ArcGIS软件完成前两步时未遇到明显问题,但在执行第三步时遇到了性能瓶颈,即使用ArcGIS和GeoPandas进行空间连接操作时系统会卡死。为了解决这个问题,读者尝试使用了dask-geopandas来处理约两百万个点的数据,但似乎遇到了错误。
pandas应该是大家非常熟悉的Python第三方库,其主要用于数据整理和分析,这次来介绍pandas的一个近亲-geopandas
首先,我们需要安装 geopandas 和 shapely 库。可以通过以下命令来安装:
最近一段时间(本文写作于2020-07-10)geopandas与geoplot两个常用的GIS类Python库都进行了一系列较为重大的内容更新,新增了一些特性,本文就将针对其中比较实际的新特性进行介绍。
什么是白化?我在一年前也是头一次接触到这个词语,其实就是将你不需要的部分的等值线、等值线填色、风场、流场等挖去。目前气象领域流行的是花式利用地图shp文件进行操作,达到白化的目的。
地理数据可视化在许多领域都是至关重要的,无论是研究地理空间分布、城市规划、环境保护还是商业决策。Python语言以其强大的数据处理和可视化库而闻名,而Geopandas作为其地理信息系统(GIS)领域的扩展,为处理地理空间数据提供了方便的工具。本文将介绍如何使用Python和Geopandas进行地理数据可视化,并提供实用的代码示例。
大家好我是费老师,前不久我在一篇文章中给大家分享过geopandas在其0.11版本中为我们带来的一些重要新特性,其中提到过新的矢量读写后端,使得我们在read_file()以及to_file()中添加参数engine='pyogrio'即可获得500%的性能提升。
它继承pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDataFrame类,使得其操纵和分析平面几何对象非常方便。
最近在处理数据,需要筛选陆地、海洋还有特定区域的信息进行分析,主要还是利用shapefile文件创建mask文件,然后进行筛选。
涉及到空间数据处理的时候,为了比较清晰方便的看出空间数据所处的区域,通常都需要将省市边界线加到地图中。
我们平时在数据可视化或空间数据分析的过程中经常会需要某个地区的道路网络及节点数据,而OpenStreetMap就是一个很好的数据来源(譬如图1柏林路网):
我们平时在数据可视化或空间数据分析的过程中,经常会需要某个地区的道路网络及节点数据,而OpenStreetMap就是一个很好的数据来源(譬如图1柏林路网):
❝本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes❞
之前小编在公众号中介绍了多篇关于空间可视化图表绘制内容,受到了很多同学的喜欢,但也有很多同学说没有Python的版本,今天小编就推荐一个超赞的学术科研类地图可视化绘制工具-Python-pygmt库,顾名思义,pygmt是基于具有强大绘图功能的GMT软件,且使用pygmt前必须安装GMT(Generic Mapping Tools)软件。GMT具体安装步骤可参考:GMT中文手册[1]。需要注意的是,现阶段pygmt还不能完全支持GMT所能绘制的全部图表类型,后续更新会持续完善。本期推文主要是对Python-pygmt的一个介绍,主要内容如下:
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在几天前,geopandas发布了其0.11.0正式版本,距离其上一个版本(0.10.2)发布已过去大半年,在这一次的新版本更新中又为我们带来了哪些重要的新特性呢,今天的文章中我就来带大家一探究竟😋。 2 geopandas 0.11版本重要新特性一览 你可以在旧版本geopandas的基础上进行升级,也可以新建虚拟环境直接安装
GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。 GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoPandas。 GeoPandas的官方文档地址为:GeoPandas-doc。 本文主要参考GeoPandas Examples Gallery。 GeoPandas的基础使用见Python绘制数据地图1-GeoPandas入门指北。 GeoPandas的可视化入门见Python绘制数据地图2-GeoPandas地图可视化。
国庆期间,抽空给大家分享在geopandas中叠加各种在线瓦片底图的方法,来制作出更多样式的地图作品。话不多说,我们直接进入正题。
❝本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ❞
在前面的基于geopandas的空间数据分析系列文章中,我们已经对geopandas的基础知识、基础可视化,以及如何科学绘制分层设色地图展开了深入的学习,而利用geopandas+matplotlib进行地理可视化固然能实现常见的地图可视化,且提供了操纵图像的极高自由度,但对使用者matplotlib的熟悉程度要求较高,制作一幅地图可视化作品往往需要编写较多的代码,而geoplot基于geopandas,提供了众多高度封装的绘图API,很大程度上简化了绘图难度,就像seaborn之于matplotlib。
在前面的基于geopandas的空间数据分析系列文章中,我们已经对geopandas的基础知识、基础可视化,以及如何科学绘制分层设色地图展开了深入的学习,而利用geopandas+matplotlib进行地理可视化固然能实现常见的地图可视化,且提供了操纵图像的极高自由度,但对使用者matplotlib的熟悉程度要求较高,制作一幅地图可视化作品往往需要编写较多的代码。
在气象数据分析中,地理空间要素是一个必须考虑的关键特征项,也是重要的影响因素。例如气温会随着海拔的升高而降低,地形的坡向朝向也会影响风速的分布,此外,典型的地形会形成特定的气候条件,也是数据挖掘中可以利用的区域划分标准。数据分析中,地理空间分析往往能提供有效的信息,辅助进行决策。随着航空遥感行业的发展,积累的卫星数据也成为了数据挖掘的重要数据来源。 地理空间分析有好多软件可以支持,包括Arcgis,QGIS等软件平台,本系列文章将会着重分享python在地理空间分析的应用。主要包括地理空间数据的介绍,常用的python包,对矢量数据的处理,对栅格数据的处理,以及常用的算法和示例。 地理空间数据包括几十种文件格式和数据库结构,而且还在不断更新和迭代,无法一一列举。本文将讨论一些常用的地理空间数据,对地理空间分析的对象做一个大概的了解。 地理空间数据最重要的组成部分:
地图白化是一种绘制地图的技术,它可以实现对感兴趣区域以外的数据进行遮盖或填充白色的效果,从而突出显示目标区域的特征。 地图白化的原理是利用 shapefile 文件中的多边形坐标来创建一个剪切路径,然后将这个路径应用到 matplotlib 的绘图对象上,使得只有路径内的数据可见,路径外的数据被隐藏或覆盖。 气象家园的另一个五星上将clarmy在龙场悟道后开发了cnmaps库,解决广大地学学子绘制地图的痛点
前面两篇推文我们分别介绍了使用Python和R进行IDW(反距离加权法) 插值的计算及结果的可视化过程,详细内容可见如下:
最近在梳理Python中可以制作数据地图的可视化工具包,分别实践了geopandas、folium、Basemp,通过对比发现,静态地图中最为成熟的最终还得是Basemap工具,它是mpl_toolkits包中的一个专门用于构建地理信息数据可视化的扩展库。
克里金法(Kriging) 是依据协方差函数对随机过程/随机场进行空间建模和预测(插值)的回归算法。在特定的随机过程,例如固有平稳过程中,克里金法能够给出最优线性无偏估计(Best Linear Unbiased Prediction, BLUP),因此在地统计学中也被称为空间最优无偏估计器(spatial BLUP)。
上一篇的推文我们使用geopandas+plotnine 完美绘制高斯核密度插值的空间可视化结果,并提供了一个简单高效的裁剪方法,具体内容点击链接:Python-plotnine 核密度空间插值可视化绘制Python-plotnine 核密度空间插值可视化绘制。
空间索引方法有助于加速空间查询。大多数 GIS 软件和数据库都提供了一种机制来计算和使用数据图层的空间索引。QGIS 和 PostGIS 使用基于 R-Tree 数据结构的空间索引方案 - 它使用几何边界框创建分层树。这是非常有效的,并在某些类型的空间查询中产生了很大的加速。查看我的高级 QGIS 课程的空间索引部分,我将展示如何在 QGIS 中使用基于 R 树的空间索引。
从本期开始,我会陆续推出系列空间插值的推文教程,包括常见的「Kriging(克里金插值法)、Nearest Neighbor(最近邻点插值法)、Polynomial Regression(多元回归法)、Radial Basis Function(径向基函数法)」 等多种空间插值方法,探索空间可视化带给我们的视觉魅力。
地图白化是一种绘制地图的技术,它可以实现对感兴趣区域以外的数据进行遮盖或填充白色的效果,从而突出显示目标区域的特征。 地图白化的原理是利用 shapefile 文件中的多边形坐标来创建一个剪切路径,然后将这个路径应用到 matplotlib 的绘图对象上,使得只有路径内的数据可见,路径外的数据被隐藏或覆盖。 气象家园的五星上将兰溪之水说过,其实所谓的“白化”一般就两种途径:①mask数据;②mask图形
shapely-开源GIS库Pysal-空间计量库Geopandas-空间数据分析库Arcpy-arcgis python接口Arcgis API for pythonGeoplot-高阶地理数据可视化接口
MyDraw,功能强大的思维导图软件。MyDraw是一款国外优秀的思维导图流程制作软件,可以制作流程图,组织结构图,思维导图,网络图,平面图,传单证劵,业务图和图纸。 MyDraw绘图工具包括具有数百个图形和符号,模板,自动图表布局,高级打印和导出功能等等的库,可以帮你快速高效的完整图纸制作。
报错原因是由于Fiona库在写入shapefile文件时,遇到了无法转换为ISO-8859-1编码的字符。Shapefile的标准不支持UTF-8编码,因此在处理包含非ISO-8859-1字符(例如中文)的字段时,可能会出现问题。 下面介绍两种方法
•NetCDF格式 : netCDF4-python,h5py,h5netcdf,xarray等。 除了上述简单的数据处理库之外,python还提供了NCO和CDO工具的封装,pynco和cdo,提供了更多的便捷操作。•Grib格式:xarray,Iris,pygrib等,有些仅支持类Unix系统。 ECWMF提供了cfgrib工具可将grib格式转换为NetCDF格式,cfgrib库支持Mac,Linux和windows系统。•csv, xlsx等格式:pandas你值得拥有,无论是气象还是其他领域的类似格式数据,使用pandas可以解决你的常用操作。•HDF格式:pandas和h5py可以处理hdf5格式,PyHDF可以处理hdf4格式。•二进制:numpy可以处理二进制数据,同时借助python内置struct模块可以非常方便的处理二进制格式数据。
今天的推文教程使用geopandas进行空间图表的绘制(geopandas空间绘图很方便,省去了很多的数据处理过程,而且也完美衔接matplotlib,学习python 空间绘图的小伙伴可以看下啊),具体为空间气泡图的绘制,主要涉及的内容如下:
作为曾经地球科学领域最炙手可热脚本语言之一的NCL已经进入维护模式,不再更新。NCAR将使用Python作为地球科学领域的主要数据处理和可视化工具。
本期我们试着使用Python-geopandas包绘制空间地图,主要的知识点如下:
就在几天前,geopandas释放了其最新正式版本0.9.0,作为一次比较大的版本更新,geopandas为我们带来了一系列新特性,今天的文章我们就来一起看看有哪些主要的功能变化吧~
通常情况下,在执行 EDA 时,我们会面临显示有关地理位置的信息的情况。例如,对于 COVID 19 数据集,人们可能希望显示各个区域的病例数。这是 Python 库 GeoPandas 的用武之地。
上一期的地图可视化推文教程R-ggplot2 标准中国地图制作中,我们详细介绍了使用R-ggplot2 包完美绘制中国标准地图,本期推文我们则试着使用Python-geopandas包绘制空间地图,主要的知识点如下:
可视化之于数据分析流程中的重要意义不言而喻,它往往是体现数据分析报告的决定性一环,图表做的好、涨薪少不了。本文针对在完成数据分析过程中,介绍个人习惯运用的那些数据可视化工具。
今天只是分享一些python库,涉及到地理数据分析,数据可视化和数据处理三个方面。
领取专属 10元无门槛券
手把手带您无忧上云