ESRI's ArcGIS plus open source spatial analysis tools
The Esri User Conference is one of the world’s largest GIS conferences.


The UC is a great time to expand the depth and breadth of your GIS toolkit. I’ve always found the technical tracks great, but there are some topics that are too hot for the UC.

Let’s talk about one of those too hot for UC topics…Esri + Open Source.

ESRI’s ArcGIS + Open Source Spatial Analysis Tools

This topic isn’t actually as hot as you’d think:

  1. Esri has done a great job at integrating open source tools and standards directly into their proprietary products. Some of these tools include:
    1. Python
    2. GeoJSON
    3. OGC Services
    4. NetCDF
    5. Conda
    6. Numpy
    7. Jupyter Notebook

These integrations make it much easier to interoperate with 3rd-party analysis tools outside of ArcGIS. With additional tools, it’s possible to expand the breadth and depth of analysis questions.

  1. Esri has open-sourced many of its internal projects which gives the larger open source ecosystem a huge boost. Some example include:
    1. Shapefile spec
    2. Java geometry toolkit
    3. Multiple Web APIs (Esri JS API, Esri-Leaflet, not to mention Flex and Silverlight APIs which were awesome…shout out to the Flex Team circa 2010…Adobe Flash will never die…)
    4. Beautiful map books and cartography guides
    5. Great algorithm documentation

  1. Esri is a major sponsor and contributor to FOSS4G, PyData, and a number of meetups which help promote geoscience and open source software.

But it wouldn’t be 2022 if we didn’t get a little spicier…

Let’s talk about how you can keep the Esri stack, while adding some non-Esri open source projects to round out your toolkit.

Page break - QGIS info

File Geodatabases are handy within ArcGIS, but are rarely supported outside of the Esri ecosystem. QGIS is an open source desktop GIS capable of reading and writing to Esri’s File Geodatabase format. QGIS also has over 400 unique geoprocessing tools and can export data in interesting formats like geopackages and cloud-optimized GeoTIFFs.

Page break - Using open source tools

ArcGIS Online and ArcGIS Server allow you to interact with feature services via their REST APIs.

You can start by constructing a query url to feature services which returns GeoJSON (`service/query?f=geojson`).

Geopanda’s `read_file()` method can use this url directly to query the service and return a Geopandas GeoDataFrame. Geopandas wraps shapely, pyproj, and rtree, which are keystone tools for geospatial vector analysis in Python.

Page break - using NumPy

One of the superpowers within ArcGIS is Arcpy’s RasterToNumpyArray and NumpyArrayToRaster. This IO function enables you to convert between ArcGIS rasters and NumPy arrays. Many other libraries speak “NumPy array” because NumPy is a foundational library for the Scientific Python and serves as a connector library to an entire ecosystem of tools like Scikit-Learn, Datashader, Xarray-Spatial, TensorFlow, Pandas, Rasterio!

Examples of using ArcGIS with Xarray-Spatial + Datashader

Using Xarray-Spatial and Datashader

Do you want Superpowered GIS? Open source projects can expand your toolbox as an Esri user. If you want to get started, here is a resource with some open source spatial analysis tools for Python.

At makepath, we sponsor and contribute to Xarray-Spatial to extend your raster analysis capabilities while still using the powerful Esri toolset.

Do you have your own ways to supercharge your GIS analysis? We’d love to hear from you at