Разрабатываете расширение ArcMap для.Net книг?

У нас есть 2 новых программиста / аналитика ГИС в нашем отделе (новичок в программировании и ArcObjects), и я не чувствую, что достаточно квалифицирован или у меня нет времени на их обучение. Поэтому я ищу книги / учебники начального уровня для их использования в качестве справочного материала.

Единственные книги, которые я могу найти для разработки расширений для ArcMap, написаны для VBA.

Помимо учебников по ESRI, которые вы получаете от обучения в Redlands, кто-нибудь знает хорошие источники для обучения кодированию против ArcObjects в.Net?

Спасибо

7 ответов

Решение

Попытка научить программистов как ArcObjects, так и общей разработке программного обеспечения - действительно плохая идея. Я борюсь с точно такой же проблемой прямо сейчас. Вы рискуете получить двух разработчиков, которые не очень хорошо программируют ни ArcObjects, ни C#.

Научите их быть хорошими разработчиками в первую очередь. Сделайте это, заставив их работать с кодом, не относящимся к ArcObjects (независимо от того, означает ли это, что ArcGIS ADF высокого уровня или полные приложения, не относящиеся к ГИС, зависит от вас) Убедитесь, что они понимают основы контекста приложения (веб, рабочий стол, средний уровень и т. Д.). Это облегчит переход к ArcObjects.

Как только они овладеют основами разработки программного обеспечения (в частности, наследованием и ООП), представьте их ArcObjects. Ссылка на VBA адекватна, но трудно абстрагироваться от C# и современных инструментов. Яркий разработчик может сделать это, но ваш средний, вероятно, выучит много вредных привычек.

Лучше всего кусать пули и отправлять их на семинары для разработчиков. Иногда ESRI предлагает занятия в региональном офисе, который может быть более локальным для вас. Кроме того, отправьте их на саммит разработчиков или конференцию пользователей весной и летом соответственно. Технические семинары немного продвинуты для начинающих. Тем не менее, многое можно узнать из мастерских, если разработчики имеют очень базовое понимание ArcMap или ArcObjects.

Также им нужно научиться пользоваться ArcMap. Самая важная полезная вещь, которую они могут сделать для изучения ArcObjects, - это изучение ArcMap. Понимание того, как он работает в настольном продукте, часто позволяет понять, как использовать API. Простой пример - проецирование данных. В ArcMap вы должны использовать инструмент для явного проецирования данных. Простая "установка" проекции не работает. Это переводит непосредственно в API, где вы должны вызвать метод "проекта" или использовать проект GPTool.

Я согласен с общими чувствами, которые все выражают здесь (начните с программирования, начните с малого, особенно учитесь на примере / делах).

Разработчикам гораздо проще научиться изучать ArcObjects, чем научным сотрудникам ГИС изучать программирование. Ваша задача (сделать оба) довольно сложна!

Тем не менее, если вам нужно с чего-то начать, я сначала обучил бы их основам C# или VB .NET (с помощью хорошего веб-учебника или платного курса), а затем продолжил обучение по ESRI .NET. Как я сказал в комментарии выше, я не был впечатлен учебными курсами ESRI. У меня есть опыт разработки программного обеспечения, и я смог изучить API ArcObjects за пару месяцев - по сравнению с двумя месяцами практических знаний, учебный курс был действительно базовым на материале ArcObjects. Тем не менее, это может работать для учеников, и вам может повезти с наймом.

Я также хочу добавить, что вы определенно хотите в первую очередь уделить внимание обучению программному обеспечению и считаете, что ArcObjects API является случайным. Если это расширение ArcMap является продуктом, который вы намереваетесь продавать людям и иметь в качестве клиентов, понимаете, что поддержка, расширение и обслуживание продукта, изобилующего ошибками, является дорогостоящей операцией. Таким образом, любой доллар, потраченный на обучение программному обеспечению, окупится в долгосрочной перспективе.

Я бы даже сказал вам подумать о найме разработчика программного обеспечения на контрактной основе, который будет служить в качестве руководства и наставника, скажем, на шесть месяцев.

Насколько я помню, некоторый код в ESRI Developer Network теперь находится на C#, по крайней мере, это был я основной источник кода C# для ГИС, но нет книг, извините.

Возможно, это был бы хороший учебник для начинающих: http://www.pragprog.com/titles/sdgis/gis-for-web-developers

Если ваши сотрудники действительно плохо знакомы с программированием, я бы начал с того, что они изучат основы C# (или некоторого другого языка.Net, но C#, вероятно, способ для начинающих) и хорошую практику программирования. Я полагаю, что существуют потоки stackru, в которых есть предложения для этого. Я думаю, что глубокое понимание объектно-ориентированного программирования и знание синтаксиса языка, на котором будут содержаться примеры, облегчат изучение ArcObjects.

Я действительно не знаю книг, не относящихся к ESRI, по ArcObjects. Однако я думаю, что их ресурсы достаточны, чтобы начать начинающих. В дополнение к учебникам по ESRI я бы предложил начать с онлайн-ресурсов по адресу http://resources.esri.com/arcgisdesktop/dotnet/index.cfm

Другие предложения - научиться читать диаграммы объектной модели и использовать справку для изучения методов и свойств объектов ArcObject. Также поощряйте сотрудников пользоваться форумами пользователей ESRI. Там много знающих людей, готовых помочь с вопросами.

Также не знаю о книгах не-ESRI, ориентированных на ArcObjects. Для программного обеспечения ArcGIS Server и для меня я могу рекомендовать только руководство администратора и разработчика ArcGIS Server (то есть AFAIK, включенный в установочную коробку AGS) - существует множество примеров кода, как для C#, так и для VB. Даже если не программировать с помощью AGS, примеры могут быть полезны для изучения работы кода ArcObjects.

Практика на примере.

Мне было весело, когда я впервые начал с простых, но интересных инструментов, таких как тот, который сделал скриншот текущей карты и разместил ее на сайте MediaWiki (всего одним щелчком мыши). Большая часть API выглядит как Deep Magic, и я не раз сталкивался с совершенно недокументированными функциями, просматривая реестр Windows и делая догадки (например, как создать пользовательский пункт меню в контекстном меню "Представление данных").

Я всегда выучил много лучше, выполняя простые, выполнимые задания, чем заставляя читать скучные, сухие книги.

В нем много силы, но я, конечно, не спешил узнавать и понимать многое из этого.

Не делая это интересным, я думаю, что разработчики пойдут на самоубийство с таким большим API.

Я полностью согласен с Джеймсом.

Как человек, который был в этой лодке 4 года назад, я твердо убежден, что вы должны начать с программирования на.NET, а затем перейти на платформу ESRI, а не увязать в проблемах ESRI, когда вы пытаетесь изучить концепции ООП.

Я также хотел бы отметить, что ресурсные центры разработчиков ESRI имеют огромное количество информации для начинающих [ http://resources.esri.com/gateway/index.cfm%5D

Если вы начинаете с.NET и рабочего стола developmnt, вы можете увидеть "страницу начала работы" под [ http://resources.esri.com/help/9.3/ArcGISDesktop/dotnet/concepts_start.htm%5D

удачи.

Другие вопросы по тегам