【总结】geopandas用法总结

python三方库GIS用法总结

注:工作学习中运用到的python三方库GIS用法总结
第一章 Python GIS学习之geopandas的使用



前言

本文大概对工作学习中geopandas的运用进行阶段总结及代码段功能作用总结。


一、GeoPandas 是什么?

Geopandas简介

顾名思义,GeoPandas 通过添加对地理空间数据的支持来扩展流行的数据科学库 pandas。如果您不熟悉 ,我们建议您在继续操作之前快速浏览其 入门文档
在这里插入图片描述

geopandas.GeoDataFrame; pandas.DataFrame; geopandas.GeoSeries; pandas.Series; GeoDataFrame; pandas.Series; geopandas.GeoSeries;
GeoPandas 中的核心数据结构是 GeoDataFrame,它是 pandas 的子类,可以存储几何列并执行空间操作。GeoSeries 是 GeoDataFrame 中处理几何对象的子类。因此,您的 GeoDataFrame 是 pandas DataFrame 的结合,具有传统数据(数值、布尔、文本等),以及具有几何对象(点、多边形等)的 GeoSeries。您可以拥有任意数量的带有几何对象的列;对于桌面GIS软件来说,通常没有限制。

在这里插入图片描述
GeoSeries; GeoSeries.crs; GeoSeries; GeoDataFrame;
每个数组可以包含任何几何类型(甚至可以在单个数组中混合它们),并且都有一个属性,用于存储有关投影的信息(CRS代表坐标参考系统)。因此,每个几何对象都可以处于不同的投影中,这使得你可以拥有同一几何对象的多个版本(不同的投影)。

二、安装方法

1. 下载相关依赖包

geopandas包在安装之前,需要手动依次将GDAL , Fiona, Pyproj,Rtree,Shapely五个依赖包安装成功;
根据已安装的python版本下载对应的依赖包;
下载地址为 https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 。

2. 读入数据

包的安装顺序依次为GDAL->Fiona->pyproj->Rtree->Shapely->geopandas

pip install GDAL-3.4.2-cp38-cp38-win_amd64.whl 

具体安装教程可根据这个大佬的文章:https://blog.csdn.net/Aries1Chan/article/details/124659444


三、用法总结

对geopandas部分实际功能作用进行总结,以便复用;

1. 读取shp文件

polygon_path = './data/districts.shp'
gdf= gpd.read_file(polygon_path)

2. 判断是否相交

gdf['geometry'].iloc[i].intersects(gdf['geometry'].iloc[j]) # 判断元素间是否相交
gdf['geometry'].iloc[i].intersection(gdf['geometry'].iloc[j]) # 求出相交的范围

3. 根据行政区划切分路网并计算各市的路网总长度

def innerShp(polyline, polygon, outputFile):
    """
    计算每个行政区域的总长度
    :param polyline: 路网数据
    :param polygon: 行政区划数据
    :param outputFile: 导出文件的路径
    :return: 
    """
    # 使用空间关系进行切割
    roads_by_admin = gpd.sjoin(polyline, polygon, how="inner", op="intersects")
    # 投影坐标系转换,UTM 50N,求出的单位是m
    roads_by_admin = roads_by_admin.to_crs(epsg=32650)
    # 计算每个行政区域的总长度
    roads_by_admin["length"] = roads_by_admin["geometry"].agg(lambda x: x.length)
    text = roads_by_admin.groupby('市')["length"].sum().reset_index()
    # 保存结果为excel
    text.to_excel(outputFile, index=False)

4.

逐步更新中……

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值