CÓMO

Descargar elementos de servicio de entidades desde ArcGIS Online mediante ArcGIS API for Python

Last Published: October 17, 2022

Resumen

Al trabajar con servicios de entidades en ArcGIS Online, resulta útil crear una copia de todos los servicios de entidades en ArcGIS Online como copia de seguridad o si existen limitaciones de espacio de almacenamiento. Descargar cada servicio de entidades individualmente puede llevar mucho tiempo, especialmente en los volúmenes grandes. El siguiente script de Python permite que los usuarios descarguen una copia de todos los elementos de servicio de entidades. Es posible eliminar con seguridad los elementos cuando el proceso se ha completado.

Procedimiento

El siguiente script busca los elementos de servicio de entidades del usuario y exporta esos elementos como un único archivo en el formato que desee. Cuando el archivo se haya creado en ArcGIS Online, se puede descargar a la ruta de archivo especificada en la sección de descargas del script.

  1. En Python, importe las bibliotecas necesarias.
import arcgis from arcgis.gis import GIS
  1. Defina las credenciales de inicio de sesión.
gis = GIS(None,'nombre de usuario', 'contraseña', verify_cert=False)
  1. Defina el formato de descargas y la ruta del archivo de salida especificado. 
def downloadUserItems(owner, downloadFormat): try: # Buscar elementos por nombre de usuario items = gis.content.search('owner:{0}'.format(owner)) print(items) # Recorrer todos los elementos y, si son iguales que el servicio de entidades, descargarlos for item in items: if item.type == 'Servicio de entidades': result = item.export('sample {}'.format(item.type), downloadFormat) result.download(r'ruta del archivo en la que almacenar la descarga')   # Eliminar el elemento después de que se descargue para ahorrar espacio (OPCIONAL)   result.delete() except Exception as e: print(e)
  1. Descargar el archivo que se genera.
downloadUserItems('username', downloadFormat='Shapefile')

A continuación, se muestra un script de muestra por completo:

import arcgis from arcgis.gis import GIS gis = GIS(None,'nombre de usuario', 'contraseña', verify_cert=False) # Descargar todos los datos de un usuario def downloadUserItems(owner, downloadFormat): try: # Buscar elementos por nombre de usuario items = gis.content.search('owner:{0}'.format(owner)) print(items) # Recorrer todos los elementos y, si son iguales que el servicio de entidades, descargarlos for item in items: if item.type == 'Servicio de entidades': result = item.export('sample {}'.format(item.type), downloadFormat) result.download(r'ruta del archivo en la que almacenar la descarga')   # Eliminar el elemento después de que se descargue para ahorrar espacio   result.delete() except Exception as e: print(e) # La función adopta dos parámetros. Nombre de usuario y tipo de formato de descarga downloadUserItems('nombre de usuario', downloadFormat='Shapefile')

La función downloadUserItems recibe dos parámetros:

  • owner[string] - para el nombre de usuario
  • downloadFormat[string] - el formato del archivo de salida de descarga
Nota: Existen varios formatos de archivo para la salida, entre los que se incluyen: shapefile (SHP), CSV, KML, FGDB, conjunto de entidades.

Id. de artículo:000018909

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Información relacionada

Descubrir más sobre este tema