首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python地信专题 | 基于geopandas空间数据分析—数据结构篇

2.2.1 GeoDataFrame基础 顾名思义,geopandas中GeoDataFrame是在pandas.DataFrame基础上,加入空间分析相关内容进行改造而成。...这时几何对象名称可以自由设置,但一定要利用GeoDataFrame.set_geometry()方法将后添加矢量指定为矢量主。...实际上GeoDataFrame允许表中存在多个矢量,只要求任意时刻有且仅有1为矢量主即可。...数据索引 作为pandas.DataFrame延伸,GeoDataFrame同样支持pandas.DataFrame中.loc以及.iloc对数据在行、尺度上进行索引和筛选。...为GeoDataFrame添加了.cx索引方式,可以传入所需空间范围,用于索引与传入范围相交对应数据: # 选择与东经80度-110度,北纬0度-30度范围相交几何对象 part_world =

1.7K20
您找到你想要的搜索结果了吗?
是的
没有找到

(数据科学学习手札74)基于geopandas空间数据分析——数据结构篇

2 数据结构 geopandas作为pandas向地理分析计算方面的延拓,基础数据结构延续了Series和DataFrame特点,创造出GeoSeries与GeoDataFrame两种基础数据结构...图27 2.2 GeoDataFrame 2.2.1 GeoDataFrame基础   顾名思义,geopandas中GeoDataFrame是在pandas.DataFrame基础上,加入空间分析相关内容进行改造而成...,这时几何对象名称可以自由设置,但一定要利用GeoDataFrame.set_geometry()方法将后添加矢量指定为矢量主,因为每个GeoDataFrame若在定义之处没有指定矢量,后将无法进行与适量信息挂钩所有操作...图31 2.2.2 GeoDataFrame数据索引   作为pandas.DataFrame延伸,GeoDataFrame同样支持pandas.DataFrame中.loc以及.iloc对数据在行...图35   而除了这些常规数据索引方式之外,geopandas为GeoDataFrame添加了.cx索引方式,可以传入所需空间范围,用于索引与传入范围相交对应数据: # 选择与东经80度-110

2.7K20

ChatGPT 为我制作了一张地图!

这是该网站上内嵌web机场地图,正在本期教程中,我们将让ChatGPT来制作这样一份地图 数据比较杂乱,注意记住这三就可以 代码编写 交互式地图绘制 作为一个对话型AI,当然需要告诉他我使用什么数据...,什么平台,什么编程语言完成地图,让我们见识一下ChatGPT能力吧 修改一下文件路径,然后运行程序 import pandas as pd import geopandas as gpd from...筛选需要数据 在数据中type是机场属性,接下来就让ChatGPT教我如何显示筛选出大型机场吧 这是ChatGPT修改后代码 import pandas as pd import geopandas...osm作为背景 修改web地图图层 让ChatGPT切换成卫星影像 ChatGPT具有上下文多轮会话能力,这太神奇了 生成代码如下 import pandas as pd import geopandas...在遥感和GIS领域,我看到他巨大潜力,特别是作为编写代码修改BUG工具方面,他会给我们提供非常有用指导,在未来 地理空间分析学习工程中,我将尝试把ChatGPT带给你们,展现出在AI帮助下我们工作将会变得更加轻松

43821

geopandas&geoplot近期重要更新

