ArcGIS API for Python

Dev Summit 2021: AI infused solutions and apps in ArcGIS

In this demonstration, Nick O’Day from the City of John’s Creek, GA shows us how the deep learning capabilities of ArcGIS helped them with their goal of building a comprehensive tree inventory. They wanted to build a smart phone application that would allow the citizens of John’s Creek to map trees as points as well as to classify them.  

A smart phone app that allows citizens to map as well as classify trees


To begin with, they installed ArcGIS Pro along with the deep learning frameworks (including the ArcGIS API for Python, the FeatureClassifier, TensorFlow,, PyTorch). Using the information curated by the organization Trees Atlanta they could fetch a list of the top 50 tree species specific to their area and found half their training samples from the PlantCLEF dataset. After curating the rest of the data, they implemented a key step in ensuring that they had an equal number of image chips (100) for each class (tree species) so that they wouldn’t under or over train on any single class, preventing the model from making errors in identifying and classifying a tree sample correctly 

Feature classification using arcgis.learn

Having collected their training data, their next step was to train their model using the Jupyter Notebooks environment within ArcGIS Pro. In order to prepare the data for the model, they specified a fixed batch and chip size and fed it to the FeatureClassifier model available in arcgis.learn. Training their model across 50 classes (tree species) and 100 samples for each, took about 6 hours and once satisfied with its performance, they saved the model as a tflite file 

Survey built using the smart camera template within Survey123 Connect

As a final step, they used Survey123 Connect and AppStudio to package this as both Android and iOS mobile apps for the use of their citizens. They built a custom survey using the smart camera template within Survey123 Connect and uploaded it to ArcGIS Online. They used the Survey123 template app within AppStudio to build an app that would use the survey that they had created as input. This resulted in lightweight, deep learning enabled smart phone applications, enabling the citizens of John’s Creek to collect both tree locations and their species.  

App development frameworks like Survey123 and AppStudio allow you to create custom apps and infusing these apps with AI enables you to take AI to the edge and solve problems in innovative ways. This has been the approach that we at Esri are taking with our Solutions as well. For instance, the 3D basemaps solution has been enhanced to use the tree point classification model to extract trees from lidar data. This helps users create more realistic 3D basemaps for their community.

Additional Resources: 

About the author

Product Engineer - Applied Data Science with ArcGIS API for Python (previously ArcGIS Hub). Or in other words, a (Data, Maps, Analyses, Python, Books) Nerd.

Notify of
Inline Feedbacks
View all comments

Next Article

Nautical chart creation is versatile with ArcGIS Maritime

Read this article