Страница 1 из 1

Повтор действий

Добавлено: 20 мар 2014, 10:19
Воронин С.В.
Господа.
При оцифровке часто повторяю однотипные действия.

А именно.
После создания полигона, используя расширенное редактирование,
я часто делаю сглаживание полигона со сдвигом 1, а затем делаю его генерализацию со сдвигом 1.
В принципе это всего 6 кликов, но хотелось бы делать это в один клик.
Вопрос. Существует ли в ArcGIS функция подобная записи макросов в Office?

Re: Повтор действий

Добавлено: 20 мар 2014, 14:10
dime1
ModelBuilder, но он позволяет создать очерёдность работы инструментов из ArcToolbox, но не действий в панели редактирования.

Re: Повтор действий

Добавлено: 20 мар 2014, 16:34
Воронин С.В.
ModelBuilder попробовал.
В принципе, можно было-бы использовать, но он каждый раз требует сохранение в другом месте.

Re: Повтор действий

Добавлено: 20 мар 2014, 16:48
dime1
Это потому что результат имеет одно и то же имя. Если использовать итерацию входных данных из папки и специализировать Name%1% для результата, то названия будут разные.
http://help.arcgis.com/en/arcgisdesktop ... 000000.htm
Там функционал большой и нужно разбираться первое время, если данных много и процесс однообразный.

Re: Повтор действий

Добавлено: 21 мар 2014, 01:15
doujin
Сглаживание и генерализация вызванные через ModelBuilder создают новые слои. По моему, это совсем не то поведение, которое мы получаем при вызове одноименных команд расширенного редактирования.
Я бы смотрел в сторону python и написания собственной функции, которая применяла бы нужные эффекты к выделенному объекту в слое. Количество действий бы сократилось до установки курсора в консоль, нажатия стрелки вверх и enter (при повторном использовании). Первый вызов выглядел бы прмиерно так:

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

>>> import my_module
>>> my_module.apply_my_effects('name_of_edited_layer')
Внутри функции те же инструменты, но вывод из них можно отправить в класс arcpy.Geometry(), а потом обратно применить к выделенному объекту.
Так, что бы действительно все в 1 клик, то эту функцию можно прицепить на кнопку созданную как python add-in, либо писать такую кнопку на .NET
Записывать макросы как в MS Office ArcGIS не умеет.