Ese servicio de mapas es un servicio de mapas dinámicos de ArcGIS Server que generalmente solo devuelve imágenes y resultados de consultas específicos, de forma muy similar a un WMS. Algunos servicios de imagen de ArcGIS Server permiten la descarga de datos, pero este no es uno de esos.
Puede obtener la información que está buscando a través de la operación de consulta, pero tomará varias consultas ya que el límite máximo de retorno de registros en este servicio es 1000, y hay más de 58000 registros solo en la capa v14.
Para enviar consultas, vaya al punto final de la capa y desplácese hasta la parte inferior para ver las operaciones admitidas, luego haga clic en Consulta . Para encontrar el número total de registros, ingrese 1 = 1 en el campo Dónde y seleccione Verdadero solo para Recuento de devoluciones , se ve como 58919 registros. Solo devolverá 1000 registros a la vez, por lo que tendrá que emitir 59 consultas para obtener todos los registros. Parece más fácil de filtrar por OBJECTID, por lo que la primera consulta sería WHERE OBJECTID <1000, Out Fields = *, Return Geometry = TRUE, Return Count = False, y Format es HTML . El servicio devuelve todas las características 1-999 y sus atributos. Puede cambiar el formato de salida a KMZ y convertirlo al formato deseado más tarde, iterar y tendrá todos los datos.
Otro método que funcionaría es tomar programáticamente la información de la entidad individual utilizando el punto final de la entidad. En la respuesta con formato HTML de arriba, el atributo OBJECTID es en realidad un hipervínculo a los atributos solo para esa característica . La URL REST termina con el OBJECTID, por lo que puede aumentar eso y obtener cada respuesta en JSON para que sea más fácil de analizar.
NOTA: algunas de estas características / enlaces solo son aplicables a los puntos finales REST de ArcGIS Server 10.1.
return IDs only
que devuelve todos los 58919 identificadores.Siempre me encuentro en situaciones en las que necesito exportar todos los datos de un servicio de mapas a un archivo de forma. Aquí hay una utilidad muy fácil de usar que exportará todas las funciones de un servicio y las guardará como un shapefile y geojson si lo necesita. Necesitará tener o instalar node.js.
https://github.com/tannerjt/AGStoShapefile
Una vez que haya colocado los archivos en su sistema, simplemente navegue a la carpeta, agregue su servicio de mapas al archivo services.txt y ejecútelo desde la línea de comandos:
Asegúrese de poner una tubería (|) en su archivo services.txt para agregar un nombre a su servicio.
Espero que esto ayude a otros que necesitan esta funcionalidad.
fuente
Descargue los datos almacenados en un ArcGIS REST MapServer capa por capa utilizando la línea de comando y el paquete Python pyesridump .
Comando de ejemplo:
fuente
Tuve que hacer esto recientemente y este fue mi mejor intento hasta ahora. Originalmente estaba tratando de hacer un
"objectid non in {}".format(ids)
where ids sería una tupla de objectid recopilados, pero la url no devolvería ningún dato, debe haber un límite sobre cuánto tiempo puede ser la cadena de cláusula where. parte de este código está codificado y si los identificadores no son secuenciales, es probable que este script no funcione. pero de todos modos espero que esto ayude a guiarfuente