当前位置: 首页 > news >正文

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
'''

相关文章:

geopandas 笔记:geometry上的操作汇总

如无特殊说明,数据主要来自:GeoDataFrame 应用:公园分布映射至subzone_UQI-LIUWJ的博客-CSDN博客 0 读入数据 subzone gpd.read_file(ura-mp19-subzone-no-sea-pl.geojson) subzone subzone_tstsubzone[0:5] subzone_tst subzone_tst.plot…...

【MongoDB】Ubuntu22.04 下安装 MongoDB | 用户权限认证 | skynet.db.mongo 模块使用

文章目录 Ubuntu 22.04 安装 MongoDB后台启动 MongoDBshell 连入 MongoDB 服务 MongoDB 用户权限认证创建 root 用户开启认证重启 MongoDB 服务创建其他用户查看用户信息验证用户权限删除用户 skynet.db.mongo 模块使用authensureIndexfind、findOneinsert、safe_insertdelete、…...

Python对象序列化

迷途小书童的 Note 读完需要 7分钟 速读仅需 3 分钟 大家好,我是迷途小书童! 在 Python 开发中,我们经常需要将对象数据保存到磁盘,或者通过网络传输对象信息。这时就需要序列化,Pickle 库为我们提供了极为方便的对象序…...

jmeter 准确的吞吐量定时器 Precise Throughput Timer

准确的吞吐量定时器使用实例 提取码:gpex: 说明:配置10个线程,每个线程请求200次,通过准确地的定时器模拟QPS为20的场景 配置测试接口参考链接 配置jmeter测试脚本,主要关注准确的吞吐量定时器参数配置 目…...

后端/DFT/ATPG/PCB/SignOff设计常用工具/操作/流程及一些文件类型

目录 1.PD/DFT常用工具及流程 1.1 FC和ICC2 1.2 LC (Library compiler) 1.3 PrimeTime 1.4 Redhawk与PA 1.5 Calibre和物理验证PV 1.6 芯片设计流程 2.后端、DFT、ATPG的一些常见文件 2.1 LEF和DEF 2.2 ATPG的CTL和STIL 2.3 BSDL 2.4 IPXCT 3.PCB设计的一些工作和工…...

jvm 程序计算器 程序计数器是否溢出 程序计数器是做什么的 java程序计数器会内存溢出吗 程序计数器作用与用处 jvm内存模型 jvm合集(一)

1. jvm内存模型: 内存模型: 程序计数器 堆 栈 本地方法栈 方法区 2. java代码编译为class文件,由类加载器加载到jvm,然后由解释器,jit即时编译到机器码,机器码再到cpu执行 3. 程序计数器: 是一块较小的内存…...

关于近期小程序测试的常见漏洞演示

本章节将为大家介绍一下小程序常见的漏洞的展示案例,包括支付业务逻辑漏洞、任意用户登录漏洞、水平越权漏洞等高危漏洞。 以上小程序测试均获取授权,并且客户均已得到修复(仅供学习,请勿恶意攻击)​ 关于微信小程序如何拦截数据包&#xff…...

磐基2.0部署apisix集群

一、部署etcd集群 由于etcd是磐基2.0的组件服务,直接通过组件部署即可。如需手动部署,参考如下链接 k8s 部署etcd集群_k8s部署etcd_平凡似水的人生的博客-CSDN博客前言公司计划使用etcd来做统一配置管理,由于服务都在阿里云托管k8s集群上&a…...

Python requests爬虫豆瓣图片返回数据为空。

爬个豆瓣图片,记录个小问题,发现爬取豆瓣原图的时候拿不到数据,返回为空,爬小图可以,爬其他网站的也都正常,最后发现是header中If-Modified-Since这个参数的原因,加上了就拿不到数据&#xff0c…...

【Spring事务的实现原理】

Spring事务的实现原理就是通过拦截Transactional注解标识的方法,使用事务增强器对这些方法进行事务管理。其中关键的是事务管理器和事务属性源的配置和使用。Spring事务的实现原理可以简单理解为以下几个步骤: 从配置文件中获取PlatformTransactionManag…...

摆动输入连杆夹持机构

1、运动与受力分析 import sympy as sy import numpy as np import matplotlib.pyplot as plt a,a1,b,b1,c,c1,d2,d3,fi,F,L,e sy.symbols(a,a1,b,b1,c,c1,d2,d3,fi,F,L,e)A(-d2,0) D(0,d3) B(-d2a*cos(fi),a*sin(fi)) C(-c*cos(pu),d3c*sin(pu)) B(-d2a*cos(fipi),a*sin(fipi…...

C++——类与对象(下篇)

前言 前面已经介绍了类与对象(上),类与对象(中)的两篇文章,下面是类与对象的最后一些重要知识点的介绍和总结。 目录 再谈构造函数Static成员友元内部类匿名对象拷贝对象时的一些编译器优化再次理解封装…...

stm32 freeRTOS lwip TCP快速发送,内存泄露问题

现象1: 发送缓慢,tcp_write之后要等200多ms才能过发送出去,而且粘包严重。 解决办法 tcp_write之后,立马调用tcp_output ,tcp就会立马发送。 tcp_write tcp_output 现象2: 持续快速发送和接受TCP数据出…...

Ei、Scopus双检索 | 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024)

会议简介 Brief Introduction 2024年第三届人工智能与机器学习前沿国际会议(FAIML 2024) 会议时间:2024年4月26日-28日 召开地点:中国宜昌 大会官网:www.faiml.org FAIML 2024将围绕“人工智能与机器学习”的最新研究领域而展开,为…...

win10环境下搭建QT+opencv

安装步骤 源码编译安装免编译/cmake安装vs2022环境安装 问题解决 modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1 PS D:\Qt\Tools\mingw730_64\bin> D:\Qt\Tools\mingw730_64\bin\windres.exe D:\Opencv\opencv\opencv\build\modules\core\vs_ver…...

React16、18 使用 Redux

Redux 核心 Redux 介绍 Redux 是javaScript 状态容器,提供可预测化的状态管理 Redux 工作流程 Actions:对象,描述对状态进行怎样的操作 Reducer:函数,操作状态并返回新的状态 Store:存储状态的容器&am…...

【Python】Python运算符/部分函数对应的双下划线魔法方法

先说下Python版本:【Python 3.7.8】 以下用图片表格展示,一是防扒,二是没精力改成md格式。 还有就是内容肯定没有完全包含(而且也很难做到),像是__reduce__与py自带模块pickle有关(pickle用于对象序列化/反序列化)、sys.getsizeo…...

Macs Fan Control 1.5.16 Pro for mac风扇调节软件

Macs Fan Control是一款专门为 Mac 用户设计的软件,它可以帮助用户控制和监控 Mac 设备的风扇速度和温度。这款软件允许用户手动调整风扇速度,以提高设备的散热效果,减少过热造成的风险。 Macs Fan Control 可以在菜单栏上显示当前系统温度和…...

某技术公司技术二面面试题总结

存在一个单体架构的服务,怎么拆分为微服务的架构 将一个单体应用程序拆分成微服务架构是一个复杂的过程,需要深入的计划和实施。以下是一般的步骤和策略,可以帮助您成功地将单体应用程序拆分为微服务: 理解单体应用程序&#xff…...

初试小程序轮播组件

文章目录 一、轮播组件(一)swiper组件1、功能描述2、属性说明 (二)swiper-item组件1、功能描述2、属性说明 二、案例演示(一)运行效果(二)实现步骤1、创建小程序项目2、准备图片素材…...

龙虎榜——20250610

上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)&#xff0…...

爬虫基础学习day2

# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...

Device Mapper 机制

Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...

AI,如何重构理解、匹配与决策?

AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品,通过将智能手机转变为具有情感交互能力的桌面机器人,展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家,我将全面解析LOOI的技术实现架构,特别是其手势识别、物体识别和环境…...