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

重叠和接触的多边形的GeoPandas.overlay()结果丢失(how=‘相交’)

GeoPandas是一个基于pandas库的地理空间数据处理工具,它提供了一系列用于处理地理空间数据的功能和方法。其中,GeoPandas.overlay()函数用于计算两个多边形图层的重叠或接触部分。

在使用GeoPandas.overlay()函数时,如果设置参数how='相交',表示只保留两个多边形图层相交的部分,其他部分将被丢弃。然而,有时候会出现结果丢失的情况,可能是由于以下原因:

  1. 数据不一致:可能两个多边形图层的坐标系不一致,或者存在数据缺失或错误,导致计算结果不准确。
  2. 数据格式问题:可能输入的多边形数据格式不符合要求,例如缺少必要的属性字段或几何类型不正确。
  3. 算法限制:GeoPandas.overlay()函数使用了一定的算法来计算重叠或接触部分,可能在某些情况下无法正确处理复杂的几何关系。

为了解决这个问题,可以尝试以下方法:

  1. 数据预处理:确保两个多边形图层的坐标系一致,并检查数据是否存在错误或缺失。可以使用GeoPandas提供的方法来进行数据清洗和转换。
  2. 数据格式检查:检查输入的多边形数据是否符合要求,包括属性字段和几何类型。可以使用GeoPandas提供的方法来验证数据格式。
  3. 参数调整:尝试使用其他参数或方法来计算重叠或接触部分,例如设置how参数为其他值,或者使用其他函数来替代GeoPandas.overlay()函数。

需要注意的是,以上方法仅供参考,具体解决方法可能因具体情况而异。如果问题仍然存在,建议查阅GeoPandas官方文档或寻求相关领域的专家帮助。

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

相关·内容

GIS拓扑讲解点线面几何体拓扑关系判断及运算分析_turf案例

A≡B,B⊆A且B⊇A重叠:Overlaps几何形状共享一部分但不是所有的公共点,而且相交处有他们自己相同区域。...接触:Touch几何形状有至少一个公共边界点,但是没有内部点。检查两个几何对象是否相连判断两个图形边界是否相交,如果两个图形交集不为空,但两个图形内部交集为空,则返回值为真。...拓扑关系判断需要注意点是:overlaps 重叠这里重叠跟平时我们理解不太一样,这里重叠,必须是A与B有交集,且A与B交集不能A,B一样,其实就是我们平时理解相交。...crosses 穿过(相交)这里拓扑关系比较特殊,使用crosses,不能在同纬度使用,但可以在不同维度使用,如:点线,线和面等。不能在线与线之间,点与点之间,也不能在面与面之间使用。...,不必多说拓扑运算分析拓扑关系及运算分析:关系描述缓冲区分析(Buffer)包含所有的点在一个指定距离内多边形多边形

2.6K10

DE-9IM 空间关系模型

