geopandas 笔记:geometry上的操作汇总

如无特殊说明,数据主要来自:GeoDataFrame 应用:公园分布映射至subzone_UQI-LIUWJ的博客-CSDN博客

0 读入数据

subzone = gpd.read_file('ura-mp19-subzone-no-sea-pl.geojson')
subzone

subzone_tst=subzone[0:5]
subzone_tst

subzone_tst.plot()

 

1 area 计算面积

subzone_tst.area
'''
0    0.000036
1    0.000033
2    0.000048
3    0.000003
4    0.000015
dtype: float64
'''

2 boundary 边界

subzone_tst.boundary
'''
0    LINESTRING Z (103.81454 1.28239 0.00000, 103.8...
1    LINESTRING Z (103.82209 1.28049 0.00000, 103.8...
2    LINESTRING Z (103.84375 1.28508 0.00000, 103.8...
3    LINESTRING Z (103.84962 1.28412 0.00000, 103.8...
4    LINESTRING Z (103.85253 1.28617 0.00000, 103.8...
dtype: geometry
'''subzone_tst.boundary.plot()

3 centroid 中心点

subzone_tst.centroid
'''
0    POINT (103.80856 1.28222)
1    POINT (103.81859 1.28201)
2    POINT (103.84369 1.27997)
3    POINT (103.84865 1.28528)
4    POINT (103.85101 1.28372)
dtype: geometry
'''
ax=subzone_tst.plot()
subzone_tst.centroid.plot(ax=ax,color='red')

4 convex_hull 凸包

subzone_tst.convex_hull
'''
0    POLYGON Z ((103.81749 1.28004 0.00000, 103.813...
1    POLYGON Z ((103.82153 1.27882 0.00000, 103.821...
2    POLYGON Z ((103.84137 1.27415 0.00000, 103.841...
3    POLYGON Z ((103.84955 1.28391 0.00000, 103.847...
4    POLYGON Z ((103.85108 1.28077 0.00000, 103.849...
dtype: geometry
'''ax=subzone_tst.convex_hull.plot()
subzone_tst.plot(ax=ax,color='red',alpha=0.2)

5 envelope 最小旋转矩形

subzone_tst.envelope
'''
0    POLYGON ((103.80126 1.28004, 103.81774 1.28004...
1    POLYGON ((103.81306 1.27882, 103.82372 1.27882...
2    POLYGON ((103.83960 1.27415, 103.84919 1.27415...
3    POLYGON ((103.84718 1.28391, 103.84995 1.28391...
4    POLYGON ((103.84852 1.28077, 103.85321 1.28077...
dtype: geometry
'''ax=subzone_tst.envelope.plot()
subzone_tst.plot(ax=ax,color='red',alpha=0.2)

6 buffer 缓冲区

ax=subzone_tst.buffer(0.01,0.05).plot()
subzone_tst.plot(ax=ax,color='red',alpha=0.2)

7 intersects 是否与另一个几何形状相交

subzone_tst.intersects(subzone.at[5,'geometry'])
'''
0    False
1    False
2     True
3     True
4     True
dtype: bool
'''
ax=subzone_tst.plot(figsize=(10,7))
subzone_tst.boundary.plot(ax=ax,color='black')
gpd.GeoSeries(subzone.loc[5,'geometry']).plot(ax=ax,color='red',alpha=0.4)

8 contains  是否包含另一个几何形状

subzone_tst.contains(subzone.at[5,'geometry'])
'''
0    False
1    False
2    False
3    False
4    False
dtype: bool
'''

9 crosses 是否与另一个几何形状交叉

subzone_tst.crosses(subzone.at[5,'geometry'])
'''
0    False
1    False
2    False
3    False
4    False
dtype: bool
'''

9.1 crosses和intersects的区别

  •  intersects
    • 如果两个几何形状共享任何点、边或面,则它们相交
  • crosses
    • crosses 描述了一个几何形状与另一个不同维度的几何形状之间的关系
    • 如果一个几何形状(线或多边形)穿越另一个几何形状,但不完全包含在其中,那么它们就交叉

10 distance 距离

subzone_tst.distance(subzone.at[5,'geometry'])
'''
0    0.026645
1    0.020509
2    0.000000
3    0.000000
4    0.000000
dtype: float64
'''

11 union 并集

subzone_tst.union(subzone)
'''
0      POLYGON Z ((103.81774 1.28043 0.00000, 103.817...
1      POLYGON Z ((103.82210 1.28011 0.00000, 103.822...
2      POLYGON Z ((103.84400 1.28491 0.00000, 103.844...
3      POLYGON Z ((103.84955 1.28391 0.00000, 103.849...
4      POLYGON Z ((103.85253 1.28615 0.00000, 103.852......                        
327                                                 None
328                                                 None
329                                                 None
330                                                 None
331                                                 None
Length: 332, dtype: geometry
'''

