CÓMO
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.
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.
import arcgis from arcgis.gis import GIS
gis = GIS(None,'nombre de usuario', 'contraseña', verify_cert=False)
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)
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:
Nota: Existen varios formatos de archivo para la salida, entre los que se incluyen: shapefile (SHP), CSV, KML, FGDB, conjunto de entidades.
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri