Вы можете скопировать шейп-файл, а затем перебрать строки в этом скопированном файле, удалив строки, которые не соответствуют вашим условиям:
import arcpy
input_shp = r'C:\Users\path\whatever.shp'
copy_shp = r'C:\Users\path\myfiltered.shp'
arcpy.CopyFeatures_management(input_shp, copy_shp)
with arcpy.da.UpdateCursor(copy_shp, 'type_1') as cursor:
for row in cursor:
if row[0] != 'H':
cursor.deleteRow()
или другим способом, если вам нужно сделать это дляво многих комбинациях полей и строк используется выражение SQL, удаляющее в скопированном файле строки, которые не соответствуют вашему условию:
import arcpy
input_shp = r'C:\Users\path\whatever.shp'
copy_shp = r'C:\Users\path\myfiltered.shp'
fieldname = 'type_1'
keepValue = 'H'
sql = fieldname + " <> " + "'" + str(keepValue) + "'"
with arcpy.da.UpdateCursor(copy_shp, fieldname, sql) as cursor:
for row in cursor:
cursor.deleteRow()
и, наконец, третий способ описан здесь
но, как сказал @PolyGeo, форум по обмену стеками ГИС намного лучше для вопросов ГИС