Python+OGR库碎片整理——ExecuteSQL筛选要素


整理一下SQL语句筛选shp要素,关于SQL语句详细使用参考:[OGR:SQL]https://www.gdal.org/ogr_sql.html

1、获取cover是grass的要素并id降序返回,然后打印id

import ogr,os
os.chdir(r'F:\Python+gdal\7weeks数据\7weeks数据\ospy_data3\ospy3_data')
driver = ogr.GetDriverByName('ESRI Shapefile')
inds = ogr.Open('sites.shp',0)
resultslayer = inds.ExecuteSQL("select * from sites where cover ='grass' order by id desc")
feature = resultslayer.GetNextFeature()
while feature:
    print(feature.GetField('id'))
    feature = resultslayer.GetNextFeature()
inds.ReleaseResultSet(resultslayer)

在这里插入图片描述

2、获取cover字段的唯一值和对应个数,并打印

resuts3 = inds.ExecuteSQL("select distinct cover from sites")
feature3 = resuts3.GetNextFeature()
while feature3:
    cntlayer = inds.ExecuteSQL("select * from sites where cover = '"+ feature3.GetField('cover')+"'")
    cnt = cntlayer.GetFeatureCount()
    print("%s: %s"%(feature3.GetField('cover'),str(cnt)))
    inds.ReleaseResultSet(cntlayer)
    feature3 = resuts3.GetNextFeature()
inds.ReleaseResultSet(resuts3)

在这里插入图片描述
后续更新本篇

转载自:https://blog.csdn.net/weixin_42924891/article/details/85564314

You may also like...