Dieser Karten-Service ist ein dynamischer ArcGIS Server-Karten-Service, der in der Regel nur Bilder und bestimmte Abfrageergebnisse zurückgibt, ähnlich wie ein WMS. Einige ArcGIS Server-Image-Services ermöglichen das Herunterladen von Daten, dies ist jedoch keiner von diesen.
Sie können die gesuchten Informationen über die Abfrageoperation abrufen, es werden jedoch mehrere Abfragen ausgeführt, da das maximale Rückgabelimit für Datensätze für diesen Dienst 1000 beträgt und allein in der Ebene v14 über 58000 Datensätze vorhanden sind.
Um Abfragen zu senden, navigieren Sie zum Layer-Endpunkt und scrollen Sie nach unten, um die unterstützten Vorgänge anzuzeigen . Klicken Sie dann auf Abfrage . Um die Gesamtzahl der Datensätze zu ermitteln, geben Sie 1 = 1 in das Feld Where ein und wählen Sie True for Return Count Only ( Wahr, nur für Rückgabezählung). Dies entspricht 58919 Datensätzen. Es werden jeweils nur 1000 Datensätze zurückgegeben, sodass Sie 59 Abfragen ausführen müssen, um alle Datensätze abzurufen. Scheint am einfachsten nach OBJECTID zu filtern, daher wäre die erste Abfrage WHERE OBJECTID <1000, Out Fields = *, Return Geometry = TRUE, Return Count = False und Format ist HTML . Der Dienst gibt alle Funktionen 1 bis 999 und ihre Attribute zurück. Sie können das Ausgabeformat in KMZ ändern und später in das gewünschte Format konvertieren, durchlaufen und alle Daten haben.
Eine andere Methode, die funktionieren würde, ist das programmgesteuerte Abrufen der einzelnen Feature-Informationen mithilfe des Feature-Endpunkts. In der HTML-formatierten Antwort von oben ist das OBJECTID-Attribut tatsächlich ein Hyperlink zu den Attributen für genau dieses Feature . Die REST-URL endet mit der OBJECTID. Sie können diese also einfach erhöhen und jede Antwort in JSON abrufen, um das Parsen zu vereinfachen.
HINWEIS - Einige dieser Funktionen / Links gelten nur für ArcGIS Server 10.1-REST-Endpunkte.
return IDs only
der alle 58919-IDs zurückgegeben werden.Ich befinde mich immer in Situationen, in denen ich alle Daten von einem Kartendienst in ein Shapefile exportieren muss. Hier ist ein sehr benutzerfreundliches Dienstprogramm, mit dem alle Features eines Dienstes exportiert und bei Bedarf als Shapefile und Geojson gespeichert werden können. Sie müssen node.js haben oder installieren.
https://github.com/tannerjt/AGStoShapefile
Sobald Sie die Dateien auf Ihrem System gespeichert haben, navigieren Sie einfach zum Ordner, fügen Sie den Kartendienst zur Datei services.txt hinzu und führen Sie diesen über die Befehlszeile aus:
Stellen Sie sicher, dass Sie ein Pipe (|) in Ihre services.txt-Datei einfügen, um einen Namen für Ihren Dienst hinzuzufügen.
Hoffe, dies hilft anderen, die diese Funktionalität benötigen.
quelle
Laden Sie die auf einem ArcGIS REST MapServer gespeicherten Daten über die Befehlszeile und das Python-Paket pyesridump nacheinander herunter .
Beispielbefehl:
quelle
Ich musste dies kürzlich tun und dies war mein bisher bester Versuch. Ich habe ursprünglich versucht, eine
"objectid non in {}".format(ids)
Where-ID zu erstellen, die ein Tupel der gesammelten Objectids ist, aber die URL würde keine Daten zurückgeben. Es muss eine Begrenzung für die Länge der Where-Klausel-Zeichenfolge geben. Ein Teil dieses Codes ist fest codiert, und wenn die IDs nicht sequenziell sind, funktioniert dieses Skript höchstwahrscheinlich nicht. aber trotzdem hoffe ich, dass dies hilfreich istquelle