
The intro video to welcome you to the course and get a glimpse at the face behind the voice :D
The material for 2.3.0 will be removed on the 1st of August. If you open the link in the text file you can access the removed videos for posterity.
Let's get you setup with the course material so you can follow along. In this video you will download a zipped folder and unzip the contents to your C drive. We walk through the folder structure and then run a Python script to add data to our ArcGIS Online and create a couple of folders there too.
Some advice on how to get the most out of this course.
If you do not have access to ArcGIS Online you can get a 21 Day Trial for free from Esri.
Throughout this course we will be using PyScripter as the Python IDE of choice. You can use any IDE you like.
Let's take a brief look at the ArcGIS API for Python components used in this course. While the connection between the components might initially seem a bit overwhelming, refer back to this video from time to time as you progress through the course for more clarity.
In this video we will see how we access ArcGIS Online via the ArcGIS API for Python.
In this lesson we will take a look at the Map object. The API provides access to your organisations ArcGIS Online via the GIS class in the gis module. This GIS class is the gateway to ArcGIS Online. We will need to import the Map class to create a Map object. The Map class is a part of the map module. This map module provides components for working with 2D and 3D maps and scenes.
In this lesson we will assess what basemaps are available for our WebMap. The basemaps property for the Map object will return a BasemapManager object from which we can access a basemaps property, which is a list of basemap names that we can supply as a property when creating a WebMap with the ArcGIS API for Python.
In this lesson we will create a Map object and save it as a content Item object available for use in ArcGIS Online.
In this lesson we will take a look at some of the properties from the documentation for the Map object. For the most part it is for information purposes as we have not added content to our maps so many of the properties are empty.
Your first challenge! You are tasked with creating a Map object, assigning a basemap, creating an item_properties dictionary, and saving the Map object as an Item that you can access via ArcGIS Online.
In this video we will walk through the solution for the Challenge Yourself! with the Map Object
In this lesson we will switch the basemap in our WebMap using the ArcGIS API for Python and see the result in ArcGIS Online.
In this lesson we will rename our basemap in our WebMap. This video also has a very important component as we take a look at the JSON behind the scenes that controls the basemap in the WebMap. Getting to grips with the WebMap specification JSON is a crucial element to interacting with and updating WebMaps in ArcGIS Online using the ArcGIS API for Python.
In this lesson we will remove our basemap and add it as a layer in our WebMap. The basemap is made up of two layers, the tiled basemap, and the reference layer (placenames and points of interest).
In this lesson we will take reverse what we did in the previous lesson and move from our WebMap layers to the basemap.
In this lesson we will look to manipulate the JSON returned from the basemap property of the BasemapManager for a Map object.
You are tasked with switching the basemap for a Map object, renaming the basemap title, and manipulating the basemap JSON.
In this video we will walk through the solution for the Challenge Yourself! with Basemaps.
In this lesson we will take a look at how to access and view properties for the WebMap Item object. The important takeaway is that the Item object differs from the Map object.
In this lesson we looked some Item object properties that we have listed in the documentation.
In this lesson we will take a look at the JSON properties for an Item object.
In this lesson we will update some item object JSON properties and a couple of item object class properties.
In this lesson we will update a WebMap Item thumbnail using the Item object update_thumbnail() method.
In this lesson we will take a look at the Item object get_data() method which returns extra information and configuration setting based on the type of Item object, in this instance, it is a WebMap.
You are tasked with updating Item properties for a WebMap and also updating the thumbnail for the item.
In this video we will walk through the solution for the Challenge Yourself! with the WebMap Item Object.
In this lesson we will add the contents of a Feature Service to our WebMap.
In this lesson we will add a selected layer from a Feature Service to our WebMap
In this lesson we will add a Table to our WebMap
Now that we have some layers and tables added to our WebMap we will check out the JSON definition once more and see the entries for operationalLayers and Tables.
In this lesson we will take a look at the Map object content property which returns a MapContent object, and in turn has a layers property.
In this lesson we will take a look at the Map object content property which returns a MapContent object, and in turn has a tables property.
In this lesson we will access and assess the properties associated with a WebMap layer.
In this lesson we will access and assess the properties associated with a WebMap table.
In this lesson we will remove a layer from our WebMap.
In this lesson we will remove a table from our WebMap.
In this lesson we will use the MapContent remove_all() method to remove all layers and tables from our WebMap.
In this lesson we will add layers and a table to our WebMap using the options parameter for the add() method to define the title of the layers and table.
You are tasked with adding layer from a multi-feature layer feature services and then removing one of those layers.
A solution to the previous video where you were tasked with adding feature layers from a multi-feature layer feature service to a WebMap and the removing a layer from the WebMap.
A helper video to see the JSON being manipulated behind the scenes when we use the update_layer() method throughout this section.
In this video we will use the MapContent update_layer() method to update the name (title) of a layer in our WebMap.
There is no method update_table() like there is for a layer so we must manipulate the WebMap definition tables property to access the title of our table and update it!
In this video we will update the opacity (transparency) for a layer in our WebMap.
In this video we will see how we can turn on and off layer visibility in the WebMap. We can control if a layer is turned on or off when the WebMap initially loads.
In this lesson we will set a filter (definition query) for a layer in our WebMap.
In this video will will disable editing for a layer in our WebMap and then re-enable editing capabilities.
In this video we will apply a scale range to a layer in our WebMap.
In this lesson we will see how to turn on and off labeling for a layer and also how to add a label class to define how a label is displayed.
In this video we will use the ArcGIS API for Python to set the Content Status for our WebMap Item.
In this video we will apply delete protection to our WebMap Item to prevent it from accidentally being deleted.
In this video we will alter the extent that the WebMap initially opens at!
In this lesson we will use the MapContent reposition() method to move a WebMap layer to a different position in the layer list.
In this video we will see the MapContent reposition_to_top() method is action. There is a current bug that we will showcase, it's quite funny.
In this lesson we will manipulate the WebMap JSON definition to alter the operationalLayers list to reorder the layers in our WebMap.
A little bit more advanced, here, we manipulate the WebMap JSON definition to apply search capabilities for features within our WebMap layers. Make sure to check out the WebMap specification link in the Python script for more information.
In this lesson we will replace a layer in our WebMap with another layer. We will see how you can take information from a Feature Layer in a Feature Service, create a dictionary definition for a WebMap layer and swap out one layer definition for another by manipulating the WebMap JSON definition.
In this lesson we will access a GroupLayer object which is new as of 2.4.0. We will have a brief look at the properties and methods available in the documentation.
In this lesson we will retrieve the title (name) of a Group Layer in our WebMap and also rename the Group Layer
In this lesson we will access the layers property for a GroupLayer object and see how the inner layers are returned as objects in a list.
In this lesson we will turn on and off visibility for a layer within the Group Layer.
In this lesson we will move a layer from the Group Layer to the main Map.
In this lesson we will remove a layer from the Group Layer and the overall Map.
In this lesson we will reposition a layer within the Group Layer.
Unfortunately there is a bug with updating a layer within a Group Layer using the update_layer() method. We will explore the bug.
Unfortunately there is a bug with the MapContent move() methos that would otherwise allow us to move a layer into the Group Layer. We will explore the bug.
In this lesson we will ungroup a Group Layer and see all layers within the Group Layer sent to the main Map.
In this lesson we will manipulate the WebMap JSON definition to create a Group Layer in our WebMap. There is no neat method for doing this in the documentation.
In this lesson we will take a look at the Esri Documentation for the Bookmarks and Bookmark classes that were introduced as of the ArcGIS API for Python version 2.4.0.
In this lesson we will add three bookmarks to our WebMap.
In this lesson we will see how we can get a list of bookmarks from our WebMap.
In this lesson we will remove (delete) a bookmark from our WebMap.
In this lesson we will assess the properties available for the Bookmark object.
In this lesson we will edit a bookmark in our WebMap.
In this lesson we will check-in on the WebMap JSON definition now that we have added some bookmarks. We will also see how we can manipulate the JSON definition to edit a bookmark.
With over 8 hours of content, this course is the first of its kind relating to the ArcGIS API for Python and its capabilities for WebMap interactions to create, update, maintain, and manage WebMaps in ArcGIS Online.
Please note: There was a major update to WebMap components of the API in version 2.4.0 released mid-September 2024. This course covers from 2.4.0 onwards.
Automating tasks with Esri technology and with ArcGIS Online/Portal is already in high demand and growing! There is a skills and knowledge gap with the utilisation of the ArcGIS API for Python. Fill in that gap and put yourself at the forefront of the demand.
You will get comfortable with the Item Object and the WebMap Object and the different components of the WebMap that each controls - sometimes we need to update the WebMap Item Object, sometimes we need to update the WebMap Object, all depending on the manipulation and update being performed. All will become clear as you progress through the course.
We will interact with...
Basemaps
The Map Item Object
The Map Object
add and remove layers and tables
dive into the definition for a Webmap layer
WebMap Layer Properties
title (name)
visibility
opacity
filters
labels
and more
WebMap Configurations
set the extent
reorder layers
group layers
and more
WebMap Layer Symbology
WebMap Layer Popups
You will have lifetime access to the course material, as the API evolves, the course structure and lessons will be updated to reflect the changes. Sometimes API changes are minor and sometimes they are major so keeping up with the changes are important.
Your course instructor, Glen Bambrick, has over 18 years' experience with GIS and geospatial data, and has implemented standardized workflows utilizing the ArcGIS API for Python to great affect. In this course he will introduce you to the ArcGIS for Python API for interacting with WebMap components and take you through some common tasks with a focus on gaining a deep understanding of the underlying JSON definitions associated with a WebMap and and Item object.
By the end of this course... you will be fully armed with the capability to start using the ArcGIS for Python API with your own workflows for accessing an manipulating WebMap components. This course will spark your imagination to what can be achieved and give you a solid footing to begin making the ArcGIS for Python API a part of your daily endeavors for automating those repetitive tasks relating to ArcGIS Online WebMaps and beyond. You will be able create a WebMap object and save as a an Item object along with a deep understanding of the Item Object and WebMap object definitions to perform tasks such as adding and removing layers, updating symbology and popups, reordering layers, along with WebMap admin such as applying a Content Status and adding Delete Protection.