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

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Воронин С.В.
Завсегдатай
Сообщения: 431
Зарегистрирован: 06 ноя 2009, 13:18
Репутация: 10
Откуда: Екатеринбург

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

Сообщение Воронин С.В. » 20 мар 2014, 10:19

Господа.
При оцифровке часто повторяю однотипные действия.

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

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

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

Сообщение dime1 » 20 мар 2014, 14:10

ModelBuilder, но он позволяет создать очерёдность работы инструментов из ArcToolbox, но не действий в панели редактирования.

Воронин С.В.
Завсегдатай
Сообщения: 431
Зарегистрирован: 06 ноя 2009, 13:18
Репутация: 10
Откуда: Екатеринбург

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

Сообщение Воронин С.В. » 20 мар 2014, 16:34

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

dime1
Гуру
Сообщения: 939
Зарегистрирован: 29 май 2011, 19:41
Репутация: 94
Откуда: Киев

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

Сообщение dime1 » 20 мар 2014, 16:48

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

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

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

Сообщение doujin » 21 мар 2014, 01:15

Сглаживание и генерализация вызванные через 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 не умеет.

Ответить

Вернуться в «ArcGIS»

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

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