首页 > 其他分享 >geopandas

geopandas

时间:2024-09-03 11:53:43浏览次数:13  
标签:plot area geopandas 0.5 centroid gdf ax

一 数据集准备

获取nybb数据集

import geopandas
from geodatasets import get_path
path_to_data = get_path("nybb")
gdf = geopandas.read_file(path_to_data)
gdf

在这里插入图片描述

二 将获取到的数据集写到本地文件,方便查看

gdf.to_file(“my_file.geojson”, driver=“GeoJSON”)

三 数据处理

3.1 添加索引

gdf = gdf.set_index(“BoroName”)

3.2 添加面积列

gdf[“area”] = gdf.area
gdf[“area”]
在这里插入图片描述

3.3 添加围栏列

gdf[“boundary”] = gdf.boundary
gdf[“boundary”]
在这里插入图片描述

3.4 添加中心点列

gdf[“centroid”] = gdf.centroid
gdf[“centroid”]
在这里插入图片描述

3.5 添加距离列

可以测量每个质心距第一个质心位置的距离

first_point = gdf[“centroid”].iloc[0]
gdf[“distance”] = gdf[“centroid”].distance(first_point)
gdf[“distance”]
在这里插入图片描述

3.6 计算上面测量的距离的平均值,访问“距离”列并对其调用mean()方法

在这里插入图片描述

四 绘制图形

4.1 检查几何体在空间中的表现

1.column=‘area’:告诉plot()方法你想要用哪一列的值来为地图着色。这个列中的值应该对应到特定的颜色值,以便形成一种颜色编码的视觉效果。
2.cmap=‘your_color_map’:这是指定颜色映射的参数,'your_color_map’是你选择的颜色映射名称或对象。例如,你可以使用像’kmpo’这样的标准颜色映射名称,或者自定义一个颜色映射。
3.legend=True:这个参数告诉GeoPandas你想要在地图上显示一个图例(legend),这样读者可以更容易地理解颜色编码的含义。

gdf.plot("area", legend=True)

在这里插入图片描述

4.2 explore 交互式表现

使用前需要安装库 pip3 install folium

gdf.explore("area", legend=False)

在这里插入图片描述

4.3 绘制中心点

gdf = gdf.set_geometry("centroid")
gdf.plot("area", legend=True)

在这里插入图片描述
在这里插入图片描述

4.4 两个geoSerial合并绘制

将两个 GeoSeries 叠加在一起。我们只需使用一个图作为另一个图的轴即可。

ax = gdf["geometry"].plot()
gdf["centroid"].plot(ax=ax, color="black")

在这里插入图片描述

4.5 设置回原始的GeoSeries

gdf = gdf.set_geometry("geometry")

五 进一步绘制图形

5.1 凸包 Convex hull

将第一个图作为轴并将 alpha(透明度)设置为 0.5

gdf["convex_hull"] = gdf.convex_hull
ax = gdf["convex_hull"].plot(alpha=0.5)

在这里插入图片描述
传递第一个图并将线宽设置为 0.5

ax = gdf["convex_hull"].plot(alpha=0.5)
gdf["boundary"].plot(ax=ax, color="white", linewidth=0.5)

在这里插入图片描述

5.2 缓冲 Buffer

在其他情况下,我们可能需要使用 GeoDataFrame.buffer() 缓冲几何图形。几何方法会自动应用于活动几何体,但我们也可以将它们直接应用于任何 GeoSeries。让我们缓冲行政区及其质心,并将它们绘制在彼此之上。

gdf["buffered"] = gdf.buffer(10000)
gdf["buffered_centroid"] = gdf["centroid"].buffer(10000)
ax = gdf["buffered"].plot(alpha=0.5)
gdf["buffered_centroid"].plot(ax=ax, color="red", alpha=0.5)
gdf["boundary"].plot(ax=ax, color="white", linewidth=0.5)

在这里插入图片描述

5.3 几何关系

得到一个布鲁克林的多边形

brooklyn = gdf.loc["Brooklyn", "geometry"]
brooklyn

在这里插入图片描述

