Ce service de carte est un service de carte dynamique d'ArcGIS Server qui ne renvoie généralement que des images et des résultats de requête spécifiques, un peu comme un WMS. Certains services d'imagerie ArcGIS Server permettent le téléchargement de données, mais ce n'est pas l'un d'entre eux.
Vous pouvez obtenir les informations que vous recherchez via l'opération de requête, mais il faudra plusieurs requêtes car la limite maximale de retour d'enregistrements sur ce service est de 1000, et il y a plus de 58000 enregistrements dans la seule couche v14.
Pour soumettre des requêtes, accédez au point de terminaison de la couche et faites défiler vers le bas pour les opérations prises en charge, puis cliquez sur Requête . Pour trouver le nombre total d'enregistrements, entrez 1 = 1 dans le champ Où et sélectionnez Vrai pour le nombre de retours uniquement , ressemble à 58919 enregistrements. Il ne renverra que 1000 enregistrements à la fois, vous devrez donc émettre 59 requêtes pour obtenir tous les enregistrements. Semble plus facile à filtrer par OBJECTID, donc la première requête serait WHERE OBJECTID <1000, Out Fields = *, Return Geometry = TRUE, Return Count = False et Format is HTML . Le service renvoie toutes les fonctionnalités 1 à 999 et leurs attributs. Vous pouvez changer le format de sortie en KMZ et convertir au format souhaité plus tard, parcourir et vous obtiendrez toutes les données.
Une autre méthode qui fonctionnerait consiste à saisir par programme les informations individuelles sur les fonctionnalités à l'aide du point de terminaison de la fonctionnalité. Dans la réponse au format HTML ci-dessus, l'attribut OBJECTID est en fait un lien hypertexte vers les attributs de cette fonctionnalité uniquement . L'URL REST se termine par OBJECTID, vous pouvez donc simplement l'incrémenter et récupérer chaque réponse en JSON pour faciliter l'analyse.
REMARQUE - certaines de ces fonctionnalités / liaisons ne s'appliquent qu'aux points de terminaison REST d'ArcGIS Server 10.1.
return IDs only
retourner tous les 58919 ids.Je me retrouve toujours dans des situations où j'ai besoin d'exporter toutes les données d'un service de carte dans un fichier de formes. Voici un utilitaire très facile à utiliser qui exportera toutes les fonctionnalités d'un service et l'enregistrera en tant que fichier de formes et geojson si vous en avez besoin. Vous devrez avoir ou installer node.js.
https://github.com/tannerjt/AGStoShapefile
Une fois que vous avez placé les fichiers sur votre système, accédez simplement au dossier, ajoutez votre service de carte au fichier services.txt et exécutez-le à partir de la ligne de commande:
Assurez-vous de mettre un canal (|) dans votre fichier services.txt pour ajouter un nom pour votre service.
J'espère que cela aide ceux qui ont besoin de cette fonctionnalité.
la source
Téléchargez les données stockées sur ArcGIS REST MapServer une couche à la fois à l'aide de la ligne de commande et du package Python pyesridump .
Exemple de commande:
la source
J'ai dû le faire récemment et c'était ma meilleure tentative jusqu'à présent. J'essayais à l'origine de faire un
"objectid non in {}".format(ids)
où les identifiants seraient un tuple d'objectid collectés, mais l'URL ne retournerait aucune donnée, il doit y avoir une limite sur la durée de la chaîne de clause where. une partie de ce code est codé en dur et si les identifiants ne sont pas séquentiels, ce script ne fonctionnera probablement pas. mais de toute façon j'espère que cela aide à guiderla source