Digital Geography

6. November 2014

SciPy integration in ArcGIS

Most of GIS users today will probably work with ArcGIS. Since version 10 the implementation / integration of Python into the ArcGIS framework and ArcPy it’s important for ArcGIS users to be aware of the capabilities of using Python in batch processing tasks, data manipulation and the broad possibilities of Python itself (eg. Numpy, Sympy etc.). SciPy will another topic for the future… ArcPy itself was the interface to the core functionalities of ArcGIS in the python world. So it was getting easier to interfere with the current layers and data in your ArcGIS environment using Python. Python itself can be enhanced using different „modules“ and arcpy is one of them which is shipped alongside with numpy and matplotlib in the latest ArcGIS versions. If your ArcGIS software was able to communicate with the internet it was always possible to use the SciPy module as well. So what’s the news?

scipy in arcgis

SciPy in ArcGIS with a model for edge detection

ArcGIS 10.3 will be shipped with SciPy already integrated. Now all the users behind firewalls and in secured networks will have the possibilities to use these functionalities in their Python scripts for ArcGIS. The functions are more or less connected to the modules that are part of the SciPy Stack:

  • NumPy: numerical calculations of arrays and matrices
  • SciPy: scientific/numerical algorithms
  • MatPlotLib: figure/plotting functions
  • Pandas: high performance data manipulation and analysis
  • SymPy: sombolic mathematics and computer algebra system
  • IPython: notebook, script automation and parallel computing
  • Nose: testing framework for unit and doc testing
As it is stated in the original blog post from ESRI it will get easier to use:
  • markov chains for traffic flow calculation
  • model crustal movement
  • image filtering for edge detection
  • algebra modules to set a quota
  • etc.

An additional benefit is, that it will be easier to share your models within the ArcGIS community without caring of the SciPy version installed by others in the community as you will use the same stack/preinstalled version. It will be interesting whether these scripts can be shared with SciPy users outside of the ArcGIS environment in a sustainable way or whether these SciPy versions are customized for the use in ArcGIS in some way.

Still I see an ongoing integration of open source developments in the proprietary software stack ArcGIS. The idea and this process sounds good, but it is interesting to see that there is no idea of building an own marcov chain toolbox as example for the ArcGIS suite. Instead they are integrating the work of others and selling it as part of the ArcGIS suite. What are your opinions on this?