arcnews

Latest Developer Technology Inspires Creativity

The 2020 Esri Developer Summit (DevSummit) went virtual this year, drawing an online audience of more than 6,000 viewers via the livestream on esri.com and the Esri Facebook page. The event was held online due to concerns about the global coronavirus disease 2019 (COVID-19) pandemic.

A photo of Jim McKinney talking into a microphone and gesturing with his hands during an onstage demonstration
Jim McKinney encouraged users to upgrade to the latest developer technology.

App developers and others who livestreamed the event heard about the latest innovations in ArcGIS from a team of more than two dozen Esri developers, product engineers, and product managers. Over the past year, the development team has added new or improved capabilities to ArcGIS in areas such as mapping and visualization, spatial analysis and data science, deep learning and 3D mapping, custom web app development, and natural language processing. A new project to integrate ArcGIS with the capabilities of two gaming engines is also under way.

Jim McKinney, chief technology officer for ArcGIS Desktop, opened the DevSummit Plenary Session on March 10 by thanking the developer community and welcoming the audience to the event, now in its 15th year.

“Our goal is to share with you new technology, which you can do amazing things with—technology that is going to make your [work] more effective,” McKinney said in his introduction to the event.

Esri president Jack Dangermond lauded the developers for what they do to help organizations create what he called “a digital transformation using geographic science.” Dangermond said that the digital transformation, with the support of geospatial app developers, is driving advances in precision agriculture, conservation, public safety, public health, forestry, and water resource management.

“This doesn’t happen by chance. It’s not out of the box,” Dangermond said. “It requires the creativity of you who are here and online around the world, engineering and thinking.”

What the ArcGIS Platform Can Do for Developers

Esri director of software development Sud Menon gave a high-level overview of the ArcGIS platform, which integrates many data types including imagery, vector, real-time, multidimensional, unstructured, tabular, 3D, lidar, CAD, and building information modeling (BIM).

A photo of Sud Menon talking into a microphone, giving a demonstration onstage, at a computer
Sud Menon gave the virtual audience an overview of the ArcGIS platform.

“It extracts all this data into layers to create a common language of maps, scenes, models, and tools that can be used by creators and analysts, as well as to power applications,” Menon said.

He highlighted how ArcGIS Online can be used to deliver important information to an audience. “ArcGIS Online is a platform that allows you to create and share mapping applications that communicate important information at scale,” Menon said. “A single trending mapping application, such as the live coronavirus dashboard from Johns Hopkins [University], may receive many thousands of requests per second and have millions of concurrent users.”

The COVID-19 dashboard from Johns Hopkins, which is maintained by the Center for Systems Science and Engineering at the Whiting School of Engineering, was built using ArcGIS Dashboards.

Visualizing Information in a New Way

The product presentations kicked off with a focus on mapping—the foundation of GIS technology—and ArcGIS API for JavaScript, which powers the web mapping capabilities for both 2D and 3D visualizations.

“Mapping is at the heart of what we do,” said Jeremy Bartley, group development lead for ArcGIS Online and ArcGIS API for JavaScript. “We want to enable everyone to make amazing maps through dynamic and data-driven styling.”

Jennifer Bell, senior product engineer from the ArcGIS Living Atlas of the World team, then demonstrated how capabilities in the new Map Viewer in ArcGIS Online—including fast filtering, enhanced labeling, and a dot density tool—make it easier to author useful and beautiful maps.

In her scenario, volunteers sent to Los Angeles area schools to encourage hard-to-reach Spanish speakers to participate in the US Census could use the Map Viewer in ArcGIS Online to better focus their efforts. They could create a map to locate where Spanish-speaking children aged 5 to 17 attend school.

A photo of Jennifer Bell talking into a microphone, giving a presentation onstage
Jennifer Bell demonstrated the new Map Viewer in ArcGIS Online.

Bell showed how to make a map like this using tools such as filtering, dot density, and ArcGIS Arcade. She then customized it to find exactly which schools in the Los Angeles area have 1,500 or more students who are Spanish speakers.

