Навчання .NET для використання ArcGIS (головним чином настільних)?


12

У мене є основні навички програмування (я програмую прості сценарії vba python та lisp і давно пройшов курс java), але мені здається (судячи з публікацій ESRI), що не потрібно уникати необхідності вчитися .NET для майбутня актуальність на ринку праці в ГІС (навіть як аналітик).

Я пройшов базовий курс c # і можу програмувати (на жаль) досить погані програми, але я не маю уявлення, як пов’язати знання c # з власне програмуванням для арггітів, щоб прогресувати.

1) Я знаю, що відмінності не великі, але чи використовує ArcGIS .NET або C #?

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

3) На ваш погляд, який найкращий спосіб навчитися програмувати в .NET для ArcGIS? Чи є корисні книги чи веб-сайти?

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

Відповіді:


9

ESRI має купу відео , і я думаю, що це найкращі ресурси для початку роботи. Я рекомендую переглянути відеоролики з конференції розробників ESRI На момент написання 2010 року - це найновіше

Кожне з цих відео закінчує, куди йти далі (додаткові ресурси).


7

4

Якщо ви хочете написати речі, які уникають зневаги та насмішок програмістів, те, чим ви можете пишатися у своєму портфоліо, вам захочеться отримати справді міцне розуміння об'єктно-орієнтованого дизайну та розробки (якщо ви цього ще не зробили) . Освоєння конкретних мов та рамок може з’явитися пізніше.

У будь-якому випадку використовуйте .NET і ArcObjects як мову / API для роботи під час вправ програмування в деяких хороших книгах з розробки програмного забезпечення. Ось кілька для початку:

  • Прагматичний програміст : кращі практики написання коду та деякі добрі речі в життєвому циклі програмного забезпечення.
  • Код повний : подібний до вищезазначеного, але із значно більшою деталізацією та прикладами.
  • Тестова розробка : TDD змушує вас дотримуватися деяких практик, які рекомендують дві вищезгадані книги.
  • Початок шаблонів дизайну : Якщо вам доведеться мати справу з ArcObjects, вам потрібно буде знати про схеми дизайну. API хворий на них.

Код повний досить великий, але решту з них можна швидко прочитати. Я б фактично рекомендував перші дві книги для людей із ГІС, які ніколи не напишуть рядок коду. Тут є чудові речі щодо управління джерелами, управління проектами, комунікації та принципів хорошого дизайну.


Я не міг більше погодитися. Візьміть підхід до трав’яних коренів, і це виплатить дивіденди.
Келсо

4

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

Додам, що я вивчав географію, ГІС та деякі комп’ютери в університеті, і думаю, що важко зрозуміти ГІС-розробник із «класної роботи» або з дуже загального підходу до речей. Якщо ви працюєте з роботодавцем, який працює з ГІС, я б запропонував поговорити з людьми з ГІС там, щоб визначити потребу, яка зробить для вас добрий тестувальник, навіть якщо вам доведеться працювати над цим у свій час. Заперечуючи це, я б спробував придумати якийсь конкретний функціонал, який ви хотіли б мати, або який, на вашу думку, було б цікаво скласти разом, а потім попрацюйте над тим, щоб дізнатися, що вам потрібно знати, щоб досягти цього.


Я маю подібний досвід. Це добре працювало для мене!
Джордж Сільва

3

Існуючий код ( крім інших відповідей ... не замість ).

В Інтернеті їх багато в таких місцях, як Google Projects , Codeplex та Github .

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


2

1) ArcGIS або ArcObjects - це модель COM, з обгорткою .Net, Java та C ++. Таким чином, будь-яка мова .Net або Java або C ++ можна використовувати. Див. Довідку ArcObjects .Net , Java , C ++

2) Я б запропонував книгу рефератів з великим вмістом, як, наприклад, Починаючи з C # або VB.Net від Wrox.

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


2

Я б запропонував не покладатися на зразки ESRI для вивчення навичок програмування взагалі або .NET зокрема. Це не гріх про зразки чи людей, які їх готували; Зразки мають на меті показати, як певна річ могла чи повинна працювати. Для стислості багато речей залишається без зразків. Крім того, більшість зразків ESRI, які я бачив, не є об'єктно-орієнтованими, а кодами спагетті.

Це звучить нерозумно, але шлях, який я перейшов з Visual Basic 6 на VB.NET і C #, полягав у вивченні книг сертифікації. У той час було зроблено великий акцент на те, що відрізнялося між COM та .NET, оскільки це було новим. Гарне обґрунтування мови вибору для розробки допоможе вам орієнтуватися по мінному полі зразків та документації компанії програмного забезпечення.

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


Я погоджуюсь, програмування взагалі - це не те, чого ви отримуєте від навчання у більш абстрактному середовищі, ніж програми GIS; окрім того, найбільш успішні програмісти з ГІС, які я знаю, не походили зі специфічних для
GIS

1

Дивлячись на Інтернет-ресурси для Esri, я не міг не помітити, як ArcObjects не має частки багатих та сучасних ресурсів, як інші технології ArcGIS.

Саме тому я запустив канал IGeometry Youtube для обговорення ArcObjects, серія, яку я назвав .NET програмуванням з ArcObjects, досягла свого 14-го епізоду досі, і багато людей із ГІС справді отримують від цього користь.

Серія заснована на вигаданому проекті, який я створив під назвою "Bestaurants", де вам потрібно створити додаток поверх ArcMap для пошуку, управління, додавання, видалення ресторанів. З кожним епізодом ми вводимо новий інтерфейс та цікаво дізнаємось про дрібнозернисті об’єкти в ArcObjects!

Я публікую відео щотижня, коли це дозволяє, тому що це я роблю самостійно.

Не соромтеся перевірити це зараз і поділитися ним з будь-якими видовищами GIS, які ви можете знати. Завжди вітаються пропозиції щодо покращення серії.

Хто знає, можливо, як тільки ми закінчимо це, я можу почати ще одну серію.

Насолоджуйтесь,

.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


1

Починаючи ArcGIS для розробки робочого столу з використанням .NET , книги Pouria Amirian, допомогло мені потрапити в розробку додатків ArcGIS / ArcMap. Я думаю, що це один з найкращих довідників для початківців, починаючи з базових .NET-концепцій і зв’язуючи їх у ArcObjects. Він пропонує зразки кодів C # та набори даних.


чи включає ця книга ArcGIS та програмне забезпечення для візуальної студії?
Салман

Ні, це програмне забезпечення не надає.
EvilInside


0

Web ADF - це .NET SDK ESRI. Він буде застарілим після наступного випуску.

Однак якщо ви використовуєте 9.3.1, веб-ADF буде вашим набором інструментів для .NET. В Інтернеті є багато ресурсів, ESRI та інших.

Що стосується вдосконалення програмування взагалі, ніколи не припиняйте читати! Читайте програмні блоги та веб-сайт Використовуйте переповнення стека . Ніколи не бійтеся ставити запитання. Читайте Code Complete та інші високо оцінені книги з програмування та розробки програмного забезпечення. Прочитайте все, до чого можна дістатись! Удачі!


0

Перехід з VBA на .NET досить складний. Я знаю, що python викликає всю гнів у v10, але сподіваючись, що ESRI зібрає щось разом для шляху переходу до .NET з надбудовами . В ідеалі еквівалент чудовій книзі "Ознайомлення з аркоб'єктами", яка спеціально стосується VBA.

Прочитайте цей (2008) pdf про перехід від VBA до NET Я також рекомендую прочитати це посилання у веб-програмі v10

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.