Last June, Esri announced a new API called the ArcGIS Python API, that extends the power of Python over the web. This blog post describes what it is and how it can be used.
By Eric van Rees
What is the ArcGIS Python API?
Esri has been offering support for Python, a programming language that can be used for scripting purposes in order to automate repetitive tasks in GIS analysis or map production. Although powerful, you could not use it for Web GIS. This has changed at last with the release of the ArcGIS Python API, currently in beta. The official release will be take place as part of ArcGIS 10.5.
Providing an interface for underlying web services, the API enables Python´s programming language capabilities to be used over the web through an interactive console that looks somewhat similar to the current Python window in ArcGIS Desktop and Pro. The API has been written for a larger audience in mind than the current Python user, who would use it for data crunching or map design: apart from scripting capabilities, the API allows for GIS visualization and analysis, spatial data/content management as well as organization administration.
How do I get started with the API?
The ArcGIS Python API requires Python 3, which is also the Python version that comes with ArcGIS Pro. The API is distributed via conda, short for Anaconda for Python, a popular and widely used Python package manager. Beginning from ArcGIS Pro 1.3 release, Esri will integrate the functionality of conda into ArcGIS Pro. This means that users ArcGIS Pro 1.3 users already have conda installed. Esri´s online resources for the API (1) offer help as to install both conda and the API.
The API consists of four modules that contain classes, functions and types for managing and working with the different elements of the GIS. The most important module is the gis module, that provides functionality to manage GIS users, groups and content. You can use a Web GIS by creating a GIS object that represents a connection to either ArcGIS Online or Portal and from there manage GIS content. The other modules provide components for visualizing GIS data and analysis, consuming GIS functionality exposed from ArcGIS Online or Portal web services and accessing layers from both.
One big difference between the API and the way Python is used in Desktop GIS is the way in which you can experience the API: one way is through iPython, a browser-based console where you can type in Python code that gets executed on the notebook server and the results are shown interactively in the browser.
Who can make use of it?
The API is meant for GIS professionals, developers, org administrators, content publishers and anyone with access to a Web GIS (either through an ArcGIS Online organization or an ArcGIS Server fronted with a Portal for ArcGIS). Currently, the API is available only in a private beta program. You can join the program with an ArcGIS Online organizational subscription and if you have working knowledge of API’s and ArcGIS Server.