ArcGIS Runtime SDK for .NET

What's New in ArcGIS Runtime SDK 100.2.0

We are pleased to announce that ArcGIS Runtime SDK 100.2.0 is now available!

100.2.0, also known as “Update 2”, is the second major update to 100.0.0. This is an important release for many reasons. First, this release brings us closer to functional equivalency with 10.2.x versions of the Runtime. Second, 100.2.0 bridges most of the functional gaps between ArcGIS Engine and Runtime, allowing folks to plan their migration projects to the ArcGIS Runtime platform.

So, what’s new? There are some very significant themes featured in this release, including new layers and data sources, additional analysis tools, 2D and 3D rendering improvements, better handling of standard and custom geographic transformations, workflow productivity enhancements, bug fixes and more.

Here’s a closer look:

New Layers

OGC support in the Runtime SDKs continues to grow with Update 2. A new WMS layer is available that can display content from OGC-compliant WMS 1.3 services in maps and scenes. You can identify features that are displayed, and generate a legend for them. Other versions of the WMS specification will be supported in future releases.

A new ENC layer is available that can display content from ENC (Electronic Navigational Charts) data in the S-57 format. The Runtime implementation follows the S-52 Presentation Library 4.0 specification for rendering. You can identify features that are displayed, select features, and change various display settings for view groups, text, and other elements such as isolated dangers, contours, color scheme, etc. Support for the encrypted S-63 format will be added in a future release.

New data formats

Direct read of Shapefile datasets is now supported. Shapefiles can be added as a feature layer for display in maps and scenes. You can also add and edit features in the dataset through the shapefile feature table.

Support for the OGC GeoPackage format has also been added at this release. You can add vector and raster datasets in a GeoPackage to your maps and scenes as feature layers and raster layers respectively. You can also add and edit features in an existing GeoPackage feature table.

 

Rendering improvements

Feature layers can now be rendered dynamically in addition to statically, just like graphics overlays. You can set the rendering mode at the map or scene level via load settings, or on a by-layer basis at the feature layer level. Dynamic rendering improves the appearance and interactivity of features during map or scene navigation. Feature layers containing point geometries are rendered dynamically now by default and their symbols remain screen-aligned in map views and will be “billboarded” in scene views. Feature layers containing polygon or polyline geometries are still rendered statically by default, but you can choose to render them dynamically to allow for 3D behavior such as extrusion based on feature layer attributes and surface placement based on z values.

Display performance of graphics overlays has also been improved when updating large volumes of graphics, in some cases 2x faster compared to previous releases.

New multi-layer symbol types have been introduced to better represent working with feature layers that contain advanced cartography. At this release, these symbol types cannot be created by developers but can be authored in ArcGIS Pro and deployed through feature services, Mobile Map Packages, and Mobile Style files for use in the runtime. In future releases, these symbol types will be further expanded so that developers can produce sophisticated cartographic effects by combining multiple symbol layers.

Analysis

With the new Scene Analysis API you can define a variety of analyses to be performed using data displayed in the current 3D scene view, then render results that are updated dynamically. This release includes two types of scene visibility analyses: viewshed and line of sight. Viewshed highlights areas in your 3D scene that are visible from a given observer. Line of sight shows which segments are visible along a line drawn between an observer and a target location. For either type of analysis, the observer and/or target may be moving or stationary.

The new statistics query API allows you to get any of the following statistics for a specified field in a feature table: Sum, Average, Count, Minimum, Maximum, Standard Deviation, or Variance.

Coordinate systems and transformations

Geographic transformations (or datum transformations) can now be discovered, defined, used in the project function of the geometry engine class, and chosen to be used by default. Prior to this release, the most suitable transformations have been used automatically whenever data is projected. A new transformation catalog class lets you look up a list of the best transformations to use when projecting between two spatial references that have different datums. You can even pass in a specific envelope to get back transforms suitable for that specific area. You can define a transformation by well-known ID (WKID) or create a custom transformation using well-known text strings. You can also change the default transformation that is used internally. Both equation-based and grid-based transformations are supported.

Offline Maps 

This release enhances on-demand workflows with support for exporting and downloading vector tile packages from vector tile map services hosted by ArcGIS Online or ArcGIS Enterprise.  Vector tile packages contain a default style to define how tiles are rendered. Vector tile layers can also reference custom styles as resources in a portal item.  These styles can be downloaded and applied as resources to vector tile layers on the client.

This release expands your ability to take maps offline with the new preplanned workflow. Offline maps allow your users to continue being productive even when their network connectivity is poor or non-existent. The preplanned workflow supplements the existing on-demand workflow by providing an alternative approach of allowing the map author to define and pre-create offline map areas instead of the field worker. Your field workers can then download map areas as required. With both of these offline workflows, the field worker can synchronize any updates to operational data when connectivity is restored.

Localization of messages returned from network solvers

Directions returned by Route task and Closest Facility task are available in 10 additional languages – Danish, Finnish, Hindi, Croatian, Indonesian, Norwegian Bokmål, Romanian, Serbian, Vietnamese, and Chinese (Taiwan). If the requested language isn’t available, directions fall back to a default language instead of failing. Furthermore, error messages returned by Route, Service Area, and Closest Facility tasks are now consistent and translated into all supported languages.  NOTE: Java and Android will support this in the next major release.

Editing transactions

Transactional editing is now supported in the geodatabase and geodatabase feature tables. This allows you to perform several edits and then choose to commit all of them together as one unit, or roll them all back if any of them encounters an error. Nested transactions are not currently supported. NOTE: Qt will support this in the next major release.

Time support

You can now apply a time extent to map views and scene views to filter the display of content from time-aware layers. Time-aware layers include feature layers, map image layers, and raster layers. You can apply time offsets to time-aware layers, which can be used to compare data over time. You can also specify temporal parameters when querying a feature table. NOTE: Qt, Java and Android will support this in the next major release.

Other notable items of interest

Licensing details by class

We’ve added a useful resource to the guide that tells which classes in the API require which level of Runtime licensing. Find the  Licensing details topic in each of the API reference sections of the developer guide. Below is an example…

Migrating to 100.2

This topic provides some very handy high-level tips for planning your 100.2 migrations from previous Runtime versions. You can find the “Migrate to 100.x from 10.2.x” topic in each of the “Get started” sections of the developer guide.

Download and get started

To get 100.2.0, go to the ArcGIS for Developers web site, browse the ArcGIS Runtime SDK home page of your choice and download the SDK. You can also get it through Nuget, Gradle, or CocoaPods. If you are new to developing on the ArcGIS Platform and don’t already have an ArcGIS Developer subscription, simply sign up for a free account and you’ll be able to access to everything you need to develop your app.

For more details on this exciting release, see the specific release notes for Android, Qt, .NET, Java, iOS and macOS.

Next Article

Working With Soil Data from the Living Atlas in ArcGIS Pro

Read this article