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

Кто знает VBA?

Добавлено: 17 ноя 2011, 10:27
KatenoK
Помогите выполнить задание в ArcMap! Никак не могу найти такие макросы на VBA, а сама ничего писать не умею :(
Задание ваще для программистов, а я всего лишь географ и никогда никакой язык не изучала! У препода спрашиваешь, а он только: "Разбирайтесь сами!". Короче, если кто сможет помочь, буду очень признательна.
Задание такое:
1. Написать макрос, который удаляет поле из таблицы атрибутов. Название слоя и удаляемого поля запрашиваются у пользователя.
2. Написать макрос, который добавляет поле Pop2008 в таблицу атрибутов слоя (н-р, MEXCITY).
3. Написать макрос, который
• увеличивает на 30% значения поля Population слоя MEXCITY и записывает эти значения в поле Pop2008.
• вычисляет значение поля, используя значения уже существующего поля
4. Написать макрос, который создает поле Type в таблице атрибутов слоя MEXCITY и вносит в него значение, равное 1, если население города превышает 1000000.
5. Добавить в проект VBA пользовательскую форму. На этапе проектирования добавить на форму две кнопки (CommandButton), две метки (Label) и список выбора (ListBox). После запуска проекта на выполнение, на форме появляется группа переключателей, подписи которых – имена слоев. Щелчок по переключателю выводит в ListBox список атрибутов соответствующего слоя. Щелчок по кнопке «Добавить атрибут» добавляет поле в таблицу атрибутов отмеченного слоя, название атрибута запрашивается. Щелчок по кнопке «Удалить атрибут» удаляет выбранное поле из таблицы атрибутов отмеченного слоя.

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 10:32
Александр Мурый
Мне кажется, или пункты 1-4 -- это чистой воды SQL и никаких макросов там не надо?

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 10:36
novia
Это практикум по программированию на VBA, или вам просто нужно функциональность реализовать?

Если второе и все должно работать в ArcMap, то для первых четырех задач не вижу смысла писать макросы, если можно собрать предварительно настроенные модели геообработки и запускать их из собственного набора инструментов ToolBox.
1. Написать макрос, который удаляет поле из таблицы атрибутов. Название слоя и удаляемого поля запрашиваются у пользователя.
есть же стандартный и доступный на любом уровне лицензий инструмент геообработки - Удалить поле (Delete field)
2. Написать макрос, который добавляет поле Pop2008 в таблицу атрибутов слоя (н-р, MEXCITY).
то же самое - Добавить поле (Add field)
3. Написать макрос, который
• увеличивает на 30% значения поля Population слоя MEXCITY и записывает эти значения в поле Pop2008.
• вычисляет значение поля, используя значения уже существующего поля
инструмент Вычислить значения поля (Calculate field). расчет на основе имеющегося значения для нового значения в одном и том же поле тоже поддерживается.
4. Написать макрос, который создает поле Type в таблице атрибутов слоя MEXCITY и вносит в него значение, равное 1, если население города превышает 1000000.
см. предыдущий инструмент

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 12:33
KatenoK
Это практикум по VBA. Надо именно на нем все написать. Типа создал кнопочку, вставил макрос и - клик - и все сделалось.

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 15:07
Дмитрий Барышников
А ведь вслед за Microsoft, ESRI начиная с 10 версии отказалось от VBA - вас учат ненужной технологии!
http://blogs.gis-lab.info/bishop/2011/1 ... tion-plan/

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 17:29
gamm
Bishop писал(а):А ведь вслед за Microsoft, ESRI начиная с 10 версии отказалось от VBA - вас учат ненужной технологии!
http://blogs.gis-lab.info/bishop/2011/1 ... tion-plan/
ESRI отказывается от развития ArcInfo Workstation и ArcIMS, переходят от ArcGIS Server Web ADF к API соответствующих компонентов (ArcGIS WebMapping APIs for JavaScript, Flex, Silverlight).
чудны дела твои, Господи ... если мне не изменяет мой склероз, то они поздно спохватились - Silverlight вроде закрыли, Flex - на подходе (разработка прекращена, продукт ушел в open source), про JavaScript - не помню :mrgreen:

Re: Кто знает VBA?

Добавлено: 17 ноя 2011, 19:04
Дмитрий Барышников
JavaScript и HTML5 сейчас основной тренд. Ну еще java наверное.

Re: Кто знает VBA?

Добавлено: 18 ноя 2011, 08:47
novia
если мне не изменяет мой склероз, то они поздно спохватились - Silverlight вроде закрыли, Flex - на подходе (разработка прекращена, продукт ушел в open source)
с точки зрения разработки под ArcGIS - пока все основные WEB API поддерживаются, о чем недавно написали в ArcGIS Server blog после публикации заявлений Adobe о прекращении развития flash для мобильных браузеров (и переходе на HTML5/Air Mobile).

Re: Кто знает VBA?

Добавлено: 18 ноя 2011, 10:15
KatenoK
Bishop писал(а):А ведь вслед за Microsoft, ESRI начиная с 10 версии отказалось от VBA - вас учат ненужной технологии!
http://blogs.gis-lab.info/bishop/2011/1 ... tion-plan/
Конечно ненужной! Это все знают, но ничего сделать не могут. Сколько я не поднимала вопрос о том, чтобы нас научили Python, работе в AutoCAD,чертить графики в какой-нибудь проге, а не на милиметровке и т.д. и.т.п. -все бестолку! У нас в беларуси так везде - сикось-накось и всем пофиг. Хорошо, что этот сайт нашла - научусь чему-нибудь полезному :)
Кстати, с заданием я, кажется, разобралась.

