Mais

Como deletar linhas selecionadas usando ArcPy?

Como deletar linhas selecionadas usando ArcPy?


Desejo excluir todas as linhas em uma classe de recurso, mas permanecer nas linhas 1 a 5. Por outro lado, desejo permanecer as primeiras cinco linhas e excluir outras. Eu sei que tenho que usar o cursor de pesquisa e o cursor de atualização, mas não pude usá-los. Como posso excluir as linhas usando ArcPy?


Você pode usar um Cursor de atualização para excluir linhas com base em suas condições. Neste exemplo, qualquer linha onde OBJECTID> 5 é excluída.

import arcpy fc = r'C:  temp  test.gdb  tmp 'com arcpy.da.UpdateCursor (fc, "OBJECTID") como cursor: para linha no cursor: if linha [0]> 5: cursor.deleteRow ( )

Alternativamente, use Selecionar Camada por Atributo (Gerenciamento de Dados).

import arcpy, os fc = r'C:  temp  test.gdb  tmp 'outws = r'C:  temp  test.gdb' # Faça uma camada da classe de recurso arcpy.MakeFeatureLayer_management (fc, "fc_lyr") # Use uma consulta SQL para selecionar OBJECTID 1 - 5 arcpy.SelectLayerByAttribute_management ("fc_lyr", "", '"OBJECTID" <= 5') # Grave os recursos selecionados em uma nova classe de recurso arcpy.CopyFeatures_management ("fc_lyr", os .path.join (outws, "fc_out"))