Страница 3 из 9

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 10 фев 2015, 14:52
SergeyRyzhkov
doujin, Все правильно именно так я и сделаю (я видимо коряво написал, не умею :))
Я просто думаю надо уважать "сервак". И предлагаю сделать типа журнала для докачки.
То есть получили все id, начали кусками тащить, что-то не сложилось. В журнале осталось что не удалось стащить.
Для того чтобы можно было потом утилите "сказать" возьми теперь не все id, а из файла.
Я сейчас качнул Питер 117 тыщ участков (условно) 116000 скачалось , тыща нет. Будет не красиво заново все качать :)

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 10 фев 2015, 16:55
doujin
На сколько я понял то, что писал Boris, OBJECTID имеет динамическое значение. То есть делая запросы по нему через продолжительное время мы получим совершенно разные участки. Поэтому журналирование по этому полю мне видится не целесообразным. А так я бы тоже с радостью жалел сервер. :)
Возможно, я понял неверно?

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 10 фев 2015, 17:02
SergeyRyzhkov
Скажем так, что Борис так предполагает и его предположения могут иметь место абсолютно, поэтому нельзя на OBJECTID ориентироваться.
Я сделаю такую возможность, задавать идентификаторы из файла, а не по запросу (как опцию), а как ей (опцией) пользоваться уже будет на откуп пользователя.

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 10 фев 2015, 21:03
SergeyRyzhkov
Обновление (на первой странице)
viewtopic.php?f=2&t=18581#p124520

- Попытка обойти ограничение на выгрузку только 1000 записей (или как задано в параметрах сервиса). Выгружаются файлы по 500 записей. То есть идет попытка выгрузить полностью все записи удовлетворяющие условию. Пока в работе, будут доработки (журналирование, выбор ID из файлов - для докачки)

- автоматически создается файл (*.bat) для слияния файлов в один (через ogr2ogr)

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 11 фев 2015, 03:56
doujin
А что если после получения списка OBJECTID забирать участки не через query, а по одному через этот идентификатор:

Код: Выделить всё

http://maps.rosreestr.ru/arcgis/rest/services/Cadastre/CadastreSelected/MapServer/1/21521881?f=pjson
В ответе только атрибуты и геометрия, причем атрибуты сразу со значениями, а не кодами. Да это сотни и тысячи запросов, но предполагаю, что они легкие и быстрые, а значит шансов на успех больше. Или лучше так не делать?

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 11 фев 2015, 09:22
SergeyRyzhkov
Спасибо,попробую. Хотя вчера вечером 118 тыщ зу на Питер в формате geojson за 6 минут скачалось. А вот в это же время таким способом kmz вообще не шло.

[ Сообщение с мобильного устройства ]

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 11 фев 2015, 18:14
SergeyRyzhkov
Спросили по почте, отвечу здесь.
1. Утилиту можно использовать с разными серсивами ArcGIS (но только Mapservice), а не только ППК. Что Вы к нему бедному пристали :)

2. Для выгрузки всех данных, в условии надо поставить банально 1=1

3. Где найти сервисы - не знаю. Можно набрать в гугле folder:// arcgis/rest/services/ и далее шукать.

Навскидку, как примеры: (а ниже пару картинок с выгрузкой через утилиту)

ФГИС Там много что есть
http://fgis.minregion.ru/arcgis/rest/services
Например: Государственные природные заповедники
http://fgis.minregion.ru/arcgis/rest/se ... pServer/14
Или Калининград:
http://fgis.minregion.ru/arcgis/rest/se ... /MapServer
Или Питер
http://fgis.minregion.ru/arcgis/rest/se ... /MapServer


Чувашия
http://sdi.cap.ru/arcgis/rest/services/ ... /MapServer

Пенза
https://arcgis.pnzreg.ru/ArcGIS/rest/services

Открытые данные Франции
http://services.opengeodata.fr/arcgis/rest/services

eatlas.mos.ru
http://www.eatlas.mos.ru/arcgis/rest/services/Basemaps

Национальный заповедник дикой природы ..
http://gis.fws.gov/arcgis/rest/services ... apServer/0


Новосибирск
http://map.novo-sibirsk.ru/ArcGIS/rest/services

Вронежская область
http://map.govvrn.ru/ArcGIS/rest/services

Проведенные исследования показали, что дикий рис, в первую очередь найден в водах с относительно низкой концентрации сульфата.
В 1973 Миннесота принят стандарт для защиты этого важного ресурса.
http://pca-gis02.pca.state.mn.us/arcgis ... /MapServer


Кадастр Округ США, Небраска
http://maps.sarpy.com/
Сервисы
http://maps.sarpy.com/arcgis/rest/servi ... /MapServer
Слой границ
http://maps.sarpy.com/arcgis/rest/servi ... apServer/4