Re: Кто знает VBA?

Добавлено: 18 ноя 2011, 12:16
gamm
novia писал(а):после публикации заявлений Adobe о прекращении развития flash для мобильных браузеров
это устаревшая информация - Adobe его вообще перестает поддерживать, а поскольку M$ его и раньше не сильно любила, то скоро под уиндовсом он перестанет работать независимо от желаний ESRI :mrgreen:

Re: Кто знает VBA?

Добавлено: 18 ноя 2011, 12:40
Дмитрий Барышников
Вот еще: http://www.spatiallyadjusted.com/2011/1 ... s-covered/
Порадовало:
So Silverlight, Flash and Flex are dead.
Plus you can use their JavaScript (notice they now append HTML5 to the end?) API to stay “current”

Re: Кто знает VBA?

Добавлено: 20 ноя 2011, 17:45
Безликий
KatenoK писал(а):
Bishop писал(а):А ведь вслед за Microsoft, ESRI начиная с 10 версии отказалось от VBA - вас учат ненужной технологии!
http://blogs.gis-lab.info/bishop/2011/1 ... tion-plan/
Конечно ненужной! Это все знают, но ничего сделать не могут. Сколько я не поднимала вопрос о том, чтобы нас научили Python, работе в AutoCAD,чертить графики в какой-нибудь проге, а не на милиметровке и т.д. и.т.п. -все бестолку! У нас в беларуси так везде - сикось-накось и всем пофиг. Хорошо, что этот сайт нашла - научусь чему-нибудь полезному :)
Кстати, с заданием я, кажется, разобралась.
Немного не в тему.
Там с данными технологиями попросту никто не работает. Однако при наличии желания вполне можно попробовать исправить - литературы то достаточно.
Преподам разницы особой нету, начерчено оно рукой или в чём-нибудь. Конечно, при нулевом опыте, времени раз в 8 больше это занимает, но с другой стороны сразу двух зайцев бить.
Сам там учусь, настоятельно рекомендую не ждать с моря погода, а браться за дело.

Re: Кто знает VBA?

Добавлено: 23 ноя 2011, 21:42
kog9
Мда оказывается тут много людей из беларуси) я и не догадывался. Полностью согласен с тем что в основном учат нас фигне)

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

Re: Кто знает VBA?

Добавлено: 24 ноя 2011, 04:45
Boris
Ну, если предположить, что ВСЕ выпускники будут работать по профилю, то учитывая место VBA в новых версиях всего на свете, для обучения - не нужен.
Если же предположить более вероятное - 5% будут работать по специальности, 30% уйдут в декрет, остальные как-то будут связаны с парком не самых передовых компьютеров, то знание VBA сможет скрасить чью-то жизнь тем, что будет он/она большим экспертом в написании макросов для Word/Excel и т.п. Что то же является хлебом.