from osgeo import ogr, osr, gdal ,gdalconst import numpy as np import math import sympy as sy import cv2 #注冊所有驅動 gdal.AllRegister() #解決中文路徑亂碼問題 gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO") def Attribute_filtering(shp,condition): driver = ogr.GetDriverByName('ESRI Shapefile') pFeatureDataset = driver.Open(shp, 1) pFeaturelayer = pFeatureDataset.GetLayer(0) # 輸入屬性條件 pFeaturelayer.SetAttributeFilter(condition) pFeatureDef = pFeaturelayer.GetLayerDefn() pLayerName = pFeaturelayer.GetName() pFieldName = "Value" pFieldIndex = pFeatureDef.GetFieldIndex(pFieldName) for pFeature in pFeaturelayer: pFeatureFID = pFeature.GetFID() pFeaturelayer.DeleteFeature(int(pFeatureFID)) if __name__ == '__main__': shp=r"E:\jpg_test\test2\output\test.shp" #屬性過濾 condition="Value >0" Attribute_filtering(shp,condition)