您当前的位置: 首页 >  pandas

FPGA硅农

暂无认证

  • 3浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

geopandas拓扑检查(任意两个几何体不相交)

FPGA硅农 发布时间:2021-06-23 23:26:00 ,浏览量:3

之前使用rtree来进行拓扑检查,主要是使用GeoDataFrame的sindex来实现的,但是由于某种未知的原因,rtree总是会莫名奇妙的运行错误,且没有任何错误提示,因此博主自己实现了一版拓扑检查,思想和之前其实差不多:先得到所有几何体的外接矩形框,然后根据外接矩形框判断是否有可能相交(矩形框相交,几何体才有相交的可能性),通过外接矩形框的筛选之后,再对可能相交的几何体进行一个精确的相交判断,代码实现如下:

import geopandas
import copy
import matplotlib.pyplot as plt
import time

gdf=geopandas.read_file("D:\\problem.shp")
gdf=gdf[gdf.boundary.is_simple]
gdf.reset_index(drop=True,inplace=True)

import shapely.geometry as geo

def RectangleIntersection(r1,r2):      #判断两矩形是否相交 r[xmin,ymin,xmax,ymax]
    x1min,y1min,x1max,y1max=r1
    x2min,y2min,x2max,y2max=r2
    w1=x1max-x1min
    h1=y1max-y1min
    w2=x2max-x2min
    h2=y2max-y2min
    xc1=(x1min+x1max)/2
    yc1=(y1min+y1max)/2
    xc2=(x2max+x2min)/2
    yc2=(y2max+y2min)/2
    if abs(xc1-xc2)             
关注
打赏
1658642721
查看更多评论
0.0421s