1

enter image description hereI am working with ArcGis 10.2.

I would like to know how I can have the different steps of a modelbuilder's process displayed in successive windows once the previous main step is done? A bit like in a AV script.

Let's say, I have a process with 4 main steps (each has at least 6 to 10 Tools/steps) requiring each time different Inputs, Parameters and Outputs. What I will get as "GUI" tool will be a very long list of parameters to inform.

I would like to avoid this in order to have an easier tool to handle by "basic" ArcGis users.

I am quite Ok with the modelbuilder but sadly don't have skills in coding.

Many thanks

I have edited my post with a screenshot. I'd like to have the possibility to ask the user if the first Step (in the middle) needs to be done or not - regarding the answer either run the second step (last box), after execution of the first step or directly after the question " do you need to reclass your data?"

I hope this is helpful. Many thanks

  • I haven't tried it, but within this thread resources.arcgis.com/en/help/main/10.2/index.html#/… there is a section on linking a model within a model...have a look – user681 Jul 11 '14 at 9:20
  • 1
    As Dan said, you can create multiple "small" models (each representing a certain function, speaking in terms of Python) and then chain those models in one model which will act as a caller. This approach worked really well for me so far. However, I am not really following you on "have the different steps of a modelbuilder's process displayed in successive windows once the previous main step is done?" - could you draw a picture on how this would look like? – Alex Tereshenkov Jul 11 '14 at 9:37
  • 1
    Do you require to interact with modlebuilder midstream? For example, run the script and manually select a feature before continuing the geoprocess. – ericchiasson Jul 12 '14 at 20:10
  • @Dan Patterson, I have done that but it seems the whole Parameters are displayed all together. – PMessager Jul 14 '14 at 11:01
  • @Alex Tereshenkov, I made this screenshot and added the aspect of "if needed, then.." – PMessager Jul 14 '14 at 11:04
2

As far as I am aware you can not get the sequential display of interactive model dialogs that you want in standard model builder.

Chaining the submodels in model builder gives you the complete list of all the parameters in the GUI, as you have found out. To simplify the GUI, you would have to switch to a Python toolbox, which gives the option of categories. See the very end of the help topic: Defining parameters in a Python toolbox

The only way I know to display a series of interactive geoprocesing dialog windows is via dotNET. You can open a geoprocessing tool using IGpToolCommandHelper. This method shows the geoprocessing dialog boxes so the user can add or alter values for the tool.

Neither is really the solution you want as they both require some coding skill. Personally I have just numbered sub-models in sequence (01_setup, 02_something, 03_other,...) and got users to run them in order. And relied on training of users and good documentation.

  • Mark, good points! I forgot to mention using ArcObjects which will give you more options for sure. It will be a hard work to feed the results of the first run to the consequent runs (all the output and perhaps input/derived parameters should be kept somewhere). – Alex Tereshenkov Jul 14 '14 at 12:43
  • Thanks MArk. I did what you suggest here in a previous tool, splitting also the task into toolset and setting up a codification (P1-00, P1-01....) but it seems too tiresome for my Basic users, used to Arcview scripts. – PMessager Jul 15 '14 at 6:37
1

Unfortunately, at the moment (ArcGIS 10.2.2) you cannot initiate opening multiple models. You would need to have several models created within a toolbox and then user will need to run each of them.

I suggest taking a look at Python toolboxes. There you can create categories for parameters (this can move you a bit closer to what you want). You will be able to hide some parameters and create logic for updating/disabling parameters depending on what values user has specified for other parameters. The same thing can be achieved with custom Python script tool with ToolValidator class.

enter image description here

In other words, after you've run your model or script tool, there is no way to start other models or script tools windows with standard functionality. What you could do though, is that you could move into bleeding edge with using wxPython to create own windows with parameters that will be fed to a script tool. Playing with subprocesses might be helpful too - when one script finishes executing, the last thing it does is that it initiates a new subprocess which can be another wxPython window. However, this is going to be hard to implement since there aren't many users who have succeeded getting ArcGIS and wxPython on the level you need.

Anyways, I suggest moving from ModelBuilder to Python-based geoprocessing workflows - you will have many more options for customization and GUI behaviour tuning.

  • Alex, your reply points out that if I want to take my Tools to the next level, I need to acquire new competences. That sounds interesting and I'll give it a go. Thanks – PMessager Jul 15 '14 at 7:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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