英语包含大约 10 个方案(关系),例如“相交”、“接触“等于”。当针对一个方案测试两个几何图形时,结果是由该方案命名空间谓词。...重叠(Overlaps) 重叠(Overlaps)表示两个几何对象对象之间有一部分是重合情况(完全重合就是 Equals 了)。...触碰(Touches) 触碰(Touches)这个一般又叫做接触或者触及,表示两个几何对象边界部分有重合部分情况,也就是说两个几何对象有公共点或者公共边线情况。...如上图所示,淡紫色多边形为条件几何对象(A),淡红色多边形为 测试几何对象(B),图中 黑色 部分表示两个几何对象对应部分(内部、边界、外部)之间相交(或者说重合)部分( A....一般我们写程序时候不直接使用 relate 计算结果去判断两个几何对象空间关系,而是直接使用相应空间谓词去判断。

13310
  • (数据科学学习手札84)基于geopandas空间数据分析——空间计算篇(上)

    图16   在how='union'下,叠加分析结果会包含所有存在相交部分,以及df1与df2各自剩下相交部分,如图中蓝色部分即为df1与df2相交从而不存在缺失值部分,而剩余灰色部分因为没有相交...图17   这时返回结果中不再带有缺失值,因为intersection只保留df1df2彼此相交部分: ax = overlay_result.plot() ax.set_xlim((-1, 10...图19   这时返回结果中不再有value2字段,结合图13可以知晓在how='difference'下返回结果与Arcgis中擦除功能一样,返回是df1中不与df2相交部分,且以Multi形式保留被切割开来碎片矢量...图24   从图24中可以看出,在how='identity'条件下,所有df1中不与df2相交部分,以及两者相交部分作为返回结果,且每个相交部分都变为单独要素带上所有涉及属性字段,而df1中不涉及相交部分则仍然以...图25   TrueFalse下结果如图26所示: ? 图26   其中GeometryCollection类型代表多类型要素集合,比如这里叠加分析结果包含了一条线一个点: ?

    4K31

    POSTGIS 总结

    ST_Touches() 测试两个几何图形是否在它们边界上接触,但在它们内部不相交 如果两个几何图形边界相交,或者只有一个几何图形内部与另一个几何图形边界相交,则**ST_Touches(geometry...对于几何图形,&&运算符表示”边界框重叠接触”(纯索引查询),就像对于数字,”=“运算符表示”值相同”。...如果多点中有两个或两个以上点重合(也就是坐标一致),那么它就不是简单,但是确是有效 7.2 线串简单性与有效性 7.2.1 单线串 单线串(LINESTRING)如果有重叠相交就不是简单(除了端点相交...多边形简单性与有效性 7.3.1 单多边形 有效性: 多边形环必须闭合 内环应该处于外环内部 环不能自相交(它们不能相互接触,也不能交叉) 环不能与其他环接触,除非在某个点相切(只能有一个在一个点相切...) 多边形环只要不自相交,则该多边形就是简单 7.3.2 多多边形多边形里只要各个子元素(单多边形)是简单、有效,而且子元素之间只在有限点上接触,那么它就是简单、有效

    6.1K10

    基于geopandas空间数据分析——空间计算篇(上)

    shapely矢量对象,从而方便我们进行一些其他操作: 图8 并且如果原始数据中存在互相存在重叠矢量对象,通过unary_union之后,返回shapely对象会自动对存在重叠矢量对象进行融合...='union'下,叠加分析结果会包含所有存在相交部分,以及df1与df2各自剩下相交部分,如图中蓝色部分即为df1与df2相交从而不存在缺失值部分,而剩余灰色部分因为没有相交,无法获得来自另一个...图17 这时返回结果中不再带有缺失值,因为intersection只保留df1df2彼此相交部分: ax = overlay_result.plot() ax.set_xlim((-1,...图19 这时返回结果中不再有value2字段,结合图13可以知晓在how='difference'下返回结果与Arcgis中擦除功能一样,返回是df1中不与df2相交部分,且以Multi...='identity'条件下,所有df1中不与df2相交部分,以及两者相交部分作为返回结果,且每个相交部分都变为单独要素带上所有涉及属性字段,而df1中不涉及相交部分则仍然以Multi形式被返回

    3.3K30

    使用Python实现子区域数据分类统计

    简单来说,这个需求是将两个 shp 文件任意两个对象做相交判断,最后形成一个新空间对象集合,最后对此集合进行简单统计分析即可。...写了两个循环,先是取出大范围 shp 中每一个对象,再读取小范围 shp 每一个对象,将小范围 shp 空间对象逐个与大空间对象进行相交操作。...intersection_data = geopandas.overlay(gdf1, gdf2, how='intersection') 参数 how 设置为 intersection 则取出两组数据相交部分...,结果如下图所示: ?...可以看到确实取出了相交部分,至此我们就得到了想要结果。 结束 只要是需要判断两组空间对象空间位置均可以使用此函数,其余诸如并集、取异等可以自行试验,或参考官方文档。

    1.2K30

    Box2DSharp使用手册#3

    BroadPhase中pairs存储相交记录,在UpdatePairs中会去查询树中AABB然后对pair进行回调。...计算接触点:1、遍历所有的接触点并分别进行判断(1)如果接触点所属两个Body不会发生碰撞个,或者接触点所属两个夹具不会发生碰撞,或者两个夹具代理在经过BroadPhaseAABB重叠检测后没有发生重叠...剩下还有边缘圆,边缘多边形,圆圆,圆多边形多边形多边形等这5种,我们将这5中分成如下三类: 具体实现原理可以参照博客:https://blog.csdn.net/cg0206/article...spm=1001.2014.3001.55021、 边缘形状有关碰撞。即边缘与圆,边缘与多边形2、 圆形形状有关碰撞。即圆圆,圆多边形3、 多边形形状有关碰撞。...即多边形多边形 在第三步中,会重构所有岛屿,对速度进行积分,求解速度约束,整合位置。具体步骤分为:1、清除所有物体、接触点、关节岛屿标志,并初始化岛屿。

    96320

    一篇文章带你玩转PostGIS空间数据库

    SELECT name, ST_AsText(geom) FROM geometries WHERE name = 'Collection'; 返回结果就是一个点一个多边形集合。...ST_Touches()测试两个几何图形是否在它们边界上接触,但在它们内部不相交 ST_Within()ST_Contains()测试一个几何图形是否完全包含于另一个几何图形内 ST_Distance...3.3 重叠、相并 另一个经典GIS操作 - 叠置(overlay)- 通过计算两个重叠多边形交集来创建新几何图形。...多边形环必须闭合 内环必须位于外环内部 环不能自相交(它们不能相互接触,也不能交叉) 除了在某个点接触,环不能与其他环接触 前两条是必须。后面两条则是非必须设置。...关于它们交集DE9IM矩阵如下: 请注意,以上两个要素边界实际上根本不相交(线端点与多边形内部相交,而不是与多边形边界相交,反之亦然),因此B/B单元用"F"填充。

    5.9K50

    python地理处理包shapely

    第一个是(x,y[,z])点元组有序序列,其处理方式与LinearRing完全相同。第二个是一个可选无序环状序列,指定了特征内部边界或“洞” 有效多边形环不能相互交叉,且只能接触一个点。...a)有效,其中一个内环在一个点上与外环接触; b)无效,因为它内环在多个点上与外环接触; c)无效,因为它外环内环沿一条线接触; d)无效,因为它内环沿着一条线接触 1、Polygon面积长度不为...例如,两个LineStrings 可以沿一条线在一个点相交。为了表示这些结果,Shapely提供了类似冻结集、不可变几何对象集合。...a)一条绿色黄色线,沿着一条线以及一个点相交; b)交点(蓝色)是一个包含一个LineString 一个Point集合 1、GeometryCollection成员可以通过geoms属性或迭代器协议...一个有效Polygon 不能有任何重叠外环或内环。有效MultiPolygon 不能集合任何重叠多边形

    4.4K40

    geopandas overlay 函数报错问题解决方案

    前言 这篇文章依旧是基于上一篇文章(使用Python实现子区域数据分类统计)而写,此文章中介绍了使用 geopandas overlay 函数对两个 GeoDataFrame 对象取相交或相异部分...= geopandas.overlay(data1, data2, how='intersection') 首先需要在 Ubuntu 系统上安装 geopandas 类库,可以使用 pip 直接安装,...geopandas 后需要安装 Rtree 类库,执行如下命令: pip install Rtree 安装完毕后执行上面的 overlay 语句,Windows 下能够正常运行,在 Ubuntu 上却得不到结果...解决方案 发现了问题之后,就反复使用 pip 卸载、安装 Rtree,但问题依旧存在,朋友提示我可以对比一下 Rtree 对此问题修复代码系统中安装代码,看一下代码中是否包含解决问题更新。...结尾 本文针对 overlay 函数实际使用中发现问题,简单介绍了问题分析查找过程,并给出了解决方案。

    73810

    MySQL空间函数汇总

    ST_BUFFER(ST_GeomFromText('LINESTRING(112 30, 113 22)'),2); SELECT ST_AsText(ST_Union(@g1, @g2)); -- 多边形多边形多次融合...66 MBREquals() 两个几何MBR是否相等 67 MBRIntersects() 两个几何MBR是否相交 68 MBROverlaps() 两个几何MBR是否重叠 69 ST_Difference...() 两个几何返回点集差异 70 MBRDisjoint() 两个几何形状MBR是否不相交 71 ST_Distance_Sphere() 两个几何形状之间最小地球距离 72 MBRTouches...() 两种几何形状MBR是否接触 73 ST_Buffer_Strategy() 为ST_Buffer()生成策略选项 74 MBRCoveredBy() 一个MBR是否被另一个MBR覆盖 75 MBRCovers...82 ST_Crosses() 一个几何是否与另一个几何相交 83 ST_Intersects() 一个几何是否与另一个相交 84 ST_Overlaps() 一个几何是否与另一个重叠 85 ST_Within

    2.5K20

    【笔记】《计算机图形学》(4)——光线追踪

    因此基础光线追踪包含下面三部分,对每个像素执行一次: 生成视线:计算出每个像素发出视线 视线相交:找出与视线相交最近一个物体相交面的法线 着色:利用相交交点,法线光照计算出当前像素所需显示颜色...4.4 光-物相交 在一开始时候我们提到了基于像素顺序渲染需要判断出每条视线最先接触物体,首先前面说到视线可以用e + td 来表示,而视线由于长度无限我们可以扩展下看作一条直线,那么我们可以将视线写为隐函数...,这样可以省去一些明显无用计算 视线与多边形相交 视线与多边形相交判断是个更加复杂问题,因为多边形可能是凸多边形或凹多边形,平面交点可能刚好穿过多边形空洞。...关键思路是计算射线在多边形平面的交点与投影到二维平面的多边形可以形成交点数量 首先求解下面的式子,其中p=e+td,通过求解t得出射线与多边形所在平面相交交点,这一步可以筛选掉多边形与射线平行情况...由于将多边形投影到轴面上可能导致判断不精准例如投影后多边形很多顶点重叠缩为一条线,这里我们可以在投影前进行一次预判断,将多边形往三个轴面都进行一次投影,然后找出投影后剩余可判断顶点数量最多轴面来进行计算

    2.5K20

    MySQL空间函数实现位置打卡

    ,而polygon函数需要为了确定多边形是否闭合要求第一个点最后一个点是一样。...如果不是闭合polygon返回结果将是NULL,插入语句就会执行失败。...如果几何满足诸如此(非穷举)列表中条件,则它在语法上是 well-formed: 线串至少有两个点 多边形至少有一个环 多边形环关闭(第一个最后一个点相同) 多边形环至少有 4 个点(最小多边形是一个三角形...,在以往SQL里如果存在查询字段上使用函数必然导致索引失效、全表扫描,但是在空间数据上不会,先看 EXPLAIN 语句结果: ?...4、关于图形相交情况比较复杂,包含重叠、外相交等情况,具体可以看这里(https://www.docs4dev.com/docs/zh/mysql/5.7/reference/spatial-relation-functions-object-shapes.html

    2.5K20

    你被追尾了

    上图中,效仿外接图形判别法,我们将熊猫竹子皆视为矩形,则注意,两个矩形有相交并不能说明熊猫竹子有交,因为熊猫竹子都并非标准矩形(因为熊猫竹子像素点未必填满整个其所在矩形),但是矩形相交是熊猫竹子相交必要条件...所以我们判定熊猫竹子相交方法是,先求出熊猫竹子所在矩形交集,如果该交集是空集,则显然熊猫竹子不相交,如果不是空集,则势必也是一个矩形(记做P),所以我们只需要取出熊猫在P中像素点,竹子在P...注意,熊猫竹子所在矩形已经相交了,但是熊猫竹子其实并没有相交. ? 熊猫竹子这才真正相交了. 而且,熊猫(竹子)离屏渲染 实际显示canvas 中熊猫(竹子)位置是完全一致....显然,上述代码有几个需要解决地方: 如何确定多边形各个投影轴,也就是上述 getAxes 函数怎么实现 如何将多边形投射到某条投影轴上,也就是上述 project 函数怎么写 如何检测两段投影是否发生重叠...于是SAT 定理对凹多边形是不能成立. 判断重叠(overlaps) ?

    4.6K30

    为第12版 Wolfram 语言建立均匀多面体

    多面体是由平面多面体面组成三维几何体。相邻相交于边,边相交于定点。多面体奇妙已经超越数学家研究范畴了。...模型展示了柏拉图体镶嵌在球体内,每个多面体都接触两个行星球体。开普勒相信这能解释行星间距离为什么存在恰好六颗行星: ?...但是,现在依然没有一个普遍接受多面体定义。有些人说多面体包括凸多面体非凸多面体,而另一些人认为多面体只是凸多面体。 多边形研究者还在其他很多方面有争论。如果多面体内有多边形相交呢?...这个模型有相交多边形,也没遵守多边形“右手法则”(如图所示),说明它面朝向不对: ? 为了在这个项目中复制多面体,必须改变这些模型来解决这些问题。...一旦决定了哪里面可以被分割,可以从BSP树方法中得到网格中提取坐标。 切割角? 虽然我们有所有均匀多面体精确坐标,有些多面体中相交面使得很难决定在哪里分割多边形,尤其是在非凸多边形中。

    3.5K10

    geopandas:Python绘制数据地图

    WTK格式数据包含点、线、多边形等地理位置信息。WTK格式数据可以被许多GIS软件地理位置分析工具所读取处理。我们可以将带有WKT数据DataFrame转换为GeoDataframe。...overlay()函数基本语法如下: geopandas.overlay(layer1, layer2, how) 其中,layer1layer2是两个geopandas地理图层对象,how是一个字符串...crosses:返回两个几何体相交但不相切所有几何体。 overlaps:返回两个几何体部分重叠所有几何体。 lsuffix:组合后左侧数据集中几何对象列后缀,默认为left。...以下为具有一个多边形、一个缺失值一个空多边形GeoSeries示例: from shapely.geometry import Polygon s = gpd.GeoSeries([Polygon(...在结果中,这些缺失几何图形也会缺失。另一方面,空几何图形被视为几何图形。结果将取决于所进行运算。

    3.4K41

    UE4Unity绘制地图基础元素-面

    通过全链路排查,才查出是多边形数据问题。 三角剖分在使用时有一个前置条件:使用对象必须为简单多边形,即多边形任何两条边仅可以在顶点处相交。...下图(a)多边形为满足定义简单多边形,图(b)多边形边0123在非顶点处相交,因此是非简单多边形。...从下图四个顶点构成非简单多边形三角剖分结果可以看到,多边形渲染时会丢失顶点并且产生错误三角形,无法还原数据真实情况。...2、根据多边形计算外接矩形,减少细节 3、根据三角剖分结果剔除多余顶点,重新生成简单多边形 以上三个方案对于多边形细节保留由少到多,但并不是完全还原真实数据。...尤其对于一些复杂建筑,某一个面的错误会导致最终拼装得到渲染结果错误。因此比较理想方式是修复非简单多边形,将其分解为多个简单多边形,分别渲染还原细节。

    1.3K51

    python shapely.geometry.polygon任意两个四边形IOU计算实例

    两个矩形宽之和减去组合后矩形宽就是重叠矩形宽,同比重叠矩形高 2....右下角minx减去左上角maxx就是重叠矩形宽,同比高 然后 IOU = 重叠面积 / (两矩形面积重叠面积) 然,不规则四边形就不能通过这种方式来计算,找了好久数学资料,还是没找到答案(鄙人数学渣渣...),最后看了白翔老师textBoxes++论文源码后,知道pythonshapely包可以直接做到,下面给出代码注释: import numpy as np import shapely from...计算多边形中心点,以及距该中心点最远距离 我就废话不多说了,还是直接看代码吧!...[lonn, latn]]),找出距该多边形中心点最远距离 :param geolocations:多个经纬度坐标(格式:[[lon1, lat1],[lon2, lat2],....

    4.3K30

    矢量数据空间分析

    缓冲区分析 缓冲区 缓冲区:在输入要素周围某一指定举例内创建缓冲区多边形。 输入要素:要进行缓冲输入点、线或面要素。也可以是注记,注记图层缓冲是注记图形缓冲。...在要素周围生成缓冲区时,多种制图形状对缓冲区末端拐角可用。 3D缓冲区(Buffer 3D)   输入要素只能是点线,不能是面,生成结果是多面体,在Arc Scence中查看。...矢量叠加分析 相交 相交工具用于执行以下操作: 确定处理所需空间参考。 对要素进行裂化聚类。 确认来自所有要素类或图层要素之间几何关系(交集)。...在这种情况下,使用此工具不会查找来自不同要素类或图层要素之间交集,但会查找该输入中要素之间交集。使用此工具可以发现面叠置线相交相交为点或线)。...相交应用: 查找重复点 查找重复面 检查等高线是否交叉 查找省级行政区交接点 填县所在省代码名称 擦除   剪裁是得到共同部分,擦除是得到非共同部分。 将与擦除要素几何重叠输入要素几何移除。

    99420
    领券