Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

What is the best route or place to get started with arcobjects if one is not a developer and not aiming to become a developer?

I've been using gis professionally for a long time, almost two decades, arcinfo/arcgis for most of that; I'm pretty good. I'm learning software development, and even have a modestly successful small python application used in a public project; I'm not good! I don't want to become a full fledged software developer but I keep running into things I just can't do without programming (example). In the arcgis world this puts me pretty squarely in the python camp, which is fine by me since I like python, however python does not have straightforward access to arcobjects. (Python and arcobjects is possible, but it's an unsupported route. This question is about following a beaten path.)

Soooo, I need to get started, but where? Arcgis help says to get started with the ESRI Developer Network but $1500/yr is definitely not in my budget, and sounds like using a sledge hammer to swat mosquitos. And which language .NET, Visual Basic, or Visual C++?


UPDATE: Thank you everyone for the wonderful answers. In light of them I realise I unecessarily narrowed the scope of my question be pre-supposing "arcobjects" is the direction I need to go in. A more open ended formulation is more along the lines of:

I keep running into problems I just can't solve with arcgis and python alone. What else can I learn/use to solve problems like X? I've no interest or intention of becoming a software developer. I just need to do a couple things which aren't exposed to the arcgis python modules.

share|improve this question
    
this is a recycled question from Stack Overflow, (ref)which for whatever reason they've decided not to migrate here. So I'm asking again to get more comprehensive answer from the people in a better position to help. –  matt wilkie Apr 27 '11 at 15:05
    
What software do you have at your disposal? ArcGIS I have to assume. Visual Studio 2008/2010 Pro/Express? –  Chad Cooper Apr 27 '11 at 15:10
    
I have ArcGIS 9 & 10. I haven't selected any development software. –  matt wilkie Apr 27 '11 at 15:38
add comment

9 Answers 9

up vote 10 down vote accepted

VB.Net Add-Ins for sure. The ESRI walk-troughs will get you on the way.

I've been using VB6 and VBA for years and personally I find VB fairly intuitive. Of course VB .Net is an entirely different animal but the add-in structure is relatively simple to learn and deploy. I just took a technical workshop in ArcPy at an ESRI conference and I have to say that I will be sticking with the VB.Net add-ins. I was crying rivers when it become apparent that VBA will be replaced by add-ins but after breaching the learning curve I must say that it is the single best improvement to ArcGIS 10. There is nothing I cannot do with this setup. I have custom tools all over the place. The things people complain about in ArcGIS I simply customize to my liking. Writing a tool and distributing it in an office environment is a breeze...

All you need is the free Visual Studio Express and the SDK installed.

Here is the walk-trough: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

As for ArcObjects, there are so many examples and code snippets that you can add directly into Visual Studio that you might just be able to learn the basics from the examples.

In version 8 ESRI actually published ArcObjects books; 2 huge volumes that were a great reference and included many examples for C and VB. All can now be found online but I wish ESRI would again publish these.

share|improve this answer
2  
Agreed on all points, buuuuttt, I would say go C# if you don't have prior VBA/VB6 experience. –  Chad Cooper Apr 27 '11 at 18:11
    
Yes I am partial to VB. If I was a developer and used various platforms I would for sure go with C# but I find (and so is the popular opinion) VB clearer visually and easier comprehend and as a result better suited for a beginner. –  Jakub Apr 28 '11 at 16:47
    
+1 this makes sense. –  Kirk Kuykendall Apr 28 '11 at 22:48
1  
+1 on going with C#. It's clearly the favorite .NET language by leaders in the industry. I have used both VB and C# as beginner and actually think it's easier to learn and understand. Also it closer to other C-based languages like JavaScript and Java. –  wilbev Apr 29 '11 at 4:51
add comment

If you don't want to be a serious developer then I would question your move in stepping into the world of programming. The issue here is that to write code you should understand what is happening under the hood. Otherwise you could do something to your data, application and even your computer that you had no intention of doing, just from a lack of understanding (yes you could do in Python too but .NET is a step further in making mistakes a bit easier to comimt).

In terms of your question about field aliases (I'm not sure if I have understood it correctly) were you asking to change the aliases of fields in a feature class? If so then you could use featureclass_to_featureclass with field mapping. Yes it creates another feature class but you could just have an output area to copy data and change aliases whilst it's doing it.

As Steve suggests ArcPy may also answer your requirements in ArcGIS 10 with the new access to layer properties in the map.

share|improve this answer
    
re:field aliases - you should add that as an answer to the Q. I didn't know that was possible. –  matt wilkie Apr 28 '11 at 22:16
add comment

Here's a shameless plug for a article I wrote last year for ArcUser on getting started with ArcObjects in .NET.

share|improve this answer
    
Just read it and it is a great article..keep on with the shamelessness for the sake of newbies like me! Do you have anything on using the TOC in .net..which I think means to start using COM? Thanks. –  Justin Oct 9 '11 at 20:53
add comment

You don't need an EDN subscription to develop with ArcObjects, nor for accessing the SDK documentation.

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

share|improve this answer
    
But you DO need EDN to access the SDK itself, do you not? And, let's be honest, pulling the code out of your behind is not exactly an option for someone who is not interested in the nit and grit of such development. –  Nathanus Apr 27 '11 at 16:31
2  
No, it's on the install CD. –  blah238 Apr 27 '11 at 17:02
    
It ships with every version of the product? –  Nathanus Apr 27 '11 at 17:04
    
Just the major releases I believe. The samples are in the online help as well, although the .NET one doesn't seem to have a list of them, the Java one does: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… The help file installed with the SDK is much more handy though. –  blah238 Apr 27 '11 at 17:14
4  
If you have a copy of ArcGIS Desktop then you do not need an EDN subscription to develop add-ins. An EDN subscription is simply a way to give developers a copy of just about everything in the ArcGIS stack without burning much more expensive production licenses. EDN is also good for developing if you own no production licenses at all. You do not need EDN to code and develop with the ArcObjects API. –  JimBarry Apr 28 '11 at 2:56
show 1 more comment

I posted a similar question about the best ArcObjects resources:

ArcObjects Resources

The code snippets provided by the ArcGIS Resource Center are very helpful, and offered in C# and VB.NET.

share|improve this answer
add comment

I would suggest learning arc.py if you don't already know arcobjects since esri is moving away from vba arcobjects as a scripting language. Otherwise you'd want visual studio and c# to start writing arc objects. This is a great book. http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007

share|improve this answer
add comment

The Pennsylvania State University recently released for free acces its GIS Application Development course.
It teaches basics of ArcObjects in VB.NET

share|improve this answer
add comment

A new book on ArcObjects is available now (covers 10.1 as well).

Beginning ArcGIS for Desktop Development using .NET

share|improve this answer
add comment

Not a real answer as you have already stated you don't want to be a developer.
I have posted here for the formatting advantage over comments.
This blog just came and is quite extensive in giving direction to the development community concerning arcgis server.
It outlines the intent to move away from ADF and encourages embracing web services.
I hope it helps in some slight way your decision.

ESRI Blogs - ArcGISServer

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.