12 unary_union

合并所有几何形状为一个单一的几何形状

gpd.GeoSeries(subzone_tst.unary_union)
'''
0    MULTIPOLYGON Z (((103.84418 1.28480 0.00000, 1...
dtype: geometry
'''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/103466.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS App上架新规解析:如何进行App备案

摘要 本文将以iOS技术博主的身份,解析iOS App上架新规中的App备案要求。通过探讨备案对开发者和市场的影响,介绍备案流程和所需材料,帮助开发者了解如何进行App备案。 引言 近年来,移动应用市场蓬勃发展,但同时也存…

elasticsearch wildcard 慢查询原因分析(深入到源码!!!)

大家好,我是蓝胖子,前段时间线上elasticsearch集群遇到多次wildcard产生的性能问题, elasticsearch wildcard 一直是容易引发elasticsearch 容易宕机的一个风险点, 但究竟它为何消耗cpu呢?又该如何理解elasticsearch p…

Java网络编程(二)Socket 套接字(TCP和UDP),以及TCP的回显

Socket 套接字 我们软件工作者,着重编写的是应用层的代码,但是发送这个数据,我们就需要将应用层传输到传输层,也就意味着我们需要调用应用层的API,统称为 Socket API。 套接字的分类: 流套接字&#xff…

JetBrains设置文件名格式

如题,在使用CLion创建C类时,希望创建的文件名符合Google编码规范。设置如下图所示: 创建的C类是PascalCase格式,对应的文件名是pascal-case格式。

OpenCV(三十二):轮廓检测

1.轮廓概念介绍 在计算机视觉和图像处理领域中,轮廓是指在图像中表示对象边界的连续曲线。它是由一系列相邻的点构成的,这些点在边界上连接起来形成一个封闭的路径。 轮廓层级: 轮廓层级(Contour Hierarchy)是指在包含…

一生一芯10——verilator v5.008环境搭建

搜索 verilator 官网,得到网址如下: https://www.veripool.org/verilator/ 点击download 找到 git quick install 可以看到git快捷安装所需命令行 可以看到,需要预先安装下面的包文件,去掉前面的#注释符号进行安装 直接进行下面…

SpringMVC增删改查(CRUD)的实现

目录 前言 一、前期准备 1.pom.xml---依赖与插件的导入 2.jdbc.properties---数据库连接 3.log4j2.xml---日志文件 4.spring-mybatis 5.spring-context 6.spring-mvc 二、增删改查的实现 1.model与mapper层的生成 2.biz层 3.工具类 4.controller层 三、测试结果 总…

gRPC-GateWay Swagger 实战

上一次我们分享了关于 gRPC-Gateway 快速实战 ,可以查看地址来进行回顾 : 也可以查看关于 gRPC 的历史文章: gRPC介绍 gRPC 客户端调用服务端需要连接池吗? gRPC的拦截器 gRPC的认证 分享一下 gRPC- HTTP网关 I 今天主要是分享关于 gRPC-G…

【Git】Git 分支

Git 分支 1.分支简介 为了真正理解 Git 处理分支的方式,我们需要回顾一下 Git 是如何保存数据的。 或许你还记得 起步 的内容, Git 保存的不是文件的变化或者差异,而是一系列不同时刻的 快照 。 在进行提交操作时,Git 会保存一…

视频集中存储/直播点播平台EasyDSS点播文件分类功能新升级

视频推拉流EasyDSS视频直播点播平台,集视频直播、点播、转码、管理、录像、检索、时移回看等功能于一体,可提供音视频采集、视频推拉流、播放H.265编码视频、存储、分发等视频能力服务。 TSINGSEE青犀视频的EasyDSS平台具有点播文件分类展示方法&#xf…

Vue2项目练手——通用后台管理项目第八节

Vue2项目练手——通用后台管理项目 菜单权限功能tab.jsLogin.vueCommonAside.vuerouter/index.js 权限管理问题解决router/tab.jsCommonHeader.vuemain.js 菜单权限功能 不同的账号登录,会有不同的菜单权限通过url输入地址来显示页面对于菜单的数据在不同页面之间的…

如何在`Pycharm`中配置基于WSL的`Python Interpreters`,以及配置基于WSL的`Terminal`

文章目录 一、创建pycharm用户并授予sudo权限0. 启动WSL下的CentOS1. 创建pycharm用户并授予sudo权限2. 设置pycharm用户为wsl启动Linux的默认用户3. 重启并重新登录wsl下的CentOS4. 验证pycharm用户的sudo权限 二、创建基于WSL的Python Interpreter1. 添加基于WSL的Python Int…