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

在python中选择与目标多边形共享边界的多边形,最好使用GeoPandas

在Python中选择与目标多边形共享边界的最佳方法是使用GeoPandas库。

GeoPandas是一个基于Pandas的开源库,用于处理地理空间数据。它结合了Pandas的数据分析功能和Shapely库的地理空间处理能力,提供了一种方便且高效的方式来处理地理空间数据。

要选择与目标多边形共享边界的多边形,可以按照以下步骤进行操作:

  1. 导入所需的库和模块:
代码语言:txt
复制
import geopandas as gpd
from shapely.geometry import Polygon
  1. 创建目标多边形和其他多边形:
代码语言:txt
复制
target_polygon = Polygon([(0, 0), (0, 1), (1, 1), (1, 0)])  # 目标多边形
other_polygons = gpd.GeoSeries([Polygon([(0, 0), (0, 1), (1, 1)]), 
                               Polygon([(0, 1), (1, 1), (1, 0)])])  # 其他多边形
  1. 创建GeoDataFrame对象并将多边形数据添加到其中:
代码语言:txt
复制
gdf = gpd.GeoDataFrame(geometry=other_polygons)
  1. 使用GeoPandas的intersects方法来选择共享边界的多边形:
代码语言:txt
复制
selected_polygons = gdf[gdf.intersects(target_polygon)]

在以上步骤中,GeoPandas的intersects方法用于检测多边形之间是否相交或共享边界。它返回一个布尔类型的Series,指示每个多边形是否与目标多边形相交。通过将此Series应用于GeoDataFrame,可以选择与目标多边形共享边界的多边形。

GeoPandas不仅提供了处理地理空间数据的方法,还支持许多空间操作和分析功能,如空间缓冲区、空间联接、空间筛选等。它非常适用于解决地理空间问题和进行地理数据分析。

推荐的腾讯云相关产品是云数据库TDSQL,它提供了一种可扩展且高性能的关系型数据库服务,适用于各种应用场景。了解更多关于云数据库TDSQL的信息,可以访问腾讯云的产品介绍页面:云数据库TDSQL

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

以前我一直觉得Python绘图工具R语言ggplot2比起来,不够优雅,这也是我一直坚定选择使用R+ggplot2深入学习数据可视化原因,ggplot2坐标系整合兼容性和扩展性上确实技高一筹...最近偶然在学习Python可视化过程,了解到了geopandas,确实第一眼看着很眼熟,或许你第一眼就能把它与pandas联系起来。...今天要讲解主角是R语言中sf包和Pythongeopandas库。...巧合是,pythongeopandas用了同样 技术来简化空间数据可视化复杂度,其核心理念也是通过压缩单个地理多边形为一个Simple Features,使得所有的地理多边形与其属性信息严格对齐...geopandas包同时支持导入shp素材和json素材,导入之后得数据结构R语言中得sf导入之后得结构是一致得,地理多边形边界点信息都被压缩成了一个非常整齐列表存储,列表内每一个单独子项目都代表着一个多边形

2.1K40

Python GIS神器geopandas 1.0版本来了

1 简介 大家好我是费老师,就在昨天,Python生态著名GIS分析库geopandas发布了其1.0.0正式版本。...历经10年迭代升级,geopandas充分完善了其GIS数据分析上功能,使得我们可以使用类似pandas操作方式,便捷且高性能开展各种常用GIS分析运算,极大增强了PythonGIS分析领域能力...今天文章,费老师我就将带大家一起快速了解全新1.0版本,新功能特性、优化提升以及相关API变动情况~ 2 geopandas 1.0版本介绍 如果你还未曾安装使用geopandas,我最推荐方式是新建虚拟环境...)为例,终端执行下列命令(目前推荐Python版本为3.9),静静等待,即可一步到位完成最新版geopandas安装: mamba create -n geopandas-env python=3.9...dwithin型空间关系判断,使得我们可以geopandas真正意义上直接实现“匹配目标要素距离XXX以内纪录行”: 2.2.2 配合pd.read_csv指定矢量列类型 新版本,我们可以将