标签:plot,area,geopandas,0.5,centroid,gdf,ax
From: https://blog.csdn.net/weixin_45655599/article/details/141855633

相关文章

  • Python,Geopandas报错,AttributeError: The geopandas.dataset has been deprecated and
    Python版本3.9,Geopandas版本1.0.1问题描述:这是执行的代码,importpandasaspdimportgeopandasimportmatplotlib.pyplotaspltworld=geopandas.read_file(geopandas.datasets.get_path('naturalearth_lowres'))world.plot()plt.show()这是报错信息,Traceback(mo......
  • 有没有办法将 geopandas 函数应用于除了引发错误的行之外的所有行?
    我正在尝试将缓冲区应用于600,000行的地理数据帧(作为更大过程的一部分),gdf包含几何线串和多线串。当我运行缓冲区代码行时:gdf['buffer_geometry']=gdf.buffer(305)我收到以下错误:GEOSException:TopologyException:分配的深度在-122500003700000处不匹配我......
  • 写入羽毛或镶木地板文件格式时出现 Geopandas 错误 - UnsupportedGEOSVersionError:“i
    当尝试将pandas地理数据帧“gdf”写入羽毛文件格式时,我收到错误消息UnsupportedGEOSVersionError:The“iso”选项至少需要GEOS3.10.0gdf.to_feather("California_Buildings.feather")我环境中当前的GEOS版本是3.12.1应该满足这个要求...尽管我没有......
  • 如何将 geopandas 数据框与底图重叠?
    我有一个shapefile,我将其读取为geopandas数据框importgeopandasasgpdgdf=gpd.read_file('myfile.shp')gdf.plot()其中gdf.crs<ProjectedCRS:ESRI:54009>Name:World_MollweideAxisInfo[cartesian]:-E[east]:Easting(metre)-......
  • 如何在 termux 上安装 geopandas
    我似乎无法理解我在termux上做错了什么我尝试了一切我跑了pipinstallgeopandas它似乎确实有效在termux上安装“geopandas”它总是卡住,我不知道为什么错误:CollectinggeopandasUsingcachedgeopandas-1.0.1-py3-none-any.whl.metadata(2.2kB)Req......
  • 如何填充用 geopandas 溶解地理数据框时创建的多多边形中的孔?
    我的目标是绘制MSOA(英国的连续地理单位)集群的边界,为此我从此处下载了MSOA边界的shapefile。然后,我添加一列簇标签并使用geopandas进行溶解。df.dissolve(by='label',aggfunc='sum')当我使用Folium绘制时,有多个内孔,如附图所示。我该如何删除这些?#create......
  • 【Python&GIS】基于Geopandas和Shapely计算矢量面最短路径
    ​    在GIS进行空间分析时经常会需要计算最短路径,我也是最近在计算DPC的时候有这方面的需求,刚开始直接是用面的中心点求得距离,但其对不规则或空洞面很不友好。所以今天跟大家分享一下基于Geopandas和Shapely计算矢量面最短路径,这里的最短即点/边的最短!原创作者:RS迷......
  • 地理数据可视化的神奇组合:Python和Geopandas
    本文分享自华为云社区《Python与Geopandas:地理数据可视化与分析指南》,作者:柠檬味拥抱。地理数据可视化在许多领域都是至关重要的,无论是研究地理空间分布、城市规划、环境保护还是商业决策。Python语言以其强大的数据处理和可视化库而闻名,而Geopandas作为其地理信息系统(GIS)领域的......
  • geopandas:Python绘制数据地图
    https://mp.weixin.qq.com/s/Nq5Ygy0axI83H2dclU56yQGeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoPandas。GeoPandas的官方文档地址为:GeoPandas-doc。本......
  • [数据分析与可视化] Python绘制数据地图3-GeoPandas使用要点-转载
    [数据分析与可视化]Python绘制数据地图3-GeoPandas使用要点 本文主要介绍GeoPandas的使用要点。GeoPandas是一个Python开源项目,旨在提供丰富而简单的地理空间数据处理接口。GeoPandas扩展了Pandas的数据类型,并使用matplotlib进行绘图。GeoPandas官方仓库地址为:GeoPandas。Ge......