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

如何有效地过滤geopandas df中不在形状多边形范围内的行?

要有效地过滤geopandas df中不在形状多边形范围内的行,可以使用geopandas的空间查询功能来实现。具体步骤如下:

  1. 首先,导入geopandas库和相关依赖库:
代码语言:txt
复制
import geopandas as gpd
from shapely.geometry import Point, Polygon
  1. 创建一个多边形Polygon对象,表示过滤的范围:
代码语言:txt
复制
filter_polygon = Polygon([(x1, y1), (x2, y2), (x3, y3), ...])

这里的坐标点(x1, y1), (x2, y2), (x3, y3), ...可以根据实际需要进行设置。

  1. 将过滤范围的多边形转换为geopandas的GeoDataFrame对象:
代码语言:txt
复制
filter_polygon_gdf = gpd.GeoDataFrame({'geometry': [filter_polygon]})
  1. 使用geopandas的空间查询功能,过滤不在多边形范围内的行:
代码语言:txt
复制
filtered_df = gpd.sjoin(df, filter_polygon_gdf, how='inner', op='within')

这里的df是待过滤的geopandas DataFrame对象。

  1. 最后,获取过滤后的结果:
代码语言:txt
复制
filtered_df.head()

这样就可以得到一个过滤后的geopandas DataFrame,其中包含了位于多边形范围内的行。

注意:上述代码中的dffiltered_df是变量名,需要根据实际情况进行替换。

推荐的腾讯云相关产品:腾讯云地理空间数据库(Tencent Cloud Spatial Database)

产品介绍链接地址:https://cloud.tencent.com/product/gsdb

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

相关·内容

领券