15610
  • (数据科学学习手札162)Python GIS神器geopandas 1.0版本发布

    历经10年迭代升级,geopandas充分完善了其GIS数据分析上功能,使得我们可以使用类似pandas操作方式,便捷且高性能开展各种常用GIS分析运算,极大增强了PythonGIS分析领域能力...今天文章,费老师我就将带大家一起快速了解全新1.0版本,新功能特性、优化提升以及相关API变动情况~ 2 geopandas 1.0版本介绍   如果你还未曾安装使用geopandas,我最推荐方式是新建虚拟环境...,并在虚拟环境通过conda-forge源进行稳定安装,以当下非常流行开源环境管理工具mamba(可参考我所写教程)为例,终端执行下列命令(目前推荐Python版本为3.9),静静等待,即可一步到位完成最新版...,快速生成泰森多边形: 2.1.12 新增contains_properly()方法   新增方法contains_properly(),用于快捷判断矢量A是否严格包含矢量B,contains()方法区别是...dwithin型空间关系判断   针对sjoin()方法,新增了dwithin型空间关系判断,使得我们可以geopandas真正意义上直接实现“匹配目标要素距离XXX以内纪录行”: 2.2.2

    16710

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

    目标是尽可能地简化Python地理空间数据处理,减少对Arcgis、PostGIS等工具依赖,使得处理地理空间数据变得更加高效简洁,打造纯Python空间数据处理工作流。...本系列文章就将围绕geopandas及其使用过程涉及到其他包进行系统性介绍说明,每一篇将尽可能全面具体地介绍geopandas对应方面的知识。...可以理解为闭合线或无孔多边形边框,创建时传入数据格式Polygon相同。...() 图32 geopandas自带世界地图 查看其表格内容: 图33 使用.loc+条件筛选选择数据: 图34 使用.iloc选择数据: 图35 而除了这些常规数据索引方式之外,geopandas...为GeoDataFrame添加了.cx索引方式,可以传入所需空间范围,用于索引传入范围相交对应数据: # 选择东经80度-110度,北纬0度-30度范围相交几何对象 part_world =

    1.8K20

    (数据科学学习手札146)geopandas拓扑非法问题发现、诊断修复

    Python开展GIS分析利器,可以帮助我们快捷地解决很多日常GIS操作需求。...这样非法要素读到geopandas或是PostGIS等常用GIS工具进行一些矢量计算操作时会触发拓扑错误问题,而今天文章,我们就来学习一下geopandas如何有效地解决此类要素拓扑非法问题...2 geopandas解决拓扑错误问题 2.1 geopandas中常见要素拓扑错误情况   geopandas,要素合法性(validity)是针对面要素、多部件面要素而言,同其底层依赖...2:边界线存在重叠 错误情况3:内部孔洞之间存在共边 错误情况4:内部孔洞边界共边 错误情况5:多部件面要素之间存在重叠   值得一提是,除了查看要素is_valid属性是否为True外...,非常舒服: 修复错误情况4:内部孔洞边界共边   针对内部孔洞边界共边情况下修复结果,毕竟这种情况下涉及到孔洞是不可能被保留: 修复错误情况5:多部件面要素之间存在重叠   这种情况下修复策略显而易见

    1.2K20

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

    这很好办,我们使用ArcGIS Pro投影工具进行转换 2)相机指向方向或方向 heading θ 既然是需要正面的建筑照片,我们肯定是道路上拍摄,网页角度也是以道路上点拍摄,并且这个点最好要满足距离建筑足够近...=False) 2)使用Shapely获取建筑各边中心点 要获取GeoPandas集合体(例如GeoSeries或GeoDataFrame)每个多边形边界上所有中点,你可以使用Shapely库几何对象方法和属性...简化建筑物 简化前后对比: 简化前后对比 2) 获取建筑各边中心点 接下来我们ArcGIS软件notebook中进行获取建筑中心点操作: 首先我选择了单个建筑input_polygon_feature_class...步骤 1 ,建筑物外墙中点(红点)投影到最近街道,该点用作请求 GSV 位置,步骤二,计算向量北从请求点到外墙中点向量之间角度并将其输入Google 地图 API 作为相机角度。...《使用geopandas寻找街景点》完整代码文件获取方式: 关注本公众号renhailab,选择点赞、在看或者转发本文之后,私信20231027获取代码。码字不易、多多点赞。

    56510

    使用 Rust 极致提升 Python 性能:图表和绘图提升 24 倍,数据计算提升 10 倍

    本篇文章,是关于重要地方做最小改变,从而达到最大效果。 问题边界 vortex 公司,我们广泛使用 PythonPython 非常适合于原型设计,也非常适合于数据科学计算。...或许,在生产环境中进行繁重任务处理,matplotlib 不是合适工具?既然代码已经使用 pandas 了,为什么不试试 geopandas 呢?...对每个多边形进行边界测试。 尽可能基于 32 位整数(比浮点更快)。 使用线程。 需要说明是,Java 肯定不是这里答案。Java Python 集成,真是太吓人了。...以下是实现功能明细: Rust 实现 Python 类。 构造函数,存放 geojson 字符串数组,表示我们多边形区域。...返回结果为 numpy 数组(便于 Python pandas 集成),表示每个坐标集对应多边形(如果有的话)。

    2K31

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

    、PROJ等开源地理空间计算相关框架之上,类似pandas语法风格空间数据分析Python库,其目标是尽可能地简化Python地理空间数据处理,减少对Arcgis、PostGIS等工具依赖,使得处理地理空间数据变得更加高效简洁...本系列文章就将围绕geopandas及其使用过程涉及到其他包进行系统性介绍说明,每一篇将尽可能全面具体地介绍geopandas对应方面的知识,计划涵盖geopandas数据结构、投影坐标系管理、...图20 is_valid   shapely涉及到很多拓扑计算操作时,对几何对象合法性有要求,譬如定义多边形时坐标按顺序连线时穿过了之前定义边就属于非法,因为geopandas对矢量对象计算依赖于...图32 geopandas自带世界地图   查看其表格内容: ? 图33   使用.loc+条件筛选选择数据: ? 图34   使用.iloc选择数据: ?...图35   而除了这些常规数据索引方式之外,geopandas为GeoDataFrame添加了.cx索引方式,可以传入所需空间范围,用于索引传入范围相交对应数据: # 选择东经80度-110

    2.8K20

    Google Earth Engine(GEE)——使用 GeoPandas 和 Uber H3 空间索引进行快速多边形点分析

    大多数 GIS 软件和数据库都提供了一种机制来计算和使用数据图层空间索引。QGIS 和 PostGIS 使用基于 R-Tree 数据结构空间索引方案 - 它使用几何边界框创建分层树。...如果您使用 Python 进行地理处理,GeoPandas 库还提供了使用 .sidex 属性基于 R-Tree 空间索引易于使用实现。...赫尔辛基大学 AutoGIS 课程有一个很好例子,将空间索引 geopandas 一起使用。 在这篇文章,我想谈谈另一个名为H3 空间索引系统。...在这篇文章,我将向你展示如何创建使用点密度图geopandas和h3-py库Python。 国家地理空间情报局海事安全信息门户以反航运活动消息形式提供所有海盗事件形状文件。...由于落在网格单元所有点都具有相同 id,我们可以简单地聚合具有相同网格 id 所有行,以找到落在网格多边形所有点。

    29310

    GeoPandas 绘制超高颜值数据地图

    这是 PythonGeoPandas 用武之地。 本文和大家一起学习如何使用 GeoPandas有效地可视化地理空间数据。...在下一节,我们将一起学习如何使用一些常见函数,如边界、质心和最重要绘图方法。为了演示地理空间可视化工作,让我们使用来自2021年奥运会数据集Teams数据。...团队数据集包含团队名称、项目、NOC(国家/地区)和事件列。本练习,我们将仅使用 NOC 和 项目 列。...详细信息源代码。 开始绘图 显示一个简单世界地图 - 只有边界地图 作为第一步,我们绘制基本地图——只有边界世界。接下来步骤,将为我们感兴趣国家/地区着色。...国家参加学科越多,颜色越深,反之亦然。等值线图为数据变量相关区域/多边形着色。

    5.1K21

    如何使用dask-geopandas处理大型地理数据

    () 检查几何对象是否某个多边形内 ddf.within(polygon) 此外,如果你有一个分布式 dask.dataframe,你可以将 x-y 点列传递给 set_geometry 方法来设置几何形状...例如,合并或连接操作之前,仔细考虑是否所有列都需要参与操作。 使用更高效空间连接 使用dask_geopandas进行空间连接时,确保操作是高效。...你代码尝试使用geopandas.sjoin,但是应该使用dask_geopandas.sjoin。此外,确保执行空间连接之前,两个数据集已经有了匹配坐标参考系统(CRS)。...这样可以避免每个分区上重复昂贵CRS转换操作。 调整npartitions npartitions选择对性能和内存使用有重大影响。太少分区可能会导致单个分区过大,而太多分区则会增加调度开销。...= dgd.read_file(boundary_shapefile, npartitions=16) # 确保边界shapefile目标shapefileCRS一致 join_dgdf

    17510

    geopandasPython绘制数据地图

    GeoPandas基础使用Python绘制数据地图1-GeoPandas入门指北。 GeoPandas可视化入门见Python绘制数据地图2-GeoPandas地图可视化。...本文所有代码见:Python-Study-Notes GeoPandas推荐使用Python3.7版本及以上,运行环境最好是linux系统。...意思是将源地理图层参考图层进行比较,以源图层中标识参考图层相交区域。使用identity一个典型场景是当需要分析两个图层交集时候。...geopandas,simplify函数可以用来简化多边形形状,以减少地图数据大小,同时也可以提高绘图效率。当绘图数据特别大时,该函数很有用。...汇总过程,可以选择保留某些字段信息,也可以对其他字段进行统计计算。

    3.4K41

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

    2 geopandas 0.11版本重要新特性一览   你可以旧版本geopandas基础上进行升级,也可以新建虚拟环境直接安装0.11.0版本,本着谨慎尝鲜原则,我们可以使用下面的命令一口气完成新虚拟环境创建...__version__)"   一切准备就绪,下面我们来一览此次更新中比较重要几个特性: 2.1 更快矢量文件读写   新版本为read_file()to_file()引入了参数engine用于指定读写常见矢量文件基于引擎...,默认为原先'fiona',可选'pyogrio',这是由geopandas开发团队维护另一个库,可大幅度提升对常见矢量文件格式如shapefile读写速度,以读取具有数百万个多边形广州市全量建筑物轮廓数据为例...,其中呈现GEOMETRYCOLLECTION EMPTY记录说明其目标矩形没有交集,我们利用is_empty来反向筛选出发生裁切矢量记录:   除此之外,你还可以直接将[minx, miny,...geopandas/releases/tag/v0.11.0查看完整版本更新说明,总体而言,这次新版本更新带来重要更新并不太多,但都颇为实用,你可以自己数据上使用一番。

    59600

    geopandas 0.14版本重要更新内容一览

    1 简介 大家好我是费老师,就在前两天,Python生态GIS运算神器geopandas发布了其0.14.0新版本,在这次新版本更新,不仅是新增了许多矢量计算API,还开始为日后正式发布1.0...python版本提升至3.9: 因此,推荐大家以3.9版本作为建立GIS运算Python环境基础,这里我们以conda为例,直接建立新虚拟环境来做演示(下面的命令为了加速下载过程使用到相关国内conda...0.14版本底层依赖变动 0.14版本geopandas底层将默认使用shapely(>=2.0版本)进行高性能矢量运算,因此geopandas仅会在shapely缺失但pygeos已安装时,才会调用...「最小凹多边形」,convex_hull计算结果对比示例如下: import random from shapely.geometry import MultiPoint # 示例GeoSeries...()方法 新增remove_repeated_points()方法,用于沿要素坐标串定义方向,将距离阈值以内坐标点视作重复点要素进行移除,默认阈值为0,你可以实际应用灵活调整阈值,从而起到简化要素目的

    32430

    (数据科学学习手札154)geopandas 0.14版本新特性一览

    python版本提升至3.9:   因此,推荐大家以3.9版本作为建立GIS运算Python环境基础,这里我们以conda为例,直接建立新虚拟环境来做演示(下面的命令为了加速下载过程使用到相关国内...0.14版本底层依赖变动   0.14版本geopandas底层将默认使用shapely(>=2.0版本)进行高性能矢量运算,因此geopandas仅会在shapely缺失但pygeos已安装时...()方法用于为矢量列每个要素计算最小凹多边形convex_hull计算结果对比示例如下: import random from shapely.geometry import MultiPoint...新增offset_curve()方法   新增offset_curve()方法,用于为目标要素构建偏移曲线,即原始要素相似但偏移一定距离: 2.3.7 新增remove_repeated_points...()方法   新增remove_repeated_points()方法,用于沿要素坐标串定义方向,将距离阈值以内坐标点视作重复点要素进行移除,默认阈值为0,你可以实际应用灵活调整阈值,从而起到简化要素目的

    37320

    (数据科学学习手札77)基于geopandas空间数据分析——文件IO

    layer:str类型,当要读入数据格式为地理数据库.gdb或QGIS.gpkg时,传入对应图层名称   下面结合上述参数,来介绍一下使用geopandas.read_file()不同情况下读取常见格式矢量数据方法...图10 2.1.2 gdbgpkg   对于Arcgis地理数据库gdb,以及QGISGeoPackage,要读取其包含矢量数据,就要涉及到图层概念,对应geopandas.read_file...过滤 bbox过滤允许我们read_file()传入一个边界框作为参数bbox,格式为(左下角x, 左下角y, 右上角x, 右上角y),这样在读入过程只会保留几何对象bbox有相交数据记录...,下面我们仍然以上文中使用中国地图数据为例,我们在读入过程,传入边界框: from shapely import geometry data = gpd.read_file('geometry...蒙版过滤 蒙版过滤和bbox过滤功能相似,都是筛选指定区域相交数据记录,不同是蒙版过滤通过mask参数可以传入任意形状多边形,不再像bbox过滤那样只接受矩形: data = gpd.read_file

    2.1K31

    geopandas 0.11版本重要新特性一览

    2 geopandas 0.11版本重要新特性一览 你可以旧版本geopandas基础上进行升级,也可以新建虚拟环境直接安装0.11.0版本,本着谨慎尝鲜原则,我们可以使用下面的命令一口气完成新虚拟环境创建...__version__)" 一切准备就绪,下面我们来一览此次更新中比较重要几个特性: 2.1 更快矢量文件读写 新版本为read_file()to_file()引入了参数engine用于指定读写常见矢量文件基于引擎...,默认为原先'fiona',可选'pyogrio',这是由geopandas开发团队维护另一个库,可大幅度提升对常见矢量文件格式如shapefile读写速度,以读取具有数百万个多边形广州市全量建筑物轮廓数据为例...,其中呈现GEOMETRYCOLLECTION EMPTY记录说明其目标矩形没有交集,我们利用is_empty来反向筛选出发生裁切矢量记录: 除此之外,你还可以直接将[minx, miny, maxx.../releases/tag/v0.11.0查看完整版本更新说明,总体而言,这次新版本更新带来重要更新并不太多,但都颇为实用,你可以自己数据上使用一番。

    71620

    用编程赋能工作系列——地理围栏基本操作运算

    这些区域通常没有标准行政界线,但是必要场合,你又非得地图上将其边界展示出来,并且判断出那些点是围栏内部,那些点是围栏外部。...如下图所示,通过前期调研,假如你已经确认了目标分析区域如图中不规则多边形所示,通过地图围栏围栏可以拿到边界经纬度信息,然后需要甄别出待分析原始数据,那些点是目标分析区域内部,并且单独摘出来进行更加细致分析...以上过程存在两个难点,目标区域边界信息如何获取?有了边界信息我如何对自己原始数据点击进行点归属判断?以下内容就是要重点解决这个问题。 如何获取围栏边界信息?...radius = polygon.centroid.distance(Point(polygon.bounds[0],polygon.bounds[1])) #围栏中心左下边界距离 使用Python...使用Pythonshapely包(底层也是和R语言中sf包基于相同理论基础实现)提供点判别函数contains。

    2.8K30

    Python地信专题 | 基于geopandas空间数据分析-文件IO篇

    时,传入对应图层名称 下面结合上述参数,来介绍一下使用geopandas.read_file()不同情况下读取常见格式矢量数据方法。...当文件压缩包内根目录时,使用下面的语法规则来读取数据: zip://路径/xxx.zip 譬如我们要读取图7所示压缩包内文件: 图7 按照对应语法规则,读取该类型数据方式如下: 图8 而当文件压缩包内文件夹时...data.head() # 查看前5行 图12 2.1.3 GeoJSON 作为web地图中最常使用矢量数据格式,GeoJSON几乎被所有在线地图框架作为数据源格式,geopandas读取GeoJSON...下面一一进行介绍: bbox过滤 bbox过滤允许我们read_file()传入一个边界框作为参数bbox,格式为(左下角x, 左下角y, 右上角x, 右上角y),这样在读入过程只会保留几何对象...下面我们仍然以上文中使用中国地图数据为例,我们在读入过程,传入边界框: from shapely import geometry data = gpd.read_file('geometry/

    2.3K20

    六、处理几何数据【ArcGIS Python系列】

    1.了解几何对象 要素类每个要素都由一个或多个顶点组成,这些顶点定义了点、多段线或多边形要素。点要素类情况下,每个点要素由单个顶点组成。多段线和多边形要素由多个顶点组成。...更加熟悉,推荐使用geopandas和shapely。...使用游标时,可以游标对象上每次迭代创建每个新特征,这样可以处理许多特征时获得更好性能。...为此我们准备数据有: 中国34个省市区空地图:中国各省份地图.shp 分年龄的人口统计数据:中国第七次人口普查-分年龄_性别的人口数据.xlsx 方法一:通过Pythonpandas和geopandas.../resource/data2", "output.gdb") # 1.选择分省份地图要素 fc = ".

    41410
    领券