ArcGIS API for Python

One of the things that has been highlighted here at the Dev Summit this year is the exponential growth of Python throughout the entire ArcGIS environment. From underpinning the geoprocessing tools of the ArcGIS suite to managing ArcGIS Enterprise and Portal, Python is everywhere these days. There have been several sessions on topics related to Python, and perhaps the most impressive to me is the integration of the ArcGIS API for Python and Jupyter notebooks.

Python Libraries Used in Jupyter Notebooks

The ArcGIS API for Python integrates several third-party, open source Python libraries such as Pandas and Matplotlib, and can be used within Jupyter Notebooks to analyze and visualize data. Presentations featured the use of the API in Jupyter Notebooks to analyze data for land use changes, wildfire impacts, climate trends, and even the proximity of Denny’s restaurants to La Quinta hotels across the country. The geospatial analysis of both vector and raster data was done in memory, without writing anything out to disk, which showed the advantage of using these notebooks for data wrangling and initial analysis of a dataset.

One particularly interesting feature of the GIS module of the API allows the user to create a map object, which can then be displayed in the notebook as a lightweight Java Script map viewer. Output from geospatial operations can be added to the viewer, symbology can be changed, and you can even listen to events from the map in your notebook code. A simple example: a listener can be added for a map click event, which then fires a callback function to geocode the location and print out the address in the notebook. It was cool to see how you can write code, analyze data, and then visualize the result right away.

ArcGIS 10.7 - Jupyter Notebooks in ArcGIS Enterprise

At ArcGIS 10.7, Hosted Jupyter Notebooks are being introduced in ArcGIS Enterprise. This allows users to create notebooks in a browser with access to all the geoprocessing and visualization tools of the Python API and ARCPY module, and then share them easily across their organization.

I’m excited to start exploring Jupyter notebooks and see how the Python API for Javascript continues to evolve over time.

Stay tuned for more updates on Esri #DevSummit2019 on www.gisinc.com/blog.