I can’t really gush more about the Notebooks environment. Finally, we have something that everyone can access and it has (nearly) all the flexibility and power of ArcGIS Online and ArcGIS Pro.
So what’s the catch?
Well, it turns out the interface uses something called Python.
No, not that kind!
Here, we’re talking about the computer programming language.
As we know GIS (not just ArcGIS) depends on a lot on geoprocessing. It turns out that these geoprocesses run in our favorite software as function calls written in computer code. Think of a function as something that handles anything you do in ArcGIS where you click “OK” or “Run.” All those selection and input boxes for geoprocessing tools are just function parameters.
If you don’t believe me, take a look for yourself.
Think of your favorite GIS geoprocess.
Buffer, right?!
I knew it would be buffer.
Run a quick search for “arcgis pro buffer” and you will likely see a top hit for ArcGIS Pro Tool Reference page for Buffer (Analysis).
Remember these help pages?
They are still helpful.
Now scroll down… way down to nearly the bottom of the page.
You should find a section called Syntax. Syntax is the lexicon for how we write computer code in a particular language.
ArcGIS has developed a site package in the Python programming language, called arcpy
. This library contains modules for all manner of tasks that we are familiar with in ArcGIS Pro (or ArcMap), including all the tools referenced here.
We can create a file geodatabase, populate it with layers, and run analyses all from Python and all with arcpy
.
But that’s not all.
Notebooks also provides us with access to arcgis
, the ArcGIS API for Python. The arcgis
package connects to your ArcGIS Online account and provides several interfaces.
Some are quite simple, like updating your ArcGIS Online thumbnail.
Some are expected, such as accessing and hosting layers in ArcGIS Online and adding the layers to a web map for visualizing.
Some are more complex, like creating and editing features and running geoprocesses.
This is thanks to the GIS module provided by the ArcGIS API for Python.
It can be a little clunky at times, but it’s incredible that we have these two worlds brought together in one place on the cloud.
For those of you who are familiar with the pandas package and its DataFrame object, arcgis
expands on this object with the spatially enabled dataframe. There are a lot of interesting things that we can do to analyze and visualize using this data object.
So, what are you waiting for?
Let’s get started with notebooks.
There is a lot to learn about the Notebook environment. Below are some resources to help get you started.
Please watch this short video to introduce you to ArcGIS Notebooks.
Then, on ArcGIS Online, you can find several Notebooks that I have shared with you. To get the most out of them, I recommend completing them in the following order:
An introduction to markdown and how to organize a notebook into an effective communication and work logging tool.
Digitize your process!
A first look at (or a refresher on) the Python syntax.
A further look at fundamental Python concepts.
A one-stop shop for methods to create, download, manage, and remove files and folders from the ArcGIS Online Notebooks environment.
Examples of how to explore different data formats found in the /samplesdata
of ArcGIS Online Notebooks.
Tutorial on how to create your own file geodatabase for organizing your geoprocessing inputs and outputs or field collection features.
Geoprocessing with the ArcGIS API
A walkthrough for solving a geospatial problem using the ArcGIS API for Python geoprocessing tools.
An introduction to arcpy and a walkthrough for solving a common task of dealing with raster data in ArcGIS Online Notebooks.
RevealJS Presentation Notebook
Tutorial on how to convert your Notebook into a web-based slide show.
Word | Definition |
---|---|
API | Abbreviation for Application Programming Interface, or the set of instructions for allowing one programming language to work with another. In this case, the API allows Python to interact with ArcGIS REST services. |
Cloud | A metaphor for the collection of remote servers (computers), where each server performs a function or runs a certain application. In the case of ArcGIS Notebooks, it is a server that allows us (the users) to begin a Python environment with access to a variety of libraries. |
Dataframe | A two-dimensional data structure where data are aligned in a tabular fashion in rows and columns. |
Function | A set of instructions for performing a certain task. |
Module | A file containing Python code that provide definitions of variables or functions for a particular task. |
Parameter | Symbolic placeholders for data used in a function to allow tasks to run on any given data (so long as it matches the expected type; for example, you can’t take the square root of a string of characters). |
Library | A collection of Python modules that perform the functions of a given purpose or application (aka a package). |
Package | A collection of Python modules. If in reference to the core packages distributed with Python, they may be referred to as the Standard Library; otherwise, refer to them as a site package. |
REST | Abbreviation for REpresentational State Transfer. Essentially these are well-designed web services where you submit an HTTP request (to a website) and receive a response with information from the server. In the case of ArcGIS, these requests may be simple attribute queries or more complex analytical or administrative requests. |
Syntax | For a given programming language, these are the rules for grammar and mechanics or how to correctly build meaningful expressions. |
Widget | A small software app designed to provide particular information or service |