代码任务
多边形是矢量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'