Python+OGR库学习(五):要素筛选

本文介绍了使用Python结合OGR库进行要素筛选的操作,具体任务是根据name字段筛选出cache_towns.shp中name为'Nibley'的多边形,创建1500单位的缓冲区,然后筛选出sites.shp中位于该缓冲区内的点,打印这些点的id。通过设置AttributeFilter和SpatialFilter实现属性与空间筛选。此外,还提到可通过SQL语句完成筛选,且该方法适用于对DataSource的操作。文章最后提及了对文件夹中所有shp文件批量投影的后续内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码任务

多边形是矢量cache_towns.shp,有一个字段name,及点矢量sites.shp,python实现:拿出name为Nibley的要素,并建立1500的缓冲区,用新的要素筛选sites文件,找到在这个缓冲区内的所有点,并打印其id

代码思路

1、打开两个文件,获取到图层(不管是属性筛选还是空间范围筛选,操作对象那个都是图层)
2、layer.SetAttributeFilter("name = ‘Nibley’ ")筛选出符合的要素,获取个数
3、要素中读取几何求缓冲区得到新的几何体
4、layer.SetSpatialFilter(geombuffer)筛选sites,并打印id

代码

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

import ogr,os
driver = ogr.GetDriverByName('ESRI Shapefile')
os.chdir(r
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值