Изучаете .NET для ArcGIS (в основном для настольных компьютеров)?

12

У меня есть базовые навыки программирования (я программирую простые скрипты на VBA Python и LISP и прошел курс Java уже давно), но мне кажется (судя по публикациям ESRI), что нет необходимости избегать необходимости изучать .NET для будущая актуальность на рынке труда ГИС (даже в качестве аналитика).

Я прошел базовый курс по c # и могу программировать (к сожалению) довольно плохие программы, но я не знаю, как связать знания c # с фактическим программированием для arcgis, чтобы прогрессировать.

1) Я знаю, что различия невелики, но использует ли ArcGIS .NET или C #?

2) Я знаю, что лучший способ расширить свой опыт в .NET - это программировать все больше и больше, но есть ли хорошие книги или курсы по программированию .NET, на которых я могу научиться методам?

3) Как, по вашему мнению, лучше всего научиться программировать в .NET для ArcGIS? Есть ли полезные книги или сайты?

Я ценю ваши комментарии относительно ArcGIS 10 (и буду сохранять их на потом), но если бы вы могли дать мне несколько советов по ArcGIS 9.3.1, это было бы здорово (я нахожусь в очень затруднительном положении, в то время как Esri и Весь мир сфокусирован на ArcGIS 10.0 (включая местных представителей Esri), почти никто в стране не обновился с 9.3.1 и не планирует делать это, и лично у меня возникают проблемы с поиском соответствующих ответов на 9.3.1).

user749
источник

Ответы:

9

У ESRI есть куча видео , и я думаю, что это лучшие ресурсы для начала. Я бы порекомендовал посмотреть видео с конференции разработчиков ESRI. На момент написания статьи 2010 год был самым последним

Каждое из этих видео заканчивается тем, куда идти дальше (дополнительные ресурсы).

Саймон
источник
7

Вот несколько ресурсов, чтобы вы начали.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_custom_UI_elements_using_add_ins/0001000001ms000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_editor_extensions_using_add_ins/000100000391000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Visual_Studio_integration/000100000m7n000000/

Zachary
источник
4

Если вы хотите написать материал, который избегает презрения и презрения программистов, материал, которым вы можете гордиться в своем портфолио, вы захотите получить действительно твердое понимание объектно-ориентированного проектирования и разработки (если вы этого еще не сделали) , Освоение определенных языков и фреймворков может произойти позже.

Безусловно, используйте .NET и ArcObjects в качестве языка перехода / API при работе с упражнениями по программированию в некоторых хороших книгах по разработке программного обеспечения. Вот несколько для начала:

  • Прагматичный программист : лучшие практики при написании кода и некоторые полезные вещи в жизненном цикле программного проекта.
  • Код завершен : аналогично вышеописанному, но содержит гораздо больше деталей и примеров.
  • Разработка через тестирование: TDD вынуждает вас следовать некоторым методикам, рекомендованным двумя вышеупомянутыми книгами.
  • Head First Design Patterns : Если вам приходится иметь дело с ArcObjects, вы захотите узнать о шаблонах проектирования. API болеет ими.

Code Complete довольно большой, но остальные могут быть быстро прочитаны. На самом деле, я бы порекомендовал первые две книги для людей, занимающихся ГИС, которые никогда не будут писать ни строчки кода. Там есть кое-что интересное о контроле исходного кода, управлении проектами, коммуникации и хороших принципах дизайна.

bwreilly
источник
Я не мог согласиться больше. Используйте подход на низовом уровне, и это принесет дивиденды.
Келсо
4

Просто хотел добавить немного из моего личного опыта. Я учился в основном как побочный продукт потребностей работодателя. Сначала с помощью скриптов ArcGIS Desktop, затем расширений, затем программирования ArcGIS Server (SOE, Web ADF и web API). На мой взгляд, лучшим ресурсом действительно были API и справочная документация. Когда я впервые попал в неизвестную область, я прочел немного концептуальной справки, а затем погрузился в кодирование и, при необходимости, обратился к документации по API. Тогда, если бы я застрял, я бы использовал форумы Esri. Существующие примеры кода иногда были бы полезны, но я обычно не мог найти то, что применимо к тому, над чем я работал, - сейчас это может быть не так много. Видео Esri и этот замечательный сайт также еще не были доступны, так что это, безусловно, дополнительные ресурсы.

Я добавлю, что я изучал географию, ГИС и некоторые компьютерные науки в университете, и я думаю, что трудно действительно хорошо понять разработчика ГИС из "классной работы" или из общих подходов. Если вы работаете с работодателем, работающим с ГИС, я бы посоветовал поговорить с ребятами из ГИС, чтобы определить необходимость, которая создаст для вас хороший маленький испытательный стенд для разработчиков, даже если вам придется работать над ним в свое свободное время. За исключением этого, я бы попытался придумать какую-то конкретную функциональность, которую вы хотели бы иметь или которую, по вашему мнению, было бы интересно собрать вместе, а затем поработать над поиском того, что вам нужно знать, чтобы достичь этого.

