Instrução

Baixar itens de serviço de feição do ArcGIS Online usando ArcGIS API para Python

Last Published: October 17, 2022

Resumo

Ao trabalhar com serviços de feição no ArcGIS Online, é útil criar uma cópia de todos os serviços de feição no ArcGIS Online como cópia de segurança ou se houver limitações de espaço de armazenamento. Baixar cada serviço de feição individualmente pode ser demorado, especialmente em grandes volumes. O script Python a seguir permite que os usuários baixem uma cópia de todos os itens de serviço do feição. Os itens podem ser excluídos com segurança assim que o processo for concluído.

Procedimento

O script a seguir executa uma pesquisa dos itens de serviço da feição do usuário e exporta os itens como um único arquivo no formato desejado. Apõs o arquivo ser criado no ArcGIS Online, ele pode ser baixado para o caminho do arquivo especificado na seção de download do script.

  1. No Python, importe as bibliotecas necessárias.
import arcgis from arcgis.gis import GIS
  1. Defina as credenciais de login.
gis = GIS(None,'username', 'password', verify_cert=False)
  1. Defina o formato de download e o caminho do arquivo de saída especificado. 
def downloadUserItems(owner, downloadFormat): try: # Search items by username items = gis.content.search('owner:{0}'.format(owner)) print(items) # Loop through each item and if equal to Feature service then download it for item in items: if item.type == 'Feature Service': result = item.export('sample {}'.format(item.type), downloadFormat) result.download(r'file path of where to store the download')   # Delete the item after it downloads to save space (OPTIONAL)   result.delete() except Exception as e: print(e)
  1. Baixe o arquivo gerado.
downloadUserItems('username', downloadFormat='Shapefile')

A seguir está um exemplo de script completo:

import arcgis from arcgis.gis import GIS gis = GIS(None,'username', 'password', verify_cert=False) # Download all data from a user def downloadUserItems(owner, downloadFormat): try: # Search items by username items = gis.content.search('owner:{0}'.format(owner)) print(items) # Loop through each item and if equal to Feature service then download it for item in items: if item.type == 'Feature Service': result = item.export('sample {}'.format(item.type), downloadFormat) result.download(r'file path of where to store the download')   # Delete the item after it downloads to save on space   result.delete() except Exception as e: print(e) # Function takes in two parameters. Nome de usuário e o tipo de formato de download downloadUserItems('username', downloadFormat='Shapefile')

A função downloadUserItems recebe dois parâmetros:

  • owner[string] - for the username
  • downloadFormat[string] - o formato para o arquivo de saída do download
Nota: Hã vários formatos de arquivo para a saída e estes incluem, mas não estão limitados a - shapefile (SHP), CSV, KML, FGDB, coleção de feições.

ID do Artigo:000018909

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com suporte técnico

Baixe o Esri Support App

Ir para opções de download

Informações Relacionadas

Descubra mais sobre este tema