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

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Закрыто
Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 10 фев 2015, 14:52

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

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

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

Сообщение doujin » 10 фев 2015, 16:55

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 10 фев 2015, 17:02

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 10 фев 2015, 21:03

Обновление (на первой странице)
viewtopic.php?f=2&t=18581#p124520

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

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

doujin
Активный участник
Сообщения: 163
Зарегистрирован: 28 июн 2012, 01:02
Репутация: 84
Откуда: Vladivostok

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

Сообщение doujin » 11 фев 2015, 03:56

А что если после получения списка OBJECTID забирать участки не через query, а по одному через этот идентификатор:

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

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 11 фев 2015, 09:22

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

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 11 фев 2015, 18:14

Спросили по почте, отвечу здесь.
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/
Вложения
eatlasmosru.jpg
eatlasmosru.jpg (128.06 КБ) 13301 просмотр
Зоны парковки Париж.jpg
Зоны парковки Париж.jpg (109.5 КБ) 13301 просмотр
Воды с относительно низкой концентрации сульфата.jpg
Воды с относительно низкой концентрации сульфата.jpg (83.03 КБ) 13301 просмотр
Последний раз редактировалось SergeyRyzhkov 13 фев 2015, 19:38, всего редактировалось 1 раз.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 13 фев 2015, 17:50

Доработки

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

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

Донецков
Гуру
Сообщения: 3058
Зарегистрирован: 19 май 2010, 19:44
Репутация: 189

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

Сообщение Донецков » 13 фев 2015, 23:18

Пока все нормально и стало значительно удобнее...

АлексЮстасу
Гуру
Сообщения: 619
Зарегистрирован: 09 авг 2009, 13:09
Репутация: 67
Ваше звание: топограф, технолог
Откуда: Мааськва

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

Сообщение АлексЮстасу » 14 фев 2015, 18:20

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 15 фев 2015, 10:22

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

Andrey Zhukov
Гуру
Сообщения: 838
Зарегистрирован: 10 дек 2009, 23:24
Репутация: 169
Ваше звание: старик-гисовик
Откуда: Москва
Контактная информация:

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

Сообщение Andrey Zhukov » 15 фев 2015, 10:42

Исходный код тулзы не помешал бы. Чтоб при случае заново не городить.

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 15 фев 2015, 11:20

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

Аватара пользователя
SergeyRyzhkov
Гуру
Сообщения: 909
Зарегистрирован: 02 июл 2014, 19:13
Репутация: 203
Ваше звание: GP-экотеррористы
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение SergeyRyzhkov » 15 фев 2015, 13:10

Коллеги, спасибо всем кто так или иначе принял участие!
Надеюсь наш общий труд кому-то поможет.

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

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

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

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

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

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

Slinger
Гуру
Сообщения: 879
Зарегистрирован: 17 июн 2010, 23:14
Репутация: 207
Откуда: Москва

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

Сообщение Slinger » 15 фев 2015, 14:02

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

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

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

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

Закрыто

Вернуться в «Общий - ПО»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя