Этот картографический сервис представляет собой сервис ArcGIS Server Dynamic Map, который обычно возвращает только изображения и конкретные результаты запроса, как и WMS. Некоторые сервисы изображений ArcGIS Server позволяют загружать данные, но это не один из них.
Вы можете получить искомую информацию с помощью операции запроса, но она будет принимать несколько запросов, поскольку максимальный предел возврата записей для этой службы равен 1000, а в одном слое v14 имеется более 58000 записей.
Чтобы отправить запрос, перейдите к конечной точке слоя и прокрутите список до конца для поддерживаемых операций, затем нажмите Запрос . Чтобы найти общее количество записей, введите 1 = 1 в поле «Где» и выберите «Истина» только для счетчика возвратов, похоже на 58919 записей. Он будет возвращать только 1000 записей за раз, поэтому вам нужно будет выполнить 59 запросов, чтобы получить все записи. Кажется, проще всего фильтровать по OBJECTID, поэтому первым запросом будет WHERE OBJECTID <1000, Out Fields = *, Return Geometry = TRUE, Return Count = False и Format - HTML . Сервис возвращает все функции 1-999 и их атрибуты. Вы можете изменить формат вывода на KMZ и позже преобразовать в желаемый формат, выполнить итерацию, и у вас будут все данные.
Другой метод, который будет работать, - это программный сбор информации об отдельных объектах с использованием конечной точки объекта. В приведенном выше ответе в формате HTML атрибут OBJECTID фактически является гиперссылкой на атрибуты только для этой функции . URL REST оканчивается OBJECTID, так что вы можете просто увеличить его и получить каждый ответ в JSON, чтобы упростить анализ.
ПРИМЕЧАНИЕ. - Некоторые из этих функций / ссылок применимы только к конечным точкам REST ArcGIS Server 10.1.
return IDs only
которое возвращает все 58919 идентификаторов.Я всегда нахожусь в ситуациях, когда мне нужно экспортировать все данные из картографического сервиса в шейп-файл. Вот очень простая в использовании утилита, которая экспортирует каждую функцию из сервиса и сохраняет ее как шейп-файл и геоджон, если вам это нужно. Вам нужно будет иметь или установить node.js.
https://github.com/tannerjt/AGStoShapefile
После того, как вы поместили файлы в свою систему, просто перейдите в папку, добавьте картографический сервис в файл services.txt и запустите его из командной строки:
Убедитесь, что в ваш файл services.txt добавлен канал (|), чтобы добавить имя для вашей службы.
Надеюсь, что это помогает другим, кто нуждается в этой функции.
источник
Загружайте данные, хранящиеся на ArcGIS REST MapServer, по одному слою за раз, используя командную строку и пакет Pyesridump пакета Python .
Пример команды:
источник
Я должен был сделать это недавно, и это была моя лучшая попытка на данный момент. Первоначально я пытался сделать,
"objectid non in {}".format(ids)
где идентификаторы были бы кортежем собранных объектов, но URL не возвращал никаких данных, должен быть предел того, как долго может быть строка предложения where. часть этого кода жестко запрограммирована, и если идентификаторы непоследовательны, этот сценарий, скорее всего, не будет работать. но в любом случае я надеюсь, что это поможет руководствоисточник