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.)

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++?

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.


9 Answers 9


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.


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


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.


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



Looking at the online resources for Esri I couldn't help but notice how ArcObjects doesn't have its share of rich and up to date resources as other ArcGIS technologies.

That is the reason I started the IGeometry Youtube channel to discuss ArcObjects, the series, which I called .NET Programming with ArcObjects, has reached its 14th episode so far and a lot of GIS folks are really benefiting from it.

The series are based on a fictional project that I created called "Bestaurants", where you have to create an application on top of ArcMap to search, manage, add, delete restaurants. With each episode we introduce a new interface and learn about the fine grained objects in ArcObjects in a fun way!

I post videos weekly, whenever the chance permits, as this is something I do on my own time.



I posted a similar question about ArcObjects Resources.

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


I would suggest learning ArcPy 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


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

Beginning ArcGIS for Desktop Development using .NET


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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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