“These new updates [to ArcGIS Online] are all about exploring and understanding your data so quickly that you have the time to experiment, be creative, and ask deeper questions,” she said.

Get the Most out of Your Data

Around the world, organizations are increasingly using dashboards to communicate a wide range of information clearly, including data on crime, public health, elections, and the environment.

“Dashboards unlock information hidden in your data and allow it to reach its full potential,” said David Nyenhuis, product engineer on the ArcGIS Dashboards team. “They are interactive and engaging. Charts, indicators, and gauges summarize complex datasets and help inspire smarter decisions.”

In his presentation, Nyenhuis showed how users can author expressions in ArcGIS Arcade to modify how data is displayed in ArcGIS Dashboards. Arcade is a scripting language for creating custom visualizations and labeling.

He demonstrated a dashboard built for a fire department chief monitoring calls for service in real time. The dashboard includes information such as the call volume; an incident feed with a brief description of the problem and a time stamp; a map displaying the incident locations; and the 30-day average dispatch, turnout, and response time.

Nyenhuis then showed how, right inside ArcGIS Dashboards, a user can employ an ArcGIS Arcade editor to write a simple expression to convey and display how long an incident has been open and when it was cleared. “[With an ArcGIS Arcade expression], we can even reveal whether an incident is meeting or exceeding department guidelines for response time,” he said.

A Nudge to Use Top Developer Technology

Although support for ArcObjects for building custom GIS solutions will continue for years, McKinney encouraged the developer community to shift its focus.

“If you are doing new development work, we strongly encourage you to use our latest developer technologies for ArcGIS Enterprise and ArcGIS Pro and to build stand-alone apps using ArcGIS Runtime,” he said.

ArcGIS Pro SDK for the Microsoft .NET Framework, which now uses Visual Studio 2017/2019, supports customization for ArcGIS Pro.

McKinney said users can extend ArcGIS Pro using ArcGIS Pro SDK for .NET in three ways: with add-ins, solution configurations, or plug-in data sources.

He also strongly encouraged the audience to start using ArcPy and its Python modules for doing geoprocessing tasks, such as conducting geospatial analysis, in ArcGIS.

Besides adding new geoprocessing tools in ArcPy, Esri is simplifying the use of the tools. “[This results] in fewer lines of code you have to write to get your work done,” said McKinney.

A photo of Kristian Ekenes speaking into a microphone as he gives his onstage presentation
Kristian Ekenes demonstrated a custom web app built with ArcGIS API for JavaScript.

Custom Web Apps Get a Boost

Major improvements to ArcGIS API for JavaScript are driving some big changes in custom web application development. Case in point: developers can now build highly interactive web apps to visualize and do analysis on large datasets.

Kristian Ekenes, a senior product engineer on the ArcGIS API for JavaScript team, demonstrated a custom web app called One Ocean. Developed with ArcGIS API for JavaScript, it uses a global layer that includes attributes on ocean temperature, salinity, and the speed and direction of ocean currents at various depth levels. This data was derived from the Ecological Marine Units dataset from Esri.

“I’ve configured this application so, as the user hovers a mouse over a point [on the map], it executes a query for the salinity attribute at all of the levels of depth throughout the ocean available on the client,” Ekenes said. The salinity numbers quickly appear in a scatterplot to the left of the map.

“I get that fast performance because I’m taking advantage of the very fast client-side query engine of JavaScript API,” he said.

A Spatial Analysis and Data Science Platform

Jay Theodore, chief technical officer of ArcGIS Enterprise, walked the audience through how ArcGIS supports a complete workflow process: data preparation/engineering, visualization and exploration, spatial analysis, artificial intelligence integration, and big data analytics using modeling and scripting.

A photo of Jay Theodore speaking into a microphone while he gives a presentation onstage
Jay Theodore showed how ArcGIS supports a complete workflow process.

