Початок роботи з ArcObjects?


26

Який найкращий маршрут або місце для початку роботи з ArcObjects, якщо він не розробник і не прагне стати розробником ?

Я використовую gis професійно протягом тривалого часу, майже два десятиліття, arcinfo / arcgis для більшості з цього; Я досить гарна. Я вивчаю розробку програмного забезпечення і навіть маю досить вдалий невеликий додаток python, який використовується в громадському проекті; Мені не добре! Я не хочу стати повноцінним розробником програмного забезпечення, але продовжую працювати над речами, які просто не можу зробити без програмування ( приклад ). У світі арггізів це дуже просто розміщує мене в таборі пітонів, що мені добре, оскільки мені подобається пітон, однак пітон не має прямого доступу до ArcObjects. (Python та ArcObjects можливий , але це непідтримуваний маршрут. Це питання стосується слідування пробитого шляху.)

Мені потрібно почати, але де? Довідка компанії Arcgis говорить, що почати роботу з Мережею розробників ESRI, але 1500 доларів США / рік, безумовно, не входить до мого бюджету, і це звучить як використання кувалди для полювання комарів. І якою мовою .NET, Visual Basic або Visual C ++?


ОНОВЛЕННЯ: Дякую всім за чудові відповіді. Зважаючи на них, я розумію, що я без зайвих зусиль звужував сферу мого питання, попередньо припустивши, що "ArcObjects" - це напрямок, в який я повинен піти. Більш відкрита формулювання - це більше:

Я продовжую стикатися з проблемами, які я просто не можу вирішити за допомогою аркгізу та пітона. Що ще я можу навчитися / використати для вирішення таких проблем, як X? У мене немає інтересу чи наміру стати розробником програмного забезпечення. Мені просто потрібно виконати пару речей, які не піддаються впливу модулів арггізського пітона.


це перероблене запитання від Stack Overflow, ( ref ), яке з будь-якої причини вони вирішили не мігрувати сюди. Тож я знову прошу отримати більш вичерпну відповідь від людей у ​​кращому становищі, щоб допомогти.
matt wilkie

Яке програмне забезпечення у вас є? ArcGIS Я повинен припустити. Visual Studio 2008/2010 Pro / Express?
Чад Купер

У мене є ArcGIS 9 і 10. Я не вибрав програмного забезпечення для розробки.
matt wilkie

Відповіді:


14

VB.Net надбудови точно. Прокладки ESRI приведуть вас у дорогу.

Я використовую VB6 та VBA роками і особисто мені здається, що VB досить інтуїтивно зрозумілий. Звичайно, VB .Net - це зовсім інша тварина, але структура надбудови порівняно проста для вивчення та розгортання. Я щойно взяв технічний семінар в ArcPy на конференції ESRI, і я повинен сказати, що буду дотримуватися додатків VB.Net. Я плакав річками, коли стало очевидно, що VBA буде замінено надбудовами, але після порушення кривої навчання я мушу сказати, що це найкраще вдосконалення для ArcGIS 10. Нічого, що я не можу зробити із цим налаштуванням. У мене є власні інструменти всюди. Те, на що скаржаться люди в ArcGIS, я просто налаштовую на свій смак. Написання інструменту та розповсюдження його в офісному середовищі - це легкий вітер ...

Все, що вам потрібно, це безкоштовна Visual Studio Express та встановлений SDK.

Ось посібник: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

Що стосується ArcObjects, то так багато прикладів та фрагментів коду, що ви можете додати безпосередньо у Visual Studio, що ви, можливо, зможете просто вивчити основи з прикладів.

У версії 8 ESRI фактично опублікував книги ArcObjects; 2 величезні томи, які були чудовою орієнтиром і включали багато прикладів для C та VB. Зараз їх можна знайти в Інтернеті, але я б хотів, щоб ESRI знову їх опублікував.


3
Погоджено по всіх пунктах, buuuuttt, я б сказав, перейдіть на C #, якщо у вас немає досвіду VBA / VB6.
Чад Купер

Так, я частковий до VB. Якби я був розробником і використовував різні платформи, я б точно перейшов з C #, але я вважаю (і так вважається загальноприйнята думка) VB зрозуміліше візуально і простіше зрозуміти і, як результат, краще підходить для новачків.
Jakub Sisak GeoGraphics

1
Додавання +1 до C #. Це, очевидно, улюблена мова .NET лідерами в галузі. Я використовував як VB, так і C # як початківець, і насправді думаю, що це легше вчитися і розуміти. Крім того, він ближче до інших мов на основі С, таких як JavaScript та Java.
wilbev

7

Ось безсоромний модуль для статті, яку я писав минулого року для ArcUser про початок роботи з ArcObjects в .NET .


Просто прочитайте його, і це чудова стаття. Продовжуйте з безсоромністю заради новачків, як я! Чи є у вас що-небудь щодо використання TOC в .net .. що, на мою думку, означає почати використовувати COM? Спасибі.
Джастін

6

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

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

Як стверджує Стів, ArcPy також може відповісти вашим вимогам в ArcGIS 10 завдяки новому доступу до властивостей шару на карті.


re: псевдоніми поля - слід додати, що як відповідь на питання Q. Я не знав, що це можливо.
matt wilkie

5

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

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

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

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

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

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

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


Я також хочу вивчити ArcObject. Але я з цим зовсім не знайомий. Чи потрібна мені додаткова ліцензія, щоб розпочати роботу з ArcObject? чи мені потрібно мати додатковий компонент ArcObject з ArcGIS 10.4?
Шиулі Первін

2
Так, вам знадобиться ліцензія на робочий стіл ArcGIS, проте ви можете отримати останню ArcGIS Desktop від веб-сайту esri з ліцензією на 60 днів. Достатньо для початку.
hnasr

4

Вам не потрібна підписка на EDN для розробки ArcObjects, а також для доступу до документації SDK.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html


Але вам потрібен EDN для доступу до SDK, чи не так? І, будьмо чесними, витягнення коду ззаду - не зовсім варіант для того, хто не зацікавлений нітком та крупою такої розробки.
Нафан

2
Ні, це на компакт-диску встановлення.
blah238

Він постачається з кожною версією продукту?
Нафан

Просто я вважаю основними випуски. Зразки є і в онлайн-довідці, хоча у .NET, схоже, немає їх списку, Java - це: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… Файл довідки, встановлений за допомогою SDK, набагато зручніший.
blah238

4
Якщо у вас є копія ArcGIS Desktop, тоді для розробки надбудов вам не потрібна підписка на EDN. Підписка на EDN - це просто спосіб надати розробникам копію майже всього в стеку ArcGIS, не записуючи значно дорожчі ліцензії на виробництво. EDN також хороша для розвитку, якщо у вас взагалі немає ліцензій на виробництво. Вам не потрібно EDN для кодування та розробки за допомогою ArcObjects API.
JimBarry





0

Не справжня відповідь, як ви вже заявляли, що не хочете бути розробником.
Я розмістив тут перевагу форматування над коментарями.
Цей блог щойно з'явився і є досить масштабним, щоб давати вказівки спільноті розробників щодо сервера arcgis.
Це окреслює наміри відійти від АПД і заохочує використання веб-служб.
Я сподіваюся, що це допоможе дещо легким чином прийняти ваше рішення.

Блоги ESRI - ArcGISServer

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