Analysis & Geoprocessing in ArcGIS Pro: Frequently Asked Questions

Last week, Esri offered a free online Live Training Seminar, Streamline GIS Workflows with ArcGIS Pro.  Several interesting questions were posted on the chat line regarding geoprocessing and spatial analysis in ArcGIS Pro, so I wanted to take a few minutes to answer some of the frequently asked questions.

….Just two help links before I start…

Learn about geoprocessing in ArcGIS Pro here.

Get help for any geoprocessing tool here.

OK, the questions.

Are all the geoprocessing tools from ArcMap in ArcGIS Pro?

The majority of geoprocessing tools that are available in ArcMap are also available and working in ArcGIS Pro. Some tools have not yet been updated to work in ArcGIS Pro, but they will be available in a future release. Other tools process a dataset that is not supported in ArcGIS Pro, so they have been permanently removed. You can get more details here.

Toolboxes in the Geoprocessing pane

Are there new tools in ArcGIS Pro?

Yeah! There are some great new tools in Pro, including:

Most of these new tools are also available in ArcMap 10.3, or will be added in a future release of ArcMap.

ArcGIS Pro is a 64-bit, multithreaded application. Does ArcMap 10.3 now also support 64-bit, multithreaded geoprocessing?

ArcMap and ArcGIS Pro are built on different technologies. Off the shelf (my.esri.com is a shelf, right?), geoprocessing in ArcGIS Pro is 64-bit and does not block the application while a tool is running — this is what it means to be multithreaded. ArcMap has a different technology to accomplish the same goal, called background geoprocessing, which was introduced in ArcGIS Desktop 10.0. You can download and install a 64-bit version of this technology, separate from the main installation of ArcMap. Learn more about that here.

Are geoprocessing tools faster in ArcGIS Pro?

Geoprocessing performance is roughly equivalent between ArcGIS Pro and ArcMap. 64-bit geoprocessing does not make tools faster only able to load more data into memory. 64-bit geoprocessing is more robust, results will be more accurate, and processes that used to hang or run out of memory may be able to complete successfully. Likewise, a multithreaded app does not make geoprocessing faster. More details on that below.

Tell me more about geoprocessing and multithreading

When you run a geoprocessing tool in ArcGIS Pro, it runs on a thread dedicated to geoprocessing. This means that when a tool is running you can do other things in the app, such as add new data to a map, navigate and make selections in the map, change a layer’s symbology or labels, create and modify a layout, and even find and fill in another geoprocessing tool. If you run a geoprocessing tool while another tool is running, it gets added to a queue and will start running after the first one finishes.

Two tools in the queue, one finishes so the next one starts

This behavior is the same for all geoprocessing tools run inside Pro: the tools that are included in ArcGIS, and the custom tools you build in Python and ModelBuilder.

One additional note: multithreaded is not the same thing as parallel processing! Parallel processing is a technique which splits up a big job into many smaller jobs and allows multiple CPUs or processes to work on the big job at the same time, often resulting in faster processing time. A growing number of geoprocessing tools leverage parallel processing to improve performance. In the first release of Pro, there are 25 tools that support parallel processing, including a number of geostatistics tools and Spatial Analyst tools.

Are there license level or extension changes for geoprocessing tools in Pro?

No. ArcGIS Pro has the same licensing levels as other ArcGIS Desktop applications – Basic, Standard, and Advanced. The license level and extension requirements for any geoprocessing tool is the same in ArcMap and ArcGIS Pro. Refer to the tool help page to learn what license and extension is required.

Does ArcGIS Pro have ModelBuilder?

Yes, you can build geoprocessing models in a ModelBuilder view, and run those models in the same ways you do in ArcMap. You can learn about ModelBuilder in ArcGIS Pro here and get migration tips here.

ModelBuilder in ArcGIS Pro

Will models built in previous versions of ArcMap work in ArcGIS Pro?

