PYTHON GIS - Cómo borrar elementos vacíos en la base de datos

0

 


Aprende como usar Python (ArcPy) para eliminar los elementos vacíos en tus bases de datos


En este articulo aprenderás como borrar los features vacíos dentro de una base de datos espacial utilizando Python de manera muy sencilla


Una vez hecho el control de tus datos, así como todas las verificaciones pertinentes en la base de datos (GDB), puede que sea necesario borrar algunos features contemplados en el modelo de datos, ya sea porque no fue necesario llenarlos, no aplican para la zona de estudio, o exceden los términos técnicos de referencia, a continuación te presento como borrar elementos en una base de datos:


Cómo borrar manualmente (File geodatabase .gdb o Personal geodatabase .mdb)


Opción 1:



Arrastra el feature que quieras eliminar a un archivo de ArcMap en blanco (a). Presiona el botón "Search" (b), de la barra de herramientas "Standard", en la pestaña desplegada escribe la palabra "Delete" (c), presiona el primer enlace lo que abrira la herramienta "Delete" (d), y arrastra la capa a la herramienta y presiona OK (e). Esto borrara el elemento seleccionado de tu disco duro.









Opción 2:



Presiona el botón "Catalog" (a), de la barra de herramientas "Standard", en la pestaña desplegada presiona el botón "Connect To Folder" (b) y busca la ruta donde se encuentra almacenada la información a eliminar (Si no se tiene previamente asociada la carpeta contenedora a ArcCatalog). Selecciona el elemento a borrar y presiona clic derecho y presiona la opcion "Delete" (c). Esto borrara el elemento seleccionado de tu disco duro.








Borrar uno o dos elementos dentro de una base de datos es fácil, pero si el número se incrementa, puede llegar a ser una tarea tediosa, te propongo la siguiente alternativa automatizada utilizando códigos de Python. Si quieres borrar todos los elementos (Feature o Shapefile, y tablas) vacíos en una base de datos, sigue los estos pasos:


Cómo borrar con python (File geodatabase .gdb o Personal geodatabase .mdb)


Paso 0: Haz un respaldo de la base de datos (Nunca se sabe que pueda pasar).


Paso 1: Identificar la ruta que representa la base de datos a examinar en el explorador del sistema operativo.


Paso 2: Abrir ArcMap (Un archivo mxd en blanco).


Paso 3: Abrir la ventana Python en la barra de herramientas Standard.


Muestra la ubicación de la ventana Python dentro de la barra de herramientas Standard (estándar)


Paso 4: Copiar en un blog de notas el siguiente código.



import arcpy, os                                                  #01
A = r"C:\EJEMPLO\EJEMPLO.gdb"                                     #02
arcpy.env.workspace = A                                           #03
tables = arcpy.ListTables()                                       #04
for table in tables:                                              #05
    count3 = str(arcpy.GetCount_management(table))                #06
    if count3 == "0":                                             #07
        arcpy.Delete_management(table)                            #08
listFCs = arcpy.ListFeatureClasses("*")                           #09
for fc in listFCs:                                                #10
    count2 = str(arcpy.GetCount_management(fc))                   #11
    if count2 == "0":                                             #12
        arcpy.Delete_management(fc)                               #13
datasets = arcpy.ListDatasets(feature_type='feature')             #14
datasets = [''] + datasets if datasets is not None else []        #15
for ds in datasets:                                               #16
for fc in arcpy.ListFeatureClasses(feature_dataset=ds):   #17
pathA = os.path.join(arcpy.env.workspace, ds, fc) #18
count1 = str(arcpy.GetCount_management(fc))       #19
if count1 == "0":                                 #20
              arcpy.Delete_management(pathA)            #21
                                                                                            


Paso 5: En la línea #03, reemplaza el texto C:\EJEMPLO\EJEMPLO.GDB indicando la ruta de la base de datos, incluyendo su nombre con su extensión, tal como está en el ejemplo del código (Conservar las comillas).


Paso 6: Copiar el código modificado en la ventana Python y presionar la tecla Enter o Intro dos veces.



NOTAS


  • Este script siempre me ha dado problemas usando rutas muy largas por lo que recomiendo trabajar en una carpeta en la raíz de una unidad de almacenamiento (a).


Ejemplo de donde ubicar la base de datos dentro de una unidad de almacenamiento










Bien, de esta forma habrás borrado los features y tablas vacíos dentro de una base de datos, si te interesa hacer un listado de los elementos vacíos para verificarlos antes de borrarlos, te recomiendo pasar por mi artículo "PYTHON GIS / EXCEL - Cómo listar elementos vacíos en la base de datos".


Espero hayas disfrutado este artículo, próximamente subiré un video explicativo del procedimiento que podrás consultar en este blog. Guarda mi blog entre tus enlaces favoritos, estaré subiendo muchos más trucos de este estilo, recuerda que puedes hacer llegarme tus inquietudes en la página de contacto o deja tu comentario, estaré atento a responder.






Entradas que pueden interesarte

Sin comentarios