❝本文示例代码及数据已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ❞ 1 简介 最近一段时间(本文写作于2020-...安装完成后,我们就来一睹这些新功能效率如何,首先我们创建一个足够大虚拟表(200万行11),并为其新增点要素矢量: import numpy as np from shapely.geometry...import Point import pandas as pd from tqdm.notebook import tqdm # 创建虚拟表,其中字段名为了导出shapefile不报错加上非数字前缀...base = gpd.GeoDataFrame(base, crs='EPSG:4326') # 转换为GeoDataFrame 最终得到一个较为庞大GeoDataFrame,接着我们分别测试geopandas...中所有内置底图参数,从中选择你心仪底图: 图7 以上就是本文全部内容,欢迎在评论区与我们进行讨论~ -END-

75930

(数据科学学习手札89)geopandas&geoplot近期重要更新

本文示例代码及数据已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介   最近一段时间(本文写作于2020-07...安装完成后,我们就来一睹这些新功能效率如何,首先我们创建一个足够大虚拟表(200万行11),并为其新增点要素矢量: import numpy as np from shapely.geometry...import Point import pandas as pd from tqdm.notebook import tqdm # 创建虚拟表,其中字段名为了导出shapefile不报错加上非数字前缀...base = gpd.GeoDataFrame(base, crs='EPSG:4326') # 转换为GeoDataFrame   最终得到一个较为庞大GeoDataFrame,接着我们分别测试geopandas...图6   你也可以利用下面的方式查看contextily中所有内置底图参数,从中选择你心仪底图: ? 图7

83020

基于geopandas空间数据分析——空间计算篇(下)

本文示例代码及数据已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在基于geopandas空间数据分析系列文章第...图2 在geopandas中我们利用sjoin函数来实现空间连接,其使用方式类似pandasmerge接近,主要参数如下: left_df:GeoDataFrame,传入空间连接对应左表 right_df...:GeoDataFrame,传入空间连接对应右表 how:字符型,用于决定连接方式,'inner'表示内连接,且连接结果表中矢量来自左表;'left'表示左连接,且结果表中矢量来自左表;'right...,其他类型几何对象之间空间连接你也可以根据自己需要进行操作,值得一提是,利用sjoin()进行空间左、右、内连接时,因为结果表依旧是GeoDataFrame,所以只会保留一矢量,按照上文中参数介绍部分描述...geopandas是一个非常优秀工具,它给了我们进行空间计算多一种选择,我目前所有工作中涉及到可以用geopandas解决问题,都会在jupyter中建立顺滑工作流。

1.2K20

(数据科学学习手札111)geopandas 0.9.0重要新特性一览

图1 2 geopandas 0.9.0重要新特性一览   出于对稳定性考虑,我选择新建虚拟环境来探索新版本geopandas,完整命令如下(顺便一提,0.9.0版本最低支持Python版本为3.5...图3 2.3 新增高度z属性   在以前版本中,我们可以对点要素构成GeoSeries或GeoDataFrame提取x与y坐标属性,而在这次更新中,额外新增了对高度z属性支持: ?...图4 2.4 dissolve()方法新增无字段依赖模式   我在geopandas系列教程空间计算篇(上)带大家学习过用于对不同记录行矢量要素,按照某或多进行矢量融合方法dissolve(),而新版本中...GeoDataFrame或GeoSeries自动拆分为每行包含单要素结果,但熟悉pandas小伙伴一定知道在pandas中有同名方法,用于将元素为数组类型如列表单行记录拆成单元素构成多行记录。...而以前版本geopandas中explode()方法是不兼容pandas,这意味着如果你既需要多部件矢量要素拆分,又需要按照数组型元素拆分,就得在geopandas与pandas数据结构之间转来转去

77220

geopandas 0.9.0重要新特性一览

,我选择新建虚拟环境来探索新版本geopandas,完整命令如下(顺便一提,0.9.0版本最低支持Python版本为3.5): conda create -n geopandas-env python...我在geopandas系列教程空间计算篇(上)带大家学习过用于对不同记录行矢量要素,按照某或多进行矢量融合方法dissolve(),而新版本中dissolve()中by参数默认值为None,...explode()方法与pandas冲突 我在geopandas系列教程空间计算篇(上)中还介绍过与dissolve()方法相反explode()方法,它可以将多要素集合类型GeoDataFrame...或GeoSeries自动拆分为每行包含单要素结果,但熟悉pandas小伙伴一定知道在pandas中存在着同名方法,用于将元素为数组类型如列表单行记录拆成单元素构成多行记录。...而以前版本geopandas中explode()方法是不兼容pandas,这意味着如果你既需要多部件矢量要素拆分,又需要按照数组型元素拆分,就得在geopandas与pandas数据结构之间转来转去

85220

(数据科学学习手札88)基于geopandas空间数据分析——空间计算篇(下)

本文示例代码及数据已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介   在基于geopandas空间数据分析系列文章第...图2   在geopandas中我们利用sjoin函数来实现空间连接,其使用方式类似pandasmerge接近,主要参数如下: left_df:GeoDataFrame,传入空间连接对应左表...right_df:GeoDataFrame,传入空间连接对应右表 how:字符型,用于决定连接方式,'inner'表示内连接,且连接结果表中矢量来自左表;'left'表示左连接,且结果表中矢量来自左表...图8   类似的,其他类型几何对象之间空间连接你也可以根据自己需要进行操作,值得一提是,利用sjoin()进行空间左、右、内连接时,因为结果表依旧是GeoDataFrame,所以只会保留一矢量...geopandas是一个非常优秀工具,它给了我们进行空间计算多一种选择,我目前所有工作中涉及到可以用geopandas解决问题,都会在jupyter中建立顺滑工作流。

1.4K20

用 GeoPandas 绘制超高颜值数据地图

GeoPandas 基于Pandas。它扩展了 Pandas 数据类型以包含几何并执行空间操作。因此,任何熟悉Pandas的人都可以轻松采用 GeoPandas。...虽然GeoDataFrame可以有多个GeoSeries,但其中只有一个是活动几何图形,即所有几何操作都在该列上。 在下一节中,我们将一起学习如何使用一些常见函数,如边界、质心和最重要绘图方法。...团队数据集包含团队名称、项目、NOC(国家/地区)和事件。在本练习中,我们将仅使用 NOC 和 项目 。...▲ df_world df_world 类型是 GeoDataFrame 与大陆(国家)名称和几何(国家地区)。...将以下行添加到我们之前编写绘图代码中,用深蓝色填充圆圈标记这些国家。

4.8K21

左手用R右手Python系列12——空间数据可视化与数据地图

以前我一直觉得Python绘图工具与R语言ggplot2比起来,不够优雅,这也是我一直坚定选择使用R+ggplot2深入学习数据可视化原因,ggplot2在坐标系整合与兼容性和扩展性上确实技高一筹...的确,它跟pandas有着千丝万缕联系,并且继承了pandas诸多高频函数。而geo是什么鬼呢?...匹配,在前期数据处理上花费时间和代码量已经远远超过了可视化代码量。...实际上导入之后,你可以看到它结构是一种特殊带有地理信息数据框。...geopandas.geodataframe.GeoDataFrame 这种格式数据框继承了大多数pandas普通数据框函数及属性,可以直接针对其使用plot函数绘图。

2K40

geopandas 0.10版本重磅新特性一览

❝本文示例代码及文件已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes ❞ 1 简介 就在前不久,我们非常熟悉Python...但有些时候我们需要判断并不是左右两表中矢量相交、包含等直接「拓扑关系」,而是左右两表矢量之间「距离至多xx米」这类空间距离关系判断,这在旧版本geopandas中,通常可以左右两边分别做「缓冲区...而这次新增sjoin_nearest()就可以支持我们开展上述分析计算功能,它主要参数有: 「left_df」:连接对应GeoDataFrame 「right_df」:连接对应GeoDataFrame...folium,而在这次新版本中,geopandas为GeoDataFrame及GeoSeries对象新增交互式地图可视化方法explore(),你可以理解为交互式版本plot()方法。...方法来使用 在以前版本中,我们只能使用gpd.XXX()方式来使用sjoin()、overlay()、clip()等方法,而在这次新版本更新中,我们可以像pandasmerge()、join(

76620

数据可视化,我习惯于用这些工具

相较而言,seaborn基于matplotlib,提供了更为丰富样式,具有更加简洁API接口,一两句代码就能完成非常强大图表绘制。...geopandas,geopandas是一个继承自pandas地理信息数据处理库,其核心数据接口geodataframe本质上就是在pandasdataframe数据结构上增加一geometry,...除了继承了pandas各种数据处理接口外,geopandas还增强了画图功能,在一个具有geometry信息geodataframe中,直接调用.plot()接口,即可快速查看当前地理信息情况。...下图是混用matplotlib和geopandas.plot()直接绘图结果,仅需额外设置用于标识数值大小,即可绘制五颜六色炫丽图片。...然而,虽然可视化图表选择众多,但其实也不能过于追求标新立异,例如桑基图、瀑布图、南丁格尔图等,特定场景下用用可能效果感人,但绝大多数情况下,Simple is better than complex,折线图

1.9K31

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

本文示例代码及文件已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介   就在前不久,我们非常熟悉Python...但有些时候我们需要判断并不是左右两表中矢量相交、包含等直接拓扑关系,而是左右两表矢量之间距离至少xx米这类空间距离关系判断,这在旧版本geopandas中,通常可以左右两边分别做缓冲区后进行常规空间连接来实现...而这次新增sjoin_nearest()就可以支持我们开展上述分析计算功能,它主要参数有: left_df:连接对应GeoDataFrame right_df:连接对应GeoDataFrame...folium,而在这次新版本中,geopandas为GeoDataFrame及GeoSeries对象新增交互式地图可视化方法explore(),你可以理解为交互式版本plot()方法。   ...方法来使用   在以前版本中,我们只能使用gpd.XXX()方式来使用sjoin()、overlay()、clip()等方法,而在这次新版本更新中,我们可以像pandasmerge()、join

93330

(数据科学学习手札84)基于geopandas空间数据分析——空间计算篇(上)

本文示例代码已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介   在本系列之前文章中我们主要讨论了geopandas...图12 2.3 叠加分析 geopandas基于shapely中overlay(),为GeoDataFrame赋予了同样可以作用到整个矢量overlay(),使得我们可以对两个GeoDataFrame...图27   在实际工作中,可以根据具体需要来选择使用对应参数组合来进行叠加分析。...2.4 空间融合与拆分   有时候我们希望对矢量数据按照某些字段进行分组,再分别对非矢量与矢量进行聚合及合并,类似于pandasgroupby.agg();而有些时候我们希望把矢量类型为Multi-xxx...aggfunc:对分组字段外其他非矢量采取聚合方式,与pandasagg一致,默认为first,也可以像agg那样传入字段和函数一一对应字典来分别聚合不同 as_index:bool

3.9K31

基于geopandas空间数据分析——空间计算篇(上)

本文示例代码已上传至我Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 后台回复空间计算也可获取本文全部代码 1 简介 在本系列之前文章中我们主要讨论了...赋予了同样可以作用到整个矢量overlay(),使得我们可以对两个GeoDataFrame中全部矢量对象两两之间进行基于集合关系叠加分析(如图13): 图13 overlay()中主要参数如下...26所示: 图26 其中GeometryCollection类型代表多类型要素集合,比如这里叠加分析结果包含了一条线和一个点: 图27 在实际工作中,可以根据具体需要来选择使用对应参数组合来进行叠加分析...2.4 空间融合与拆分 有时候我们希望对矢量数据按照某些字段进行分组,再分别对非矢量与矢量进行聚合及合并,类似于pandasgroupby.agg(); 而有些时候我们希望把矢量类型为Multi-xxx...aggfunc:对分组字段外其他非矢量采取聚合方式,与pandasagg一致,默认为first,也可以像agg那样传入字段和函数一一对应字典来分别聚合不同 as_index:bool型

3.2K30

Part3-1.获取高质量阿姆斯特丹建筑立面图像(附完整代码

《使用geopandas寻找街景点》完整代码文件获取方式: 关注本公众号renhailab,选择点赞、在看或者转发本文之后,私信20231027获取代码。码字不易、多多点赞。...《使用Arcpy寻找街景点》完整代码文件获取方式: 关注本公众号renhailab,选择点赞、在看或者转发本文之后,发送20231027获取代码。码字不易、多多点赞。...8i8192 我们打开此链接: 街景图示意 3)整合并简化代码 我们将上述代码合成一个整体,并简化代码。通过使用pandasapply方法更高效地遍历df中每一行。...《构建街景url》完整代码文件获取方式: 关注本公众号renhailab,选择点赞、在看或者转发本文之后,发送20231027获取代码。码字不易、多多点赞。.../numpy/numpy-tutorial.html [8] pandas基本知识: https://www.runoob.com/pandas/pandas-tutorial.html [9]

40510
领券