Developers

What's new in ArcGIS Runtime 100.13

The Runtime team is pleased to announce version 100.13 of the ArcGIS Runtime SDKs. Update 13 builds on existing capabilities and adds vector tile support in 3D, an indoor positioning API and many more improvements and refinements. Let’s start with 3D…

Vector Tile layers in 3D

Vector tiles have been the basemap of choice for some time. They provide high quality, resolution-independent display of complex cartography, and in general they bring improved performance. Especially relevant to Runtime applications, they are typically a more efficient delivery mechanism for offline basemaps (whether exporting tiles from a vector tile service, delivering vector tiles in a vector tile package, or including in a mobile scene package).

Until now, if you wanted to work in 3D then you had to rely on image tile layers for your basemaps. Now you can use vector tile layers, not only with our default basemaps, but also with your own custom styles created with the ArcGIS Vector Tile Style Editor. This also means that you can now take advantage of the API Key enabled ArcGIS Platform basemap styles when working in 3D.

Animating through vector tile styles in 3D
Animating through vector tile styles in 3D

You can also use vector tiles in 3D with your own data, which can simplify designing applications that work in both 2D and 3D, as well as any data publishing workflows you might have in place to support your apps.

We’re very excited to bring you this initial 3D vector tile support, and we’ll be improving both 2D and 3D support for vector tiles over the next few releases.

I3S 1.7 & 1.8 on mobile

At 100.12 we introduced support for Indexed 3D Scene Layer (I3S) versions 1.7 and 1.8 on desktop devices, and now we bring that to mobile. This delivers improvements to rendering, memory usage, and CPU usage, as well as reducing network requests. While these were great improvements for desktop solutions, they are arguably all the more impactful for mobile applications that have to contend with variable quality network connections and limited battery life. See the ArcGIS Runtime release notes (.NET, iOS, Android, Qt) to learn how to take full advantage of the latest improvements with your own data.

Indoor positioning

ArcGIS IPS is an indoor positioning system that works with beacons and a building survey to provide your location in real time while inside a building. It supports wayfinding, location tracking and sharing, and location data collection and analytics.

Update 13 delivers the first step in supporting indoor positioning with a new Indoors Location Data Source. This works with an ArcGIS IPS indoor positioning file and Bluetooth beacons to deliver an indoor blue dot experience via the Runtime’s Location Display, automatically falling back to GPS when necessary.

We will be expanding and improving Runtime support for indoor positioning in future releases. You can learn more about ArcGIS IPS here, and how to get started here.

Display Filters

Display filters hide data from view while still retrieving that data and retaining it on device. This was designed to support utility networks which may have many related pieces of equipment clustered together (for example, a transformer within a transformer bank), but where it’s still important to retrieve and work with all the features even if you don’t need to see them all at once. The map display can be made much clearer by only displaying specific features, but you can still identify and select any features, visible or not.

Display filters use a where clause to specify which features to render, and can be applied explicitly, or based on a scale range. While they’re intrinsically useful when working with utility networks, developers can make use of them with any feature data to help declutter their maps or scenes.

Dimension Layers

Dimension layers can now be read and displayed from mobile map packages, mobile geodatabases, and ArcGIS Enterprise services to present schematic distance measurements on your map. Dimensions often go hand in hand with annotations, and behave similarly.

Dimensions showing distances between pylons
Dimensions showing distances between pylons.

Dimensions support identify, selection, and visibility control, and participate in deconfliction with other labels in the map.  Dimensions are currently read-only in ArcGIS Runtime.

Contingent Values

Contingent values allow feature attribute edits to be restricted by the value of another attribute on that feature. This is similar to working with domains, but domains only consider a single attribute in isolation. For example, if your feature includes the make and model of a car, when the make is “Honda”, then valid models might be “Civic”, “Accord”, “CR-V”, etc.. However, you shouldn’t be able to set the model to any of those values if the car is a “Toyota”, in which case you should instead only be able to pick from “Highlander”, “RAV4”, “Prius” etc.

These rules are delivered by the feature table definition, and Runtime can validate that they are applied correctly to edited data. In addition, Runtime provides methods for you to get valid values for a given field, and to validate edits before applying them, so you can include contingent values in custom data collection and editing workflows.

Utility Network full deletion semantics

We’ve expanded association deletion semantics with utility networks. Runtime now supports Cascade (where associated features are deleted if the container is deleted), Restrict (where the container cannot be deleted if it contains associated features), and of course None (allowing a container to be deleted but not deleting it’s associated features), where specific rules are configured in the utility network definition.

Toolkit components

The toolkit team has been hard at work to bring search, basemap selector, and floor selector widgets to a number of the SDKs. See the toolkits for each SDK for more details (.NET, iOS, Android, Java, Qt).

Downloadable standalone documentation

You can now download your SDK’s documentation (Guide, API Reference, Samples, and Tutorials) to use without a network connection, served from a local web server. Many developers find themselves behind a restrictive firewall or even, in the case of building apps around Runtime’s offline capabilities, unable to access a network at all. Documentation is now available for the 100.12 and 100.13 releases, and will be made available for all future releases.

Other enhancements

There are so many more enhancements we’ve included in this release that we couldn’t cover them all in detail. Here, in no particular order, are some of the key ones:

For more details on each of these, head on over to the release notes for Android, iOS, Qt, .NET, and Java.

Download and get started

To get your hands on version 100.13, go to the ArcGIS Developers web site, browse to the ArcGIS Runtime SDK page of your choice and download the SDK. You can also reference the SDK through NuGet, Gradle, Swift Package Manager, or CocoaPods. If you’re new to developing with ArcGIS Runtime, each SDK (.NET, iOS, Android, Java, and Qt) has rich guide documentation, API Reference, Tutorials, and samples. Simply sign up for a free ArcGIS Developer account and you’ll be able to access everything you need to develop your app.

About the authors

Nick Furness

Nick Furness is a Product Manager for the ArcGIS Maps SDKs for Native Apps, and Game Engines, specializing in Swift and iOS. He's spent over 20 years working in the GIS space building projects ranging from small mom-and-pop solutions all the way up to enterprise utility and national government deployments. Nick presents at various Esri Developer Summits, the User Conference, and many other events, almost always talking about something to do with the Native Maps SDKs although you might find the odd bit of JavaScript thrown in there.

Connect:

Rex Hansen is a Product Manager for the ArcGIS Maps SDKs for Native Apps and ArcGIS Maps SDKs for Game Engines. He has over 25 years of experience in GIS, spatial analytics, and computer mapping. Currently, he guides the development of native technologies in the GIS industry to use authoritative geospatial content and analysis in offline workflows, photorealistic experiences, and immersive, extended reality solutions.

Connect:
0 Comments
Inline Feedbacks
View all comments

Next Article

Crafting conservation stories — protecting our planet, one story at a time

Read this article