本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes

1 简介

  就在几天前,geopandas释放了其最新正式版本0.9.0,作为一次比较大的版本更新,geopandas为我们带来了一系列新特性,今天的文章我们就来一起看看有哪些主要的功能变化吧~

图1

2 geopandas 0.9.0重要新特性一览

  出于对稳定性的考虑,我选择新建虚拟环境来探索新版本geopandas,完整命令如下(顺便一提,0.9.0版本最低支持的Python版本为3.5):

conda create -n geopandas-env python=3.7 -c https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge -y
conda activate geopandas-env
conda install geopandas=0.9.0 -c https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge -y

2.1 read_file可直接读取存放单个矢量文件的zip压缩包

  在以前的版本中,当我们的矢量文件存放在zip压缩包内时,使用gpd.read_file()直接读取时需要传入特殊格式的zip路径表达式(详见我以前撰写的geopandas系列教程文件IO篇),但在0.9.0版本中,当你的zip压缩包内只有单一图层的文件时,直接就可读取:

图2

2.2 新增对wkt与wkb格式的直接支持

  在以前版本的geopandas中,是没有直接的API来与wkt/wkb格式进行交互的,往往需要配合shapely中的相关功能。

  而在这次的更新中针对GeoSeries对象新增了from_wkt()from_wkb()to_wkt()以及to_wkb()四种方法,使得我们直接就可以轻松完成格式转换:

图3

2.3 新增高度z属性

  在以前版本中,我们可以对点要素构成的GeoSeriesGeoDataFrame提取xy坐标属性,而在这次的更新中,额外新增了对高度z属性的支持:

图4

2.4 dissolve()方法新增无字段依赖模式

  我在geopandas系列教程空间计算篇(上)带大家学习过用于对不同记录行矢量要素,按照某列或多列进行矢量融合的方法dissolve(),而新版本中的dissolve()中的by参数默认值为None,这时会不依赖任何其他字段,直接把所有记录行矢量要素融合为一行,非常的方便:

图5

2.5 新增estimate_utm_crs()方法自动推断投影坐标系

  不管你的GeoDataFrameGeoSeries坐标参考系是什么,只要是合法可解析的,通过geopandas新版中增加的estimate_utm_crs()方法,都可以自动帮你推断最合适的经度带对应的横轴墨卡托投影坐标系:

图6

2.6 解决了explode()方法与pandas的冲突

  我在geopandas系列教程空间计算篇(上)中还介绍过与dissolve()方法相反的explode()方法,它可以将多要素集合类型的GeoDataFrameGeoSeries自动拆分为每行包含单要素的结果,但熟悉pandas的小伙伴一定知道在pandas中有同名方法,用于将元素为数组类型如列表的单行记录拆成单元素构成的多行记录。

  而以前版本geopandas中的explode()方法是不兼容pandas的,这意味着如果你既需要多部件矢量要素拆分,又需要按照数组型元素拆分,就得在geopandaspandas的数据结构之间转来转去,但新版本中两者得到了完美兼容~

图7

2.7 绘图无需descartes依赖

  用过geopandas绘制面要素的朋友都知道,以前版本的geopandas是需要第三方依赖库descartes,但在0.9.0版本中再也不需要啦!

图8

  除此之外,geopandas还提供了很多小的新特性,这里就不再一一赘述,感兴趣的读者朋友可以在https://github.com/geopandas/geopandas/releases/tag/v0.9.0详细查看。


  以上就是本文的全部内容,欢迎在评论区与我进行讨论~

(数据科学学习手札111)geopandas 0.9.0重要新特性一览的更多相关文章

  1. (数据科学学习手札129)geopandas 0.10版本重要新特性一览

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在前不久,我们非常熟悉的Python地理 ...

  2. (数据科学学习手札139)geopandas 0.11版本重要新特性一览

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,就在几天前,geopandas ...

  3. (数据科学学习手札75)基于geopandas的空间数据分析——坐标参考系篇

    本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的数据结 ...

  4. (数据科学学习手札55)利用ggthemr来美化ggplot2图像

    一.简介 R中的ggplot2是一个非常强大灵活的数据可视化包,熟悉其绘图规则后便可以自由地生成各种可视化图像,但其默认的色彩和样式在很多时候难免有些过于朴素,本文将要介绍的ggthemr包专门针对原 ...

  5. (数据科学学习手札50)基于Python的网络数据采集-selenium篇(上)

    一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文 ...

  6. (数据科学学习手札49)Scala中的模式匹配

    一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹 ...

  7. (数据科学学习手札47)基于Python的网络数据采集实战(2)

    一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...

  8. (数据科学学习手札44)在Keras中训练多层感知机

    一.简介 Keras是有着自主的一套前端控制语法,后端基于tensorflow和theano的深度学习框架,因为其搭建神经网络简单快捷明了的语法风格,可以帮助使用者更快捷的搭建自己的神经网络,堪称深度 ...

  9. (数据科学学习手札42)folium进阶内容介绍

    一.简介 在上一篇(数据科学学习手札41)中我们了解了folium的基础内容,实际上folium在地理信息可视化上的真正过人之处在于其绘制图像的高度可定制化上,本文就将基于folium官方文档中的一些 ...

随机推荐

  1. Python 往Excel写数据

    一.需求描述: 1.一张人员信息表中生成人员信息,某些列的字段要进行递增操作: 2.一个组织节点下存在1000人的限制要求: 3.一张Excel表格生成45000条数据: 二.Excel表格的表头如下 ...

  2. 【.NET 与树莓派】PWM 调节LED小灯的亮度

    在开始本文内容之前,老周先纠正一个错误.在上一篇中,提到过 Arduino 开发板的 Vin 引脚,文中老周说这个供电口的输入电压不能高于 5.5V.这里有错,被卖家给的使用说明忽悠了,上 Ardui ...

  3. SSM框架整合(Spring + SpringMVC + MyBatis)

    搭建环境 使用Spring(业务层)整合其他的框架SpringMVC(表现层)和MyBatis(持久层) Spring框架 创建数据库表 CREATE DATABASE ssm; USE ssm; C ...

  4. 作业day03吴童

    小作业3 1. 求区间[100, 200]内10个随机整型数的最大值 1 import random 2 a = [] 3 for i in range(10): 4 n = random.randi ...

  5. how to use brew install gpg

    how to use brew install gpg https://formulae.brew.sh/formula/gnupg $ brew install gnupg https://gith ...

  6. how to convert Map to Object in js

    how to convert Map to Object in js Map to Object just using the ES6 ways Object.fromEntries const lo ...

  7. 钉钉 & URL Scheme & Universal Link & Deep Link

    钉钉 & URL Scheme & Universal Link & Deep Link DD link https://www.cnblogs.com/xgqfrms/p/1 ...

  8. HTML5 Canvas in Action

    HTML5 Canvas in Action canvas 图片处理 视频编辑工具 xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  9. taro 三端开发

    taro 三端开发 wx 小程序, alipay 小程序,H5 https://taro-docs.jd.com/taro/docs/GETTING-STARTED.html#h5 https://t ...

  10. input number css hidden arrow

    input number css hidden arrow show arrow OK input[type="number"]::-webkit-inner-spin-butto ...