أكثر

كيفية حذف الصفوف المحددة باستخدام ArcPy؟

كيفية حذف الصفوف المحددة باستخدام ArcPy؟


أرغب في حذف جميع الصفوف في فئة المعالم ولكن مع الاحتفاظ بالصفوف من 1 إلى 5. ومن ناحية أخرى ، أريد أن أبقى الصفوف الخمسة الأولى وحذف الصفوف الأخرى. أعلم أنه يجب علي استخدام مؤشر البحث وتحديث المؤشر ولكن لم أتمكن من استخدامها. كيف يمكنني حذف الصفوف باستخدام ArcPy؟


يمكنك استخدام مؤشر التحديث لحذف الصفوف بناءً على شروطك. في هذا المثال ، أي صفوف يتم فيها حذف OBJECTID> 5.

import arcpy fc = r'C:  temp  test.gdb  tmp 'with arcpy.da.UpdateCursor (fc، "OBJECTID") كمؤشر: للصف في المؤشر: if row [0]> 5: cursor.deleteRow ( )

بدلاً من ذلك ، استخدم Select Layer By Attribute (إدارة البيانات).

import arcpy، os fc = r'C:  temp  test.gdb  tmp 'outws = r'C:  temp  test.gdb' # اصنع طبقة من فئة الخاصية arcpy.MakeFeatureLayer_management (fc، "fc_lyr") # استخدم استعلام SQL لتحديد OBJECTID 1 - 5 arcpy.SelectLayerByAttribute_management ("fc_lyr"، ""، '"OBJECTID" <= 5') # اكتب الميزات المحددة إلى فئة ميزة جديدة arcpy.CopyFeatures_management ("fc_lyr"، os .path.join (outws، "fc_out"))