Yes, most of the time. There are a few exceptions:

  • If a tool in the model is not yet available in Pro, then the model will not work. You may need to wait until that tool is available in a future release of Pro, or you can remove the tool and try to find a workaround.
  • If a tool in the model has changed in Pro, then the model will not work until you update the model (simply open the model in Pro, validate, and save). Refer to a tool’s help page to determine what needs to be changed for the tool to work in Pro. One common issue is the Calculate Field tool has changed to support only Python expressions. Learn more about that specific change here.

Caution! Models that are built new, or opened and saved in ArcGIS Pro, cannot be directly used in ArcMap. But you can always save the containing toolbox as a previous version (10.3, 10.2, etc.) and then use that toolbox back in ArcMap. It’s safest to make a copy of the original toolbox before modifying any models in Pro.

What is the difference between Tasks and ModelBuilder?

Tasks and ModelBuilder are conceptually similar, but have different goals and capabilities.

Tasks are a set of preconfigured steps through a process or workflow in ArcGIS Pro. Task steps can include any GIS tasks, such as zooming to a specific feature, editing a layer, running geoprocessing tools, authoring a map, and sharing it online.

ModelBuilder on the other hand is specifically designed to author and automate geoprocessing workflows. It includes features to support powerful operations like batch processing and simulation, and can be used to create a custom geoprocessing tool that can be used by others with different data.

Model that re-projects and adds a new attribute field to every feature class in a geodatabase

Tasks are not a replacement for ModelBuilder, and ModelBuilder tools can even be included as one step in a Task.

Will Python scripts and toolboxes written for ArcGIS 10.x (using Python 2.x) work in ArcGIS Pro?

Usually, yes. ArcGIS Pro uses Python 3.4, while the other apps in ArcGIS Desktop & Server 10.3 use Python 2.x. Despite some significant differences between these versions of Python, many geoprocessing scripts can be used as-is in both ArcMap and ArcGIS Pro. In my experience there are a few common issues that will require you to update your scripts:

  1. Some geoprocessing tools have been removed from ArcGIS Pro. If your script includes one of these tools you will either need to find a workaround or simply wait until the tool or a replacement has been added to Pro.
  2. The arcpy.mapping module has been removed in Pro, and replaced with the new arcpy.mp module for working with maps in Pro’s new project-based design.
  3. Print statements will need to be changed to use the new print function.
  4. Working with Python dictionary items is a little different
  5. Use of urllib2 in Python 2 will need to be changed to use the new urllib library in Python 3.

 

Toolbox of custom Python script tools that were created in ArcMap 10.2 can be used as-is in ArcGIS Pro

There are other things you will need to update, these are just some common things I have run into. Read this help topic for more details.

To help you on the way of migrating Python scripts from 2 to 3, ArcGIS Pro and ArcMap 10.3 both have a new geoprocessing tool for analyzing a Python script file or toolbox and giving line-by-line instructions on required changes.

Are both personal and file geodatabases available as data sources for ArcGIS Pro?

Personal geodatabases are not supported in ArcGIS Pro, so you cannot use personal geodatabase datasets as inputs to geoprocessing tools or create those datasets as outputs.

File geodatabases are fully supported and are the default workspaces for ArcGIS Pro projects.

Do analysis services and new tools like Enrich Layer use ArcGIS Online service credits?

Yes. In ArcGIS Pro you can connect to and use several ready-to-use analysis services, including:

  • http://hydro.arcgis.com/arcgis/services
  • http://elevation.arcgis.com/arcgis/services
  • http://logistics.arcgis.com/arcgis/services

These services make it incredibly easy to perform analysis without needing to hunt for or prepare data, read documentation, or follow best-practices. For example, you can get street network routing without needing your own Network Analyst dataset, or perform a Viewshed analysis without needing to download and prepare a DEM for your study area. These services consume credits.

ArcGIS Pro also includes a new geoprocessing tool, Enrich Layer, which enables you to add demographic, landscape, and community tapestry information to your GIS data. For example, you can add a population field to a school district layer, and the population will be correctly apportioned from overlapping census data to calculate a sum. This tool consumes credits.

Can I publish a geoprocessing service?

The first release of ArcGIS Pro does not allow you to publish geoprocessing services. In fact, you cannot publish any services to an ArcGIS server, as you can only make user connections to these servers. Publishing functionality will be added at a later release.