Esri staff highlighted the work they’ve done over the past year with multidimensional raster data collected by satellites, along with advances in mapping and analyzing unstructured data, lidar, and full-motion video.

The DevSummit audience also got to see an interesting demonstration of how ArcGIS can be used in the process of extracting geospatial data from unstructured text and then mapping that information.

Lauren Bennett, lead product engineer for spatial analysis at Esri, showed how she used the arcgis.learn module in ArcGIS API for Python to help extract and map data from 1,500 text files of crime reports.

“Each of these reports is unstructured text that has a description of the crime, including things like the address, the date and time, and other details,” Bennett said. “Traditionally, turning this kind of unstructured text into useful data would be really time-consuming.”

Bennett created training data for deep learning by labeling certain aspects of the reports, including the type of crime, the weapon reportedly used, the address, the date and time of the crime, and the name of the reporting officer.

She then used the training data and the natural language processing built into the arcgis.learn module to train the EntityRecognizer model. After making sure the model could identify entities, such as the crime and the date, time, and address of the incidents, she used it to extract this information from each of the text files.

A photo of Lauren Bennett speaking into a microphone while giving a presentation onstage
Lauren Bennett illustrated how to extract geospatial data from unstructured text.

Now that the data was structured, Bennett used ArcGIS API for Python to geocode the locations and create a point feature layer. Each point represented the location of a crime. Bennett then generated a web map that showed these crimes in Madison, Wisconsin.

App Building Options with Little or No Coding

Esri staff demonstrated how to get apps into the hands of users easily with ArcGIS AppStudio and the new ArcGIS Experience Builder.

Chris LeSueur, the product manager for ArcGIS AppStudio, walked the audience through a workflow for sharing native mobile apps. The apps, built with AppStudio templates, can be shared to an ArcGIS Online organization and put into groups with named users and then shared with those users via ArcGIS AppStudio Player, an app that can be downloaded from app stores.

LeSueur also demonstrated an offline 3D mapping app that displays the beautiful terrain of Angeles National Forest in California. He developed this sophisticated app using AppStudio, which is built on top of ArcGIS Runtime SDK for Qt.

Esri also recently introduced a new tool for building web apps. ArcGIS Experience Builder gives people the ability to build web experiences using one of a series of templates, which come with widgets. Jianxia Song, product manager for ArcGIS Experience Builder and ArcGIS Web AppBuilder, demonstrated how it works.

Game On!

During the DevSummit Plenary Session, Euan Cameron, chief technology officer for developer technology at Esri, announced that an effort is under way to integrate ArcGIS with Unity and Unreal Engine, two popular game engines.

According to Cameron, game engines are a great development environment because they provide premium rendering and cross-platform hardware support, allowing developers to build experiences that come alive. This also generates an opportunity to build connections with game engine developers.

A photo of Euan Cameron talking into a microphone while giving his presentation onstage
Euan Cameron announced that ArcGIS is integrating with two popular game engines.

“There’s an extremely large developer community, and we’ve been hearing from that developer community that they want to get ArcGIS content into their game engines to improve the applications that they are building,” Cameron said.

Esri will build plug-ins for Unity and Unreal Engine that will provide the following:

“In terms of ArcGIS functionality, you will be able to work with raster tiles, imagery, elevation, scene layers with 3D objects, and integrated meshes and point clouds,” Cameron said. “Feature layers will be supported with points, lines, and polygons, and you will be able to get access to some of the other services that are available from ArcGIS, like geocoding and networking.”

Keep DevSummit Going All Year Long

During the close of the Plenary Session, McKinney pointed out that for the past few years, Esri has tried to keep DevSummit going all year long with GeoDev webinars.

“Each month, we host a DevSummit-style tech workshop as a webinar, including a live Q&A [session],” he said. “If you haven’t tuned in to one of these, check it out. They’re really valuable and fun.”

All DevSummit presentations and technical sessions are available on the Esri Events YouTube channel.