“It’s nice to be back, isn’t it?”
With those words, Jack Dangermond, Esri president and founder, welcomed attendees back to Palm Springs, California, to the first in-person Esri Developer Summit (DevSummit) in two years. With added health and safety protocols in place, Esri staff members were excited to interact with more than 1,000 attendees during the event, which was held March 8–11, 2022.
In addition to attending workshops and sessions, DevSummit was an opportunity for attendees to meet face-to-face with Esri staff members for one-on-one sessions and network with other developers, who came from more than 700 organizations.
DevSummit also had a virtual incarnation. One legacy that carried over from the completely virtual versions of DevSummit held during the COVID-19 pandemic was the multiple plenary session format. This year, all three Plenary Sessions and a selection of technical sessions were livestreamed during the event and available as recordings after sessions concluded.
The Plenary Session that opened the summit, Building Apps, set the tone for the event. Dangermond noted that GIS and geospatial technologies have been evolving for many years, and the purpose of DevSummit is to share the next steps in that evolution. Esri technology has been evolving within a framework that supports developers and end users and creates an infrastructure that Esri is scaling up.
While he sees this process—which has been unfolding over the last 50 years—as a wonderful history, he also sees it as just the beginning of a field that will be used to address all the major challenges that the world faces. Esri builds the tools that developers, with their creativity and knowledge of what is needed and wanted, use to make geospatial technology come alive.
Dangermond sees the evolution of GIS and geospatial technology as being driven by three things: the evolution of core technologies such as computing platforms; the demands of consumers of this technology; and great people “who are playing hard” to develop solutions. By sharing how developers at Esri work, think, and create, DevSummit lets developers get to know the people behind the scenes who build Esri technology.
After opening remarks by Dangermond, David Cardella, Esri product manager for developer technology, took the stage as the master of ceremonies and commented on the high energy level in the room. “You engage us and provide us feedback so we can improve our product. You challenge us to do more and do better,” he said.
Esri’s technology continues to acknowledge the real-world needs of developers. It is now easy to bring ArcGIS location services into existing open-source mapping applications to improve the end-user experience. For example, the ArcGIS REST JS is a wrapper library for working with Esri services that can be used to add ArcGIS location services to an application built with Leaflet to enrich the content and improve the usability of apps.
Building Native Apps
“ArcGIS Runtime can put the right map in the right app, on the right device,” said Divesh Goyal, product lead for the ArcGIS Runtime SDK for .NET team, who kicked off sessions about the development of native apps using the ArcGIS Runtime SDKs. Demonstrations highlighted improvements in visualization, augmented reality, and other functionalities as well as widgets and filters that support building apps that meet specific needs.
Presenters in this segment of the Plenary Session demonstrated enhancements to ArcGIS Runtime SDKs over the past year such as improvements in 2D and 3D visualization, the addition of display filters for features, and the ability to scale features by a factor or by applying an ArcGIS Arcade expression. Mark Bockenhauer, product engineer for the ArcGIS Runtime team, showed two new ways developers can use location in their apps: geotriggers and the ArcGIS IPS, Esri’s indoor positioning service. Geotriggers use the device location to generate a notification or other action based on the proximity of a user to a feature and can be configured to work completely offline. ArcGIS IPS can be used for indoor mapping applications that update in real time to tell users exactly where they are located.
Runtime samples can be explored by downloading several viewer apps: ArcGIS Runtime SDK Sample Viewer (for Android devices, available from Google Play), ArcGIS Runtime SDK Samples (for iOS devices, available from the Apple Store), and ArcGIS Runtime SDK for .NET Samples (WPF) (available from the Microsoft Store).
Developers can incorporate the realism of game engine visualizations in interactive solutions with the ArcGIS Maps SDK for Game Engines. Devin Lavigne, a developer with Houseal Lavigne, demonstrated how his company uses ArcGIS SDK for Unreal Engine and ArcGIS CityEngine to bring an immersive and impactful experience to redevelopment presentations his company makes to cities. Lavigne summarized the value of integrating GIS with gaming engines by saying, “the SDK for game engines really allows us to unify the familiar world of GIS with the beautiful world of game engines.”
Exploring the ArcGIS System
Presentations in the second Plenary Session focused on how ArcGIS is integrating and leveraging developments in the larger world of computing and science. It was introduced by Sud Menon, Esri director of software development. He characterized ArcGIS Pro, ArcGIS Enterprise, ArcGIS Online, and ArcGIS Platform as the pillars of the ArcGIS system. Menon provided an overview of the ArcGIS system that supplied context for new capabilities that incorporate developments in big data, artificial intelligence (AI), cloud data warehouses, knowledge graphs, and imagery acquisition and analysis.
Of special interest to developers was Menon’s comments on ArcGIS Platform, a developer-focused platform as a service (PaaS) offering that provides access to spatial analysis, geocoding, search, and routing capabilities; maps, data, geoenrichment, and basemaps; data hosting; and ArcGIS mapping APIs and open-source libraries. He also described the distributed global architecture underlying ArcGIS Online and ArcGIS system that allows data hosting in three regions in multiple data analytic hives. Each has colocated compute and storage for all the kinds of data that GIS needs to manage. This large system is built on both Microsoft Azure and Amazon Web Services (AWS).
Analysis of Big Data in the Cloud
“ArcGIS is a comprehensive data analysis system for performing integrated and synergetic analytics between different types of data,” noted Menon. Cloud data warehouses, which have become increasingly popular for processing big data and large workloads without infrastructure expense, can be accessed by ArcGIS. Eugene Yang demonstrated how the analytical capabilities of ArcGIS Pro can be combined with the processing power of Google’s BigQuery. ArcGIS Pro can also work with cloud data warehouses in Snowflake and Amazon Redshift. Another presentation by Art Haddad and Linda Beale showed how ArcGIS Insights can use Snowflake to analyze massive datasets. ArcGIS Insights is a self-contained, web-based geovisual analytics product that works in the cloud or behind a firewall as part of the ArcGIS system of analysis.
ArcGIS GeoAnalytics Server, which has been available in ArcGIS Enterprise and integrated with ArcGIS Pro, is now available in a new cloud product. ArcGIS GeoAnalytics On Demand Engine is a stand-alone spatial analysis system for use on data lakes. It can be used independently of ArcGIS and leverages Apache Spark native technology in the cloud. Currently in beta, ArcGIS GeoAnalytics On Demand Engine uses a consumption-based business model.
Graph analytics is a new area of analysis. ArcGIS Knowledge is a services-based product that combines spatial and graph analytics to evaluate and understand highly dependent systems such as supply chains and assess the impacts of specific events or conditions on a system. It brings together structured and unstructured data, spatial and nonspatial data, and new graph analytics. Because it is available through Esri’s REST API, developers can build custom web applications and use the connected data in the graph to enrich other GIS data.
ArcGIS Image for ArcGIS Online is an extension of ArcGIS Online that harnesses the tremendous power of the cloud to host, access, process, and visualize data. During his presentation, senior product manager Shea Shelby used ArcGIS Image and ArcGIS API for Python, pretrained deep learning models, and the object detection raster function to generate building footprints for the entire country of Grenada. Venay Viswambharan, a product manager on the imagery team, showed how ArcGIS Image could generate a land-cover classified map using deep learning tools and one of the pretrained classification models available through the Python API. With that map and other data land characteristics, he used chained raster functions to produce a landslide susceptibility map that could be visualized in 2D and 3D. (For more information on ArcGIS Image, read “Actionable Information from Imagery” in this issue.)
ArcGIS Velocity is a software as a service (SaaS) offering that can provide real-time visualization and analytics of smart sensor data that adds the power of location to the Internet of Things (IoT). Esri has expanded the types of sensor data that can be ingested and analyzed for increased awareness and improved operations management.
Now in its 17th year, DevSummit has made a lot of developer history. “And at my age, I remember all of it,” quipped Jim McKinney, Esri chief technology officer, who was the master of ceremonies for the third Plenary Session. This session focused on extending and automating ArcGIS and applying new, more robust spatial analysis tools.
Developers have two options for extending ArcGIS Pro: Python and ArcGIS Runtime SDK for .NET. When using Python, developers can access more than 2,000 geoprocessing tools and use ModelBuilder, libraries, script tools, ArcGIS API for Python, and ArcGIS Notebooks.
With the comprehensive ArcGIS Runtime SDK for .NET, developers can choose from four development patterns: add-ins, configurations, plug-in data sources, and corehost. Add-ins is the primary development pattern used to develop new tools and custom workflows, and customize the ArcGIS Pro UI. Configurations are like add-ins but allow for a deeper level of UI customization. Plug-in data sources are used to integrate custom or proprietary datasets into ArcGIS Pro. Corehost is the pattern used to develop stand-alone applications and console apps on top of the ArcGIS Pro geodatabase and geometry APIs.
ArcGIS delivers an enterprise-ready automation platform that can be implemented using APIs and no-code and low-code options in addition to using SDKs. On the enterprise level, ArcGIS automation can be extended through integrating custom functionality across business processes, through extending services to give users new functionality, or through infusing geoprocessing or AI models into the geospatial infrastructure.
The many types of automation available in ArcGIS include robotic process automation that distills expertise into workflows; collaborations that help fill gaps in organizational knowledge; and continuous integration/continuous delivery (CI/CD), a set of processes that automate code change delivery. ArcGIS has extensive tools for automating GIS administration, deployment, and content management. Automation processes can also be triggered by events or scripted and delivered at a certain time interval using the ArcGIS API for Python.
Enterprise GIS is a mission-critical system that benefits from automation in a cloud-native manner. ArcGIS Enterprise on Kubernetes, which was delivered last year, is automation ready and microservices and standards based so it works with IT standards. Because of its highly scalable nature and intelligent updating, ArcGIS Enterprise on Kubernetes has great value for some organizations.
Spatial Analytics Platform
The ArcGIS system includes tools for spatial analysis, data science, and applying machine learning and deep learning techniques. Valid analysis requires the right data that has been prepared for analysis. Esri has a geoinformation model that makes it easy to prepare a constantly expanding list of data types for analysis and visualization.
Lauren Bennett, program manager for spatial analysis and data science at Esri, introduced demonstrations of the new and expanded spatial analysis tools in ArcGIS by observing that, “Spatial data science encompasses all the work we do to do great analysis.” This includes data engineering and visualization, sharing, and collaboration. However, this work goes beyond applying algorithms and tools. “It’s about applying the geographic approach to solve the complex challenges that our organizations, communities, and the world face. Applying the geographic approach is absolutely critical for tackling these complex, deeply interconnected challenges that we face,” said Bennett.
Spatial science is the foundation of ArcGIS. The demonstrations in this final segment highlighted two recent advancements in spatial statistics: presence-only prediction and change point detection over time. Presence-only prediction eliminates the need to collect data on where something isn’t and is valuable for applications such as ecological modeling and land mine detection. Change point detection finds time steps when trends significantly change. Change points can be important indicators of policy changes or underlying problems.
Analysis of multidimensional raster analysis is another important area of spatial analysis. Raster team principal software product engineer Hong Xu demonstrated a new principal component analysis tool that can help understand the spatial and temporal patterns in time series imagery data.
Based on Developer Priorities
In concluding the third Plenary Session, McKinney thanked attendees and hoped that these new capabilities would aid developers in using the ArcGIS system to meet their needs in innovative ways and drive the important work of developers.