Проекты ...Новый Орлеан
http://gisweb.dotd.la.gov/ArcGIS/rest/s ... apServices

US E.P.A.
Земля Калифорния
http://geodata.epa.gov/arcgis/rest/serv ... apServer/0

NOAA (National Oceanali and...)
http://gis.srh.noaa.gov/arcgis/rest/services/

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 13 фев 2015, 17:50
SergeyRyzhkov
Доработки

1. Возможность выбирать из списка поля, которые необходимо выгрузить (сильно влияет на размер). Если не указать выгрузятся все поля
2. Исправлена ошибка по выгрузке точечных объектов
3. Если в значении поля встречаются кавычки (") - они заменяются на ' . Иначе получается невалидный JSON
4. Формируется список неудачных запросов (для возможности выгрузить пока вручную)
5. Архив с версией расположил на Я-Диске (см. первое сообщение)

Далее не планируют дорабатывать. Но если будут мысли, идеи - пишите

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 13 фев 2015, 23:18
Донецков
Пока все нормально и стало значительно удобнее...

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 14 фев 2015, 18:20
АлексЮстасу
1. Зачем обязательно нужно, чтобы директория выгрузки была пустая - выдалось соответствующее сообщение?
2. Если директория выгрузки не была пустой, и получено об этом сообщение, потом директория была очищена, то программа не запускается с сообщением, что директория выгрузки не указана.
3. Хорошо бы после запуска вместо "Выполнено!" выдавать сообщение типа: "Загружено ... объектов" или т.п. Например, у меня папка для выгрузки оказалась почему-то пустой. (Через несколько часов загрузка произошла).
4. О кодировках:
- с кодировками UTF-32 и UTF-16 программа у меня выдает ошибку "Не обрабатываемое исключение...";
- ни с одной кодировкой у меня в Global Mapper русские значения полей не читаются.

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 15 фев 2015, 10:22
SergeyRyzhkov
АлексЮстасу , спасибо за конструктив!
Я посмотрю, при необходимости подправлю.
Насчет директории - просто я выгружал кое-что, так там было порядка 500 файлов. Когда выгружал еще раз случайно указал ту же директорию. Так как файлы нумеруются, предыдущие файлы перезаписывались - обидно получилось. Поэтому так сделал.
По 4. Вы можете дать ссылку на ресурс, с которого скачивали (и where).
Насчет кодировок - трудно мне проверить с кодировками, нету меня GM. Может это проблема GM?

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 15 фев 2015, 10:42
Andrey Zhukov
Исходный код тулзы не помешал бы. Чтоб при случае заново не городить.

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 15 фев 2015, 11:20
SergeyRyzhkov
Как обещал - код выложу на гитхаб. Немного причешу, отрефакторю... Думаю во вторник, в обед если время будет
Если нужно срочно, могу выслать ... как есть

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 15 фев 2015, 13:10
SergeyRyzhkov
Коллеги, спасибо всем кто так или иначе принял участие!
Надеюсь наш общий труд кому-то поможет.

Отдельно благодарности:
Александр Фадеев - за предложение сделать определение полей и т.д. не из настроек жестко пробитых в коде, а динамически. Сделал через чтение описание сервиса. Например так
http://maps.rosreestr.ru/arcgis/rest/se ... 1/?f=pjson

Донецков Много замечаний и предложений. Все конструктивно. Также очень важная замечена ошибка при получении geoJSON от сервисов, которые в значениях атрибутов отдают кавычки, что делает невалидным json

doujin Важное замечание насчет максимального количества записей, отдаваемых сервером за 1 запрос

АлексЮстасу Несколько важных замечаний и предложений

Boris Борис сам знает за что :) + за предложенный метод обхода максимального количества записей, отдаваемых сервером за 1 запрос

Спойлер
Коллеги, на работе сейчас будет большая запарка. В Питере решили провести инвентаризацию имущества, много работу по программированию у нас. Работа рутинная и не "идейная". Но делать надо. Соответственно надо на что-то отвлекаться, чтобы не сгореть. В гараже пока холодно, по озерам не походить, эксперименты со спиртом пока в тупике.
Если будут идеи чтобы еще полезного можно сделать, напишите !

Re: Утилита выгрузки данных ArcGIS Server

Добавлено: 15 фев 2015, 14:02
Slinger
Наконец-то дошли руки потестить. Спасибо Сергею за утилиту, сам всё ленился подобное написать, обходился excel'ем как-то :)

Пара моментов:

1) Может сделать всё-таки отмену текущей операции скачивания ? Потому как после запуска mainForrm становится неаткивной и процесс отменить невозможно. Более того, если во время закачки принудительно закрыть окно, то форма закроется, а процесс останется висеть в системе и продолжит закачивать. Сделайте TerminateProcess какой что ли :)

2) Кодировка я так понимаю только для kmz/kml ? Кабы json всё равно принудительно выгружается в UTF-8.