zwaap
источник
У меня похожий опыт. Это хорошо сработало для меня!
Джордж Сильва
3

Существующий код ( в дополнение к другим ответам ... не вместо ).

В Интернете есть много таких мест, как Google Projects , Codeplex и Github .

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

Джей Камминс
источник
2

1) ArcGIS или ArcObjects - это модель COM с оболочкой .Net, Java и C ++. Таким образом, можно использовать любой язык .Net, Java или C ++. См. Справку ArcObjects .Net , Java , C ++

2) Я бы предложил справочную книгу с большим количеством контента, например Begining C # или VB.Net от Wrox.

3) Я бы начал с просмотра образцов в документации. Особенно надстройки .

MathiasWestin
источник
2

Я бы посоветовал не полагаться на образцы ESRI для изучения навыков программирования в целом или .NET в частности. Это не удар по образцам или людям, которые их подготовили; образцы предназначены, чтобы показать, как конкретная вещь может или должна работать. Для краткости многое из образцов оставлено. Кроме того, большинство примеров ESRI, которые я видел, являются не объектно-ориентированными, а спагетти-кодом.

Это звучит глупо, но я перешел с Visual Basic 6 на VB.NET и C #, чтобы изучить книги по сертификации. В то время большое внимание уделялось тому, что отличало COM и .NET от новых. Хорошее владение выбранным языком разработки поможет вам ориентироваться в минном поле образцов и документации софтверных компаний.

Также познакомьтесь с COM Interop; ESRI действительно имеет некоторую информацию об этом, но это специфично для ESRI. В ArcGIS COM Interop может не быть вашим другом, но вы будете страдать от отладки без него.

Тим Рурк
источник
Я согласен, что программирование в целом не является чем-то полезным для обучения в более абстрактной среде, чем ГИС-приложения; кроме того, большинство успешных ГИС-программистов, которых я знаю, не пришли из ГИС или географии
WolfOdrade
1

Просматривая онлайн-ресурсы для Esri, я не мог не заметить, что ArcObjects не имеет своей доли богатых и современных ресурсов, как другие технологии ArcGIS.

По этой причине я открыл канал IGeometry Youtube для обсуждения ArcObjects, серии, которую я назвал .NET Programming with ArcObjects, которая дошла до своего 14-го эпизода, и многие люди из ГИС действительно получают от этого пользу.

Эта серия основана на вымышленном проекте под названием «Bestaurants», в котором вам нужно создать приложение на ArcMap для поиска, управления, добавления, удаления ресторанов. В каждом эпизоде ​​мы представляем новый интерфейс и узнаем о мелкозернистых объектах в ArcObjects в увлекательной игровой форме!

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

Не стесняйтесь проверить это сейчас, и поделиться им с любым специалистом ГИС вы можете знать. Всегда приветствуются предложения по улучшению серии.

Кто знает, может быть, когда мы закончим, я мог бы начать еще одну серию.

Наслаждаться,

.NET программирование с помощью ArcObjects (IGeometry) - 01 - Начало работы

.NET программирование с помощью ArcObjects (IGeometry) - 02 - Работа со слоями

.NET программирование с помощью ArcObjects (IGeometry) - 03 - Фильтрация слоев

... ...

Посмотреть весь плейлист (пока 14 серий)

http://www.youtube.com/watch?v=XrZs1rwmOwg&index=1&list=PLQnljOFTspQXqYsWJG8o-eJpGlvzww9lE

hnasr
источник
1

Начало разработки ArcGIS for Desktop с использованием .NET , книги Pouria Amirian, помогло мне заняться разработкой приложений ArcGIS / ArcMap. Я думаю, что это один из лучших справочников для начинающих, чтобы начать с базовых концепций .NET и связать их с ArcObjects. Он предлагает образцы кодов C # и наборы данных.

EvilInside
источник
Включает ли эта книга программное обеспечение ArcGIS и Visual Studio?
Салман
Нет, он не предоставляет никакого программного обеспечения.
EvilInside
0

Web ADF - это .NET SDK ESRI. Это будет устаревшим после его следующего выпуска.

Однако, если вы используете 9.3.1, Web ADF будет вашим набором инструментов для .NET. Есть много ресурсов онлайн, ESRI и других.

Что касается улучшения в программировании в целом, никогда не прекращайте читать! Читайте программирование блогов и сайта. Используйте переполнение стека . Никогда не бойся задавать вопросы. Прочитайте Code Complete и другие уважаемые книги по программированию и разработке программного обеспечения. Прочитайте все, что вы можете получить в свои руки! Удачи!

jscharf
источник
0

Переход с VBA на .NET довольно сложен. Я знаю, что Python - самая модная версия v10, но надеюсь, что ESRI соберет что-то для пути перехода к .NET с надстройками . В идеале это эквивалент большой книги «Знакомство с объектами Arcobjects», специально посвященной VBA.

Прочитайте этот (2008) PDF-файл о миграции с VBA на NET. Я также рекомендовал бы прочитать эту ссылку в веб-справке v10.

Саймон
источник