I’m trying to find the best solution for adding/update a new/old record in a feature class in ArcMap 10.3 environment using a GUI. I’ve done some research for the last couple of days trying to identify the solution that will best fit my needs but because I haven’t got experience with developing for ArcMap I’ve ended up on this forum. My experience in programming is related to using VBA with Excel and AutoCAD and some Java and Python codding. The main structure of the input is described in the picture bellow. enter image description here Basically it should collect some data based on a user input, get some additional input based on the initial input and add a new record in a polygon feature class. Considering what I’ve understood so far it looks like I can use ArcObjects or a combination between Custom Script Tool and Python with a possibility of including PyQT as well . I’ve spent some time in trying to see if ArcObjects for .Net is the proper tool and looks like I will be able to get what I need but I was wondering if there is a better approach or if I can do it without ArcObjects. I am most worried about the select/create feature from the drawing with snapping capabilities and branching functionalities.

closed as primarily opinion-based by PolyGeo Jul 13 '16 at 19:32

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Seems like it would simplify things if a pre-condition for the tool were "one polygon feature is selected". That way you could eliminate the Create Feature and Select Feature buttons. If there are discrete steps, it might improve usability to implement it as a "wizard". Also be careful when you use the word "tool" - that can imply you're implementing ITool interface, which requires interaction by clicking on the map. Much simpler to stick with ICommand and only present the form if user has already selected a polygon feature. – Kirk Kuykendall Jul 13 '16 at 16:19
  • Questions asking for the best anything often result in opinions. For focussed Q&A I think you should look for a solution by making a choice and saying what you have tried and where you are stuck with it. The community can be trusted to propose alternatives if they think you are on the wrong track. – PolyGeo Jul 13 '16 at 20:14

I'm not sure if I would recommend ArcObjects/.NET if you have no experience with either ArcMap or .NET. But if you decide to go this way, start small, e.g. by creating an addin based on the Visual Studio templates that come with the ArcObjects SDK. After you do that a few times, throw everything away and do it again in the proper way ;-)

An addin built with ArcObjects/.NET could definitely do what you want, but you should get to know ArcMap before you start programming for it. As a beginner, I wanted to force ArcMap to work the way I wanted, but later I found that it is far better — or at least less stressful — to adjust my application to the way ArcMap works.

In this case, I think I would use standard ArcMap functionality to do the geometry-editing part. It is already very powerful, and there's no point in rebuilding features such as snapping and other advanced editing that ArcMap offers.

You can use Windows Forms to build your custom dialogs, and have them popup after certain events are raised by ArcMap, e.g. after the user has created a new feature. You can also use these events to set default attribute values, do validations etc.

Disclaimer: I don't know PyQT, so I can't say if that's better or worse than .NET. It probably depends on your own knowledge of these tools.

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