Интерполяция растра в веб-приложении на лету

0 голосов
спросил 20 Ноя, 12 от SergeyG (1,100 баллов) в категории Программные продукты Esri
Здравствуйте! Подскажите пожалуйста, возможно ли реализовать в опубликованном Web Application интерполяцию растра на лету по точечному слою?
То есть имеем:
1. Точечный слой из базы данных с параметром (например температура воздуха), который несколько раз в сутки обновляется
2. Нужно, чтобы по изменению этого параметра у объектов автоматически в качестве нового слоя на карте интерполировался растр (например карта температур), либо же этот растр как-то строился извне в момент обновления данных.

Был бы рад любой подсказке.

12 Ответы

0 голосов
ответил 21 Ноя, 12 от Grigoriy (127,020 баллов)
0 голосов
ответил 21 Ноя, 12 от SergeyG (1,100 баллов)
Григорий, спасибо большое! Справку уже почитал, а вот видео будет интересно посмотреть.
0 голосов
ответил 28 Ноя, 12 от SergeyG (1,100 баллов)
По ходу дела возник ещё вопрос с растрами.
Динамическое построение растра решил не делать, ибо и так web-приложение быстродействием не отличается.
Поскольку данные температуры у меня обновляются каждые 3 часа, то возникла идея генерировать этот растр в конце процедуры обновления.
Создал я такую модель:
image

.. и теперь прошу совета, каким образом извне, т.е. из Windows возможно запустить выполнение этой модели? Подозреваю, что это будет связано с Python, но вообще с ним не знаком пока. :(
0 голосов
ответил 28 Ноя, 12 от Worker (22,480 баллов)
0 голосов
ответил 28 Ноя, 12 от SergeyG (1,100 баллов)
Worker, в который раз благодарствую!
С ходу наткнулся на простой вызов модели в 3 строчки:

import arcpy
arcpy.ImportToolbox(r"C:\pathToToolbox\Toolbox.tbx", "TBX")
arcpy.Model_TBX()

... однако, мне это не шибко помогло, получал только ошибки, в т.ч. и про отсутствие лицензии, хотя в ArcMap модель отрабатывала без вопросов.
Буду набивать шишки через экспорт.
0 голосов
ответил 29 Ноя, 12 от SergeyG (1,100 баллов)
К сожалению, и с таким подходом упёрся в тупик. С нуля модель создаёт растр и при последующих вызовах его обновляет без ошибок. Но не смотря на то, что в скрипе включен парамет env.overwriteOutput = True, инструмент интерполяции IDW не может перезаписать растр, который уже используется в сервисах на сервере. :(

Может есть какая-то принудительная команда перезаписи или снятия блокировки с растра?

p.s. причем заметил такое, что при попытке перезаписи из папки растра удаляются все файлы, кроме w001001.adf и w001001x.adf, и скрипт на этом выдает ошибку.
0 голосов
ответил 29 Ноя, 12 от Worker (22,480 баллов)
Запускать Питон на сервере 10.1 - масса тонкостей, с которыми сам еще до конца не разобрался, к сожалению. Гляньте вот тут, может поможет:

http://resources.arcgis.com/en/help/main/10.1/index.html#//0154000005z9000000

Я бы рекомендовал начинать с простых операций, например, просто сделать модель, которая обновляет какой-то имеющийся класс пространственных объектов или набор данных и глянуть, как все работает, а затем "наращивать" функционал и смотреть, где появляются проблемы.
0 голосов
ответил 29 Ноя, 12 от SergeyG (1,100 баллов)
Эх, к сожалению, я сижу на 10.0 и выключателя блокировки схемы в сервисе не нашел. Видимо это новая фича.

Временно решил проблему таким костылём: bat-файлом останавливаю сервис, который блокирует растр, потом запускаю скрипт и вновь стартую сервис. Работает, но неправильно это всё.. ой как неправильно..
0 голосов
ответил 29 Ноя, 12 от Worker (22,480 баллов)
В 10.0 редактируется конфиг-файл вручную:
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//000400000009000000

Ищите <SchemaLockingEnabled> в файле .cfg картографического сервиса, где опубликован растр.

PS. Классно с .bat файлом придумали, хотя и не самое элегантное решение. :) если понадобится - есть утилиты для программной манипуляции сервисов:
http://resources.arcgis.com/gallery/file/net-web-adf/details?entryID=16BABD9A-1422-2418-8828-AC5EE09678BA

В 10.1 инструменты работы с сервисами доступны в виде инструментов геообработки Python: http://www.arcgis.com/home/item.html?id=12dde73e0e784e47818162b4d41ee340
0 голосов
ответил 04 Дек, 12 от SergeyG (1,100 баллов)
Worker, да вы просто ходячая энциклопедия! :) Когда я так научусь курить справку..
В cfg файле эту строку не нашел, напишу сам, видимо по умолчанию блокировка стоит в True.
Пора наверное переходить на 10.1, раз там уже на все мои вопросы есть кое-какие ответы. image
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...