Is the 3D Analyst extension required for ArcGIS Pro to work with 3D maps and layouts?

The 3D Analyst extension is only required for performing 3D analysis; if you want to run geoprocessing tools in the 3D Analyst toolbox, you need the 3D Analyst extension. Even if you don’t have this extension you can still navigate, author, edit, and share 3D maps.

Thanks for reading! I’ll be happy to answer more questions in the comments.

This entry was posted in 3D GIS, Analysis & Geoprocessing, ArcGIS Pro, Python and tagged , , , , , . Bookmark the permalink.

Leave a Reply

13 Comments

  1. bgodfrey says:

    Following the ‘geoprocessing tools’ hyperlink takes you to a page describing tools in the Geostatistical Analyst toolbox. On that web page it state “The tools mentioned above will automatically use up to 32 threads/CPUs.”

    Is “theads/CPUs” in this case analogous to ‘processes’. In other words, can up to 32 individual processes be spawned to perform parallel processing?

    Thanks.

    • Drew Flater says:

      Hi bgodfrey, thanks for your question about the geostatistics tools link.
      These tools use the Microsoft API to start separate execution threads on multiple CPUs. Multiple processes are not started. The tools can use as many cores/CPUs as your PC has to perform the parallel processing.
      This only applies to the geostatistics and Spatial Analyst tools referenced above.
      You can build custom Python geoprocessing tools that leverage the Python multiprocessing library to perform parallel processing that does use multiple instances of the Python process. A web search for “arcgis multiprocessing arcpy” returned many results, including this Esri blog from a few years ago: http://blogs.esri.com/esri/arcgis/2011/08/29/multiprocessing/

      • bgodfrey says:

        Thank you for that information. I have a number of custom geoprocessing tools that utilize the Python multiprocessing module that I use in ArcGIS for Desktop. To get them to run correctly as toolbox tools I uncheck “Run Python script in process” in the tool properties. Is there a similar setting in ArcPro? I can’t seem to locate it. Can I use the multiprocessing module in ArcPro in a way similar to what I do in ArcGIS for Desktop? Thanks.

  2. mtclimber03 says:

    Looking for a bit of clarification. As I understand it, the normal tools found in the geoprocessing toolbox do not consume AGOL credits. Is this correct?

    • Drew Flater says:

      A few standard geoprocessing tools do consume credits, including Enrich Layer and Summarize Nearby (if using a street network distance). All other geoprocessing tools do not consume AGOL credits in Pro.

  3. friendde says:

    With decreasing support for personal geodatabases such as this blog indicates, where can I information on connecting to a file geodatabase such as ODBC?

  4. mlhotz says:

    I’m just wondering which ArcToolbox tools are not optimized to run on 64-bit architecture. I need to make a list so I know what I can, and cannot do efficiently in ArcGIS Pro.

    Thanks.

  5. mlhotz says:

    I was always under the impression that if one could load an entire process into RAM it would be faster than the older 32-bit process of using virtual memory (swap space) to achieve the same tasks. Would ArcGIS Pro be just as fast as ArcMap (ArcGIS Desktop) because the processes usually take up more than 16 GB RAM ?

  6. rjaggiatwork says:

    Please assist me
    I am a new user of ARCGIS Pro
    when I move my arrowhead onto my layer, and it comes near a layer a description of that layer comes up, and it interferes with my ability to modify vertices, or snapping.
    How can I turn this (feature) off so it does Not display the layer name.
    I know my layers
    I have looked everywhere and clicked just about everything and cannot see where to turn it off
    any assistance is greatly appreciated Thank you
    Ralph Jaggi rjaggi.ptc@gmail.com

  7. hhsa.pej says:

    Hi I need a little guidance. I am building a model in Pro and I am a little confused on the apply symbology layer tool, I want to control the output symbology for make a feature layer for the buffers, the color of the buffers and the transperancy, I have the model with buffer tool then select location then make a feature layer. How do I modify the original layer that has point features into when it buffers and control the symbology of the buffer output?