Esse serviço de mapa é um serviço de Mapa Dinâmico do ArcGIS Server que normalmente retorna apenas imagens e resultados de consultas específicas, como um WMS. Alguns serviços de imagem do ArcGIS Server permitem o download de dados, mas esse não é um deles.
Você pode obter as informações que procura através da operação de consulta, mas serão necessárias várias consultas, pois o limite máximo de retorno de registro neste serviço é 1000 e existem mais de 58000 registros somente na camada v14.
Para enviar consultas, vá para o ponto final da camada, role para baixo até as operações suportadas e clique em Consulta . Para encontrar o número total de registros, digite 1 = 1 no campo Onde e selecione Verdadeiro apenas para contagem de retorno , se parece com 58919 registros. Ele retornará apenas 1000 registros por vez, portanto, você precisará emitir 59 consultas para obter todos os registros. Parece mais fácil filtrar por OBJECTID, portanto, a primeira consulta seria WHERE OBJECTID <1000, Out Fields = *, Geometria de retorno = TRUE, Contagem de retorno = False e Format é HTML . O serviço retorna todos os recursos de 1 a 999 e seus atributos. Você pode alterar o formato de saída para KMZ e converter para o formato desejado posteriormente, percorrer e você terá todos os dados.
Outro método que funcionaria é pegar programaticamente as informações individuais do recurso usando o ponto final do recurso. Na resposta formatada em HTML acima, o atributo OBJECTID é realmente um hiperlink para os atributos desse recurso . A URL REST termina com OBJECTID, para que você possa incrementá-la e capturar cada resposta no JSON para facilitar a análise.
NOTA - alguns desses recursos / links são aplicáveis apenas aos terminais REST do ArcGIS Server 10.1.
return IDs only
que retorne todos os 58919 IDs.Eu sempre me encontro em situações em que preciso exportar todos os dados de um Serviço de Mapa para um shapefile. Aqui está um utilitário muito fácil de usar que exportará todos os recursos de um serviço e os salvará como shapefile e geojson, se necessário. Você precisará ter ou instalar o node.js.
https://github.com/tannerjt/AGStoShapefile
Depois de colocar os arquivos no seu sistema, basta navegar para a pasta, adicionar seu serviço de mapa ao arquivo services.txt e executar na linha de comando:
Coloque um canal (|) no arquivo services.txt para adicionar um nome ao seu serviço.
Espero que isso ajude outras pessoas que precisam dessa funcionalidade.
fonte
Faça o download dos dados armazenados em um ArcGIS REST MapServer uma camada de cada vez, usando a linha de comando e o pacote Python pyesridump .
Comando de exemplo:
fonte
Eu tive que fazer isso recentemente e essa foi a minha melhor tentativa até agora. Eu estava originalmente tentando fazer um
"objectid non in {}".format(ids)
where ids seria uma tupla de IDs de objetos coletados, mas o URL não retornaria nenhum dado; deve haver um limite de quanto tempo a string da cláusula where pode estar. parte desse código é codificado e, se os IDs não forem seqüenciais, esse script provavelmente não funcionará. de qualquer forma, espero que isso ajude a guiarfonte