This page provides details about enhancements in the 100.5 release of ArcGIS Runtime SDK for .NET. It also lists this release's deprecations, resolved issues, and known issues.
Enhancements
This section describes new features and improvements.
Maps and scenes
- Mobile scene packages are now supported in the ArcGIS Runtime allowing you to take scenes and their associated data offline. You can consolidate scenes and their data into a single
*.mspk
file using ArcGIS Pro 2.3 or higher and share the package with your ArcGIS organizational account or copy it directly to your mobile device. - Maps can now be rendered with support for reference scale. Reference scale is the scale at which symbols and labels appear at their intended, true size. As you zoom in and out beyond the reference scale, symbols and text will increase or decrease in size relative to the reference scale to keep a consistent size on the map. If no reference scale is set, symbols remain a constant size on the screen and do not change size as you zoom in or out. Individual layers in a map can opt in or out of honoring the map's reference scale.
- Annotation layers are now supported for display in maps. Annotation allows you to precisely control the placement and layout of text and is often used as an alternative to labels which are more dynamic. Annotation layers can be included for offline use in mobile map packages created from ArcGIS Pro 2.3 or higher or accessed over the network through Feature Services from ArcGIS Enterprise 10.7 or higher.
- Group layers are now available. Group layers combine multiple layers that are often displayed and managed together. You can create group layers locally from scratch in maps and scenes. Currently, saving group layers is only supported in web scenes.
- Point Scene layers are now supported to provide fast visualization of large amounts of 3D point features from ArcGIS Scene Services, Mobile Scene Packages (.mspk file) or Scene layer packages (.slpk file). Point scene layers use automatic thinning to improve performance by not displaying all the features at greater distances, rather, as you zoom in, additional features are displayed until you reach the highest level of detail, when all features will be shown.
- Point Cloud layers are available to support the display of sensor data such as LiDAR from ArcGIS Scene Services, Mobile Scene Packages (.mspk file) or Scene layer packages (.slpk file).
- Displaying subsurface content is now supported in scenes allowing you navigate that camera below the terrain and explore the data underneath. You can change
Surface.navigation
property to allow navigating below ground or you can change the opacity of the surface to view subsurface content from above the ground.Constraint
KML Tours
ArcGIS Runtime now supports playing tours contained in a KML file. Tours are a great way to guide users through KML data and highlight important aspects through narration and animations. The following tour actions are supported -
Fly
- fly to a specified location using a bounce or a smooth flying modeTo Wait
- wait the specified length of time before executing the next tour primitiveAnimated
- update KML features. Any changes that lend themselves to interpolation (that is, that contain intermediate states, such as changes in size) are animated over the specified duration.Update Sound
- play the specified sound file. Playing multiple sound files in parallel are supported.Cue
Web Feature Service (WFS)
ArcGIS Runtime now supports OGC Web Feature Service, including versions 2.0.0 and 2.0.2. You can:
- Connect to a WFS service and discover the available datasets
- Query data from a WFS service and display in a 2D map or 3D scene
- Query and load non-spatial datasets
- Use XML to perform advanced queries on the server
At 100.5, Runtime does not support editing WFS, taking WFS offline, opening WFS from a portal item, or reading and writing WFS from web maps and scenes. Runtime does not support complex features (those with nested attributes), which may affect INSPIRE services. Some geometry types, including those with Z and those with M, are not supported. When loading a WFS feature table, fields with names that start with gdb will be ignored. When populating a WFS feature table from a service, the QueryParameters Where
is only supported on services that accept CQL_FILTER, which includes GeoServer.
Symbology
- New Multi-layer Symbols API offers more flexibility and control over how to construct and represent symbols. These symbols can be composed of a number of different symbol layers that are combined together along with geometric effects to achieve high cartographic quality. The API closely mirrors the definition of symbols in the Cartographic Information Model spec.
- Arcade expressions on renderers in a web map or mobile map are now honored in ArcGIS Runtime. Expressions can be used in place of raw field values on these renderers to support smart mapping styles such as Predominance, Relationships, etc. These expressions can be authored using ArcGIS Pro or the Map Viewer web application in ArcGIS Enterprise or ArcGIS Online.
- 3D Line symbols such as volumetric tubes are now supported when displaying feature layers containing polyline geometry in web scenes.
Offline
- You can now choose to use an existing basemap that is located on the device when taking a map offline. This feature, called by reference basemap, removes the overhead of downloading a basemap for every map and is available for both the on-demand and preplanned offline workflows. The path to the basemap can be an absolute path or a path relative to the mobile map package.
- Image and vector tiles can now be downloaded from ArcGIS Online services using a polygon as the area of interest. This gives you greater precision to request only the tiles you need to support your operational data. This polygon support is available through
Export
,Tile Cache Task Export
andVector Tiles Task Offline
. ArcGIS Enterprise services already supported polygonal areas of interest with prior versions of Runtime.Map Task - The new Compact Cache V2 format of tile packages (
*.tpkx
file) available with ArcGIS Pro 2.3 is now supported in the ArcGIS Runtime. This format is based on an open specification and is optimized for fast access and improved performance. You can use the existingArcGIS
andTiled Layer Tile
APIs to support the new format. See Take a layer offline topic for more information on tile packages.Cache - The
Export
andTile Cache Task Offline
now support exporting tiles from an Image Service to support offline usage.Map Task - Time-based expiration of mobile map packages and mobile scene packages is now supported in ArcGIS Runtime. An author can choose either a hard expiration where the package is not usable after the expiry date, or a soft expiration where a warning message my be displayed to the user but the package is still usable after the expiry date. Packages with such expiration constraints can be created using an upcoming version of ArcGIS Pro.
Geocoding
The next generation locator format (.loc
file with associated .loz
data) available in ArcGIS Pro 2.3 is now supported in runtime. It offers better result matching, faster offline performance and a more compact file storage. All capabilities available with the previous format such as finding addresses, locations, and suggestions are supported with the new format using the same Locator
API.
Coordinate systems, projections, and transforms
- Coordinate systems: The projected coordinate systems for Las Vegas, Pima County, Serbia, and Saudi Arabia were added.
- Projections: The Equal Earth and Peirce Quincuncial projections were added.
- Transformations:
- Transformations for Slovenia, Saudi Arabia, Georgia (country), St. Pierre and Miquelon, Switzerland, and 19 others were added.
- File-based geographic/datum transformations were added for Belgium and Switzerland. These files are part of the projection engine .zip file that can be downloaded from the downloads page.
Memory optimizations
A number of enhancements have been made to conserve the amount of application memory required to display 3D scene layers. These enhancements include:
- supporting compressed ETC2 textures for mobile devices. ETC2 textures can be authored with ArcGIS Pro.
- releasing texture memory more aggressively
- using pre-defined or on-the-fly oriented bounding boxes (to improve culling of data not required to be rendered)
- optimizing data structures for vertices and indexing them to reduce redundancy
- and many more.
These enhancements have led to a memory reduction of 40-50% in many cases.
Local server compatibility
The new Local Server version 100.5 works with ArcGIS Runtime 100.5 and supports ArcGIS Desktop 10.7 and ArcGIS Pro 2.3. See Local Server Geoprocessing tool support topic for the list of Geoprocessing tools supported at 100.5.
API changes
Changes to feature selection API
These methods that were deprecated at 100.4 no longer function at 100.5:
Feature
Layer.selection Width
Behavior changes
- Selection of features and graphics has been completely redesigned and overhauled in order to improve performance by taking advantage of the GPU and also to accommodate new functionality in this release such as annotation and reference scale. As a result, the appearance of selected features and graphics has changed from previous releases. Visually, selection is now more bold, and displayed on top of all content in a map view or scene view rather than on just the selected features or graphics, making it more distinguishable and easier to spot in bright ambient light conditions. Read more about this change in this blog post: Selection behavior changes in Runtime 100.5.
- Starting from version 3.0 of mobile map packages, maps are returned from the package in the order in which they were added to the package, rather than alphabetically.
- Default parameters for taking a map offline using on-demand and pre-planned workflows are now based on the options chosen by the map author in the offline settings of the web map.
- Surface now returns elevation from the top most elevation source (i.e the source that was added last) when two or more overlapping sources contain information for the same location. In previous releases the bottom most source was used. This change now makes it consistent with how elevation data is displayed in a sceneview for overlapping sources, and is also consistent with how content is returned from operational layers (for example, in identify operations)
- When opening web scenes, scene layers containing integrated mesh data in the I3S format are now returned as
Integrated
type instead of the genericMesh Layer Scene
type that was previously used.Layer - Visibility analysis such as Viewshed and LineOfSight are now computed based on the geometry of the observer/target. Previously, the analysis was computed based on the center of the symbol used by the observer/target
Sketch
returnsEditor. Edit Configuration null
until the sketch editor is started (whenSketch
is called, in other words). In previous versions, it was possible to make changes to the edit configuration that would then be overridden whenEditor. Start Async Start
was called.Async
Deprecations
Support for iOS 10 was deprecated in a previous release and ArcGIS Runtime SDK 100.4 was the last release to support it. A minimum of iOS 11 is required at 100.5.
Support for development of UWP apps for the ARM32 architecture was deprecated in a previous release and ArcGIS Runtime SDK 100.5 is the last release to support it.
Issues resolved
- BUG-000118198 Highest LOD available in TPK not rendered at the appropriate map scale
- BUG-000116810
Query
performance is slower in v100.3 Runtime when compared to v10.2.x.Features - BUG-000115663 Setting
Max
parameter when performing a spatial query returns inconsistent resultsFeatures - BUG-000108264
Relationship
is not returned properly from a mobile map package.Info - BUG-000117456
Popup.
method crashes the application when the Popup field populates with minimum Date Value (1/1/0001).Getformatted Value() - BUG-000092734 Some of the KML files do not get loaded in 3D Scene view
- BUG-000116502 When quickly generating animated simple marker symbols, the style of the feature layer in the map is replaced by the style of the animated simple marker symbol.
- ENH-000115061 Request for disabling automatic realignment of the
Mapview
when theMapview.
is set to False.Location Display. Is Enabled - BUG-000116792 Layers in a mobile map package created using ArcGIS Pro do not respect label stacking properties.
- BUG-000108637 The
Reverse
method does not return all of theGeocode Async Result
found in theAttribute Names Geocode
Parameters - BUG-000104032 Collada models are not rendered correctly with
Model
.Marker Symbol - BUG-000103661 ArcGIS Runtime doesn't honor Arcade expression while consuming as a web map.
- ENH-000116571 Include information in the Local Server documentation that to create geoprocessing packages in ArcGIS Pro that are ArcGIS Runtime enabled, one must use the Package Result tool
- BUG-000115806 Rendering geodatabase crashes intermittently in ArcGIS Runtime application while the geodatabase is displayed without any issue in ArcGIS Pro.
- Invalid argument error occurs when adding a new or existing feature with geometry to the table
- BUG-000114231 A feature service layer with a picture marker symbol with x-offset or y-offset set is not displayed properly as a feature layer
- BUG-000117217 Graphics floating in draped mode in a scene (dynamic mode only)
- BUG-000116867 Deadlock in
Scene
on destructionView - BUG-000114143 Military symbols fail to display correct when resizing them in a Unique Value Renderer.
- BUG-000117464 Crash due to graphics list being modified at the same time the graphic objects are deleted
- BUG-000117464 Crash due to graphics list being modified at the same time the graphic objects are deleted
- BUG-000120016 Adding a multipoint object containing more than 250 points as a graphic using ArcGIS Runtime crashes the
Map
.View - BUG-000116279 Cannot create
Tile
from a path on Linux onlyCache - BUG-000116794 Loading MapImage Sublayers causes
Map
to draw incorrectlyImage Layer - BUG-000117070 When creating features in a downloaded offline map, Runtime returns the error message, "The table is not editable" when the feature service dataset uses the database time for editor tracking.
- ENH-000116951 How to handle Integrated Windows Authentication in ArcGIS Runitme?
- BUG-000118069
System.
thrown on assigning theThreading. Tasks. Task Canceled Exception Map
toView System.
in ArcGIS Runtime SDK WPF app.Windows. Forms. Integration. Element Host - PKI Authentication Crash. See this Esri Community post
- BUG-000117627 Using
Sketch
, an arrow is drawn in the reflected direction when the MapView displays the whole world map.Editor - BUG-000118762
Service
operation with complex geometry results in exception "Invalid URI: URI string too long"Feature Table Query - BUG-000117733 The 'GeometryChangedEventArgs' NewGeometry property returns an incorrect number of points after a point is deleted using 'MapView.SketchEditor.DeleteCommand.Execute'.
- BUG-000116526 ArcGIS Runtime must use POST request instead of GET when making
Feature
are too long.Table. Query Features Async - BUG-000118943 Slow performance of drawing tiles when zooming quickly using the mouse wheel.
Geometry
: Provide helpful error message when SR do not match. See this Esri Community post.Utils. Validate Spatial Reference - BUG-000120306 ArcGIS Runtime for .Net shows blank Map when it falls back to Software Rendering
Sketch
should be null when there is no active draw/edit. See this Esri Community post.Editor. Edit Configuration - PortalItem: GetDataAsync for secured portal item for download with OAuth header fails with Bad Request. See this Esri Community post.
- ArcGISWebException: null Message, does not fallback to use Detail. See this Esri Community post.
- SketchEditor: Adding vertex with magnifier when there's a pan. See this Esri Community post.
- SketchEditor: Freehand draw should not respond to flick. See this Esri Community post.
- Forms TabbedPage Android: switching between tabs breaks mapview.
- SketchEditor: Cannot undo moved vertex/geometry. See this Esri Community post.
- Forcing WPF to render in software causes the map to not render. See this Esri Community post.
- WMTSLayer may not use the right ResourceURLs, causing tiles to fail loading. See this Esri Community post.
- Cannot load WMTS services with empty Keywords. See this Esri Community post.
- WMTSLayer: URL template variables should be replaced in a case-insensitive way. See this Esri Community post.
Known issues
-
The .loz locator format is not supported by 32-bit apps. You may get an EXC_BAD_ACCESS error or an access violation when calling
Suggest
on a composite locator from a mobile map package.Async -
BUG-000119044 Shapefile polygon created from the Cut Polygons Tool in ArcMap causes
ArcGIS
when updating the shapefile from an ArcGIS Runtime application.Runtime Exception -
BUG-000117942 The deleteFeature() method fails to delete a feature completely from a shapefile..
-
BUG-000119455 ArcGIS Runtime's
Geocode
property returns no value for some geocoded addresses.Result. Label -
BUG-000118590 A mobile map package (.mmpk file) created using decorations in the cartographic line symbol does not return the expected results in an ArcGIS Runtime app.
-
BUG-000120409 WMTS service does not load if the tile matrices of the service in the GetCapabilities file are not in sequential order.
-
BUG-000120079 Labels do not honor frequency settings when a Vector Tile Package (.vtpk) is deployed in ArcGIS Runtime.
-
BUG-000118445 MapView fails to zoom out to the full extent of larger basemap when a basemap with smaller extent is replaced by the basemap with the larger extent.
-
BUG-000115930 Heavy scale dependent feature layer affects the performance of other feature layers in an .mmpk file.
-
BUG-000107742 Analysis Services cannot be used with an AGSGeoprocessingTask in an ArcGIS Runtime app.
-
BUG-000118443 The KMZ file does not display image as a photo overlay in ArcGIS Runtime.
-
BUG-000119797 ArcGIS Runtime does not honor custom ArcGIS Pro Billboard3D stylx symbology.
-
BUG-000119575 The
Angle
Property of aAlignment Multilayer
is not honored in a 3D scene but honored inPoint Symbol Simple
.Marker Symbol -
BUG-000118574 3D scene in an ArcGIS Runtime app (WPF) does not render properly when using DTED files as the elevation source.
-
BUG-000118517 An ArcGIS Runtime SDK for .NET app fails to render 3D data layer in a web scene from ArcGIS Online.
-
BUG-000119384 An ArcGIS Runtime SDK 100.4 app displays a blurry image of an image service hosted in System.Windows.Forms.Integration.ElementHost.
-
Esri.
: DirectX failure CreateQuery code = 0x887a0005. See this Esri Community post.ArcGIS Runtime. ArcGIS Runtime Exception -
Because some OGC services, such as WFS, WMS, WMTS, and KML, do not challenge clients to log in (with an HTTP/401 response code), the initial request for secured services must include login information. The following workaround is required to implement this workflow since .NET's HTTP client will not send a
Network
unless challenged for one.Credential -
Workaround: Handle the
Http
event to add network credential information to an authorization header.Request Begin Use dark colors for code blocks Copy private void EagerlyAddNetworkCredentials(object sender, HttpRequestMessage e) { var anyCred = AuthenticationManager.Current.FindCredential(e.RequestUri, AuthenticationType.NetworkCredential); if (anyCred is ArcGISNetworkCredential runtimeNetCred) { // If a NetworkCredential is found for this request, but we are still waiting to be challenged... if (!e.Headers.Contains("Authorization")) { // Generate an HTTP Basic Authorization header per RFC 2617 var netCred = runtimeNetCred.Credentials.GetCredential(e.RequestUri, "Basic"); var rawCredentialBytes = Encoding.GetEncoding("ISO-8859-1").GetBytes($"{netCred.UserName}:{netCred.Password}"); // Add it to the request e.Headers.Add("Authorization", $"Basic {Convert.ToBase64String(rawCredentialBytes)}"); } } } // Handle HttpRequestBegin by adding login info to an authorization header for the request ArcGISHttpClientHandler.HttpRequestBegin += EagerlyAddNetworkCredentials; // Add valid network credentials to the AuthenticationManger and load the service ...
-
-
Http authentication always returns "401 (Unauthorized)" for Xamarin Android and Xamarin iOS when using the native
Http
implementation (Client Android
andClient Handler NS
respectively). The code shown above for pre-authorizing in theUrl Session Handler Http
event can be used to workaround this issue.Request Begin -
Error when authenticating with a portal using IWA: "Your login session has been reset. Please try again.". This error may occur when the credentials used to authenticate have been updated (to a different user) but the cookie from the previous login is still stored.
-
Workaround:Explicitly expire the cookies for previous logins.
Use dark colors for code blocks Copy var credList = AuthenticationManager.Current.Credentials.ToList(); var clientHandler = new ArcGISHttpClientHandler(); foreach (var credential in credList) { if (credential.ServiceUri != null) { clientHandler.CookieContainer.GetCookies(credential.ServiceUri).Cast()?.ToList()?.ForEach(c => c.Expired = true); } AuthenticationManager.Current.RemoveCredential(credential); }
-