Version 100.3.0 of ArcGIS Runtime (also known as Update 3) is a significant update, with a focus on performance improvements, greater parity with the full ArcGIS platform, and support for 3D Web GIS. This page provides details about these improvements and describes additional enhancements. It also lists deprecations, resolved issues, and known issues.
For release notes for the previous release, see Related topics near the bottom of this page.
This section describes new features and improvements.
As part of the improved support for 3D Web GIS capabilities of the ArcGIS Platform, you can now display web scenes from ArcGIS Online or ArcGIS Enterprise in your ArcGIS Runtime based apps. Web scenes can be quickly authored by apps such as ArcGIS Pro and Scene Viewer and then easily consumed by your apps, respecting the content, symbology, pop-ups and other settings that the author configured in the web scene. For more information about Runtime support for web scenes, see Runtime support for web scenes.
In addition, 3D content originating from scene layers can now be identified and selected, and their display can be customized through renderers in the web scene. And feature layers can be displayed with 3D symbols originating from web styles in ArcGIS Online or ArcGIS Enterprise.
- Interactive distance measuring is now supported in 3D. You can measure horizontal, vertical, and direct distances between two locations in a scene view.
- Viewshed analysis has been enhanced to support full 360 degrees horizontal field of view. Previously, only a maximum of 120 degrees was supported.
In previous versions, offsets for scene analysis, such as viewshed and line of sight, were incorrectly applied from the center of the model symbol. Rather, the scene analysis offsets should have been applied from the geometry location. This has now been resolved and there may be some cases where offsets used by your analysis may need to be changed or removed.
Scene view memory management
Scene view has been enhanced to keep memory utilization under a threshold when working with large amounts of 3D content on Android devices to prevent the application from running out of memory. The default limit is calculated on the basis of total system memory available and is shared by all scene views in the application. You can choose to override the limit through the MemoryLimit setting on the scene view. Refer to the API reference for more details.
Arcade expressions are now supported:
- In pop-ups for layer types (for example, feature layers) that support pop-ups. They're defined using the expression property on a pop-up definition.
- In label definitions for feature layers and graphic overlays. They're defined in JSON using the expression property on the labelExpressionInfo object.
- In visual variables within renderers defined for feature layers in web maps and mobile map packages. Feature layers must be rendered in static mode to honor visual variables in renderers.
See this SDK's API reference for details on using Arcade. For general information on Arcade and Arcade's function reference, see the ArcGIS Arcade guide.
WMS support has been enhanced:
- WMS layers are now time aware and support filtering their contents based on a time range or time instant.
- You can discover available styles in the service and set the style of a layer to customize its display.
- You can now specify custom parameters to be sent to the service. This is useful, for instance, if the service requires custom authorization parameters in the HTTP requests.
- WMS layers now automatically display attribution information of the service in a map view or scene view .
Improvements have been made to provide finer control over label placement. These refinements allow for a more consistent display of labels when using mobile map packages (.mmpk files) generated from ArcGIS Pro. You can now do the following:
- Allow overlap of a label with other features or labels based on weights to assign relative importance and define priorities when there is a conflict
- Specify an offset distance of a label from the symbol based on screen units.
- Stack multiple lines of text with custom line separators and choose whether line break should occur before or after the separator, whether the separator should be visible, etc. Previously, only whitespace characters were considered for inserting line breaks.
Query support for map image layer
You can now query sublayers and tables from a map image layer in the same way you query feature layers. The query can be based on attributes and/or spatial relationships and can also be used to return summary statistics or related features. Also, a new method has been added to conveniently load all the sublayers and tables contained in the layer so that their data can be accessed.
Support for App-6(B) and App-6(D) military symbology specifications has been added. You can use the corresponding style files to display symbols based on these standards in your ArcGIS Runtime apps.
Transactional edit support
Transactions allow your app to commit or roll back a set of edits as one transaction. Other ArcGIS Runtime APIs introduced this at Update 2, and Qt now supports this feature at Update 3.
Pagination of query results
Pagination allows your app to set a result offset in the QueryParameters so that results can easily be paginated. Other ArcGIS Runtime APIs introduced this at Update 2, and Qt now supports this feature at Update 3.
The TimeAware interface was added and implemented by FeatureLayer, RasterLayer, ArcGISMapImageLayer, and WmsLayer. Your app can set a time extent on the GeoView, and all participating layers will be filtered by the time extent. Other APIs introduced this at Update 2, and Qt now supports this feature at Update 3.
Creatable Error object
The Error object is now creatable. This means that you can create custom error objects throughout your apps and utilize the same error handling logic throughout your apps, as well as provide additional details for any known issues.
Support for OpenGL rendering on Windows
Qt has two different rendering engines for the Windows platform: OpenGL and DirectX via ANGLE. By default, Qt will try to render using OpenGL. If the required drivers are not available, Qt will fall back to using ANGLE for rendering. Previous releases of ArcGIS Runtime supported only ANGLE. Your apps can fully support both OpenGL and ANGLE so that you can utilize either rendering engine and Qt's fallback mechanism when OpenGL cannot be used on a given system. For more information, see Qt's documentation .
QML numeric properties as string or int
Before Update 3, size and ID properties of some QML types were always returned as strings due to a limitation of the QML integer type to 32-bit integers. You can now request many properties as a QML int.
Time slider toolkit component
Coinciding with our new TimeAware support is a ready-to-use Toolkit component that allows your app to filter data based on time. The TimeSlider allows you to play and pause an animation of your spatiotemporal data.
Coordinate conversion toolkit component
The SDK's Toolkit now provides a UI component to help you convert a given coordinate to one or more different formats. For example, you could convert from Decimal Degrees to MGRS with this tool. The UI of this new tool uses the modern Qt Quick Controls 2 module.
Other Qt SDK improvements
- Improved API documentation details were added, as well as additional code snippets added throughout the documentation.
- Dozens of new samples were added, with an emphasis on providing more fundamental samples for objects such as Geometry and GeometryEngine samples.
- Expanded and reorganized layers topics. A new table summarizes supported layers and their capabilities.
- Expanded and reorganized map and scene documentation.
Support for Ubuntu 14.04 is deprecated. A minimum of Ubuntu 16.04 will be required at a future release.
Support for iOS 10 is deprecated. A minimum of iOS 11 will be required at a future release.
Support for macOS 10.12 (Sierra) is deprecated. A minimum of macOS 10.13 (High Sierra) will be required at a future release.
- BUG-000112740 The first feature added to an empty shapefile does not display until a second feature is drawn.
- BUG-000114262 An error may occur in EncExchangeSet::getPaths resulting in inability to load EncLayer
- BUG-000110150 Application with a universal transverse Mercator (UTM) spatial reference may crash when the MapView is centered on a location outside the full extent of all layers
- BUG-000109558 Opening a mobile map package fails with the error, "Internal Error" when the map in the mobile map package contains German umlauts in the map name.
- BUG-000114330 When WMTS services have a reverse order for tile matrices, the layer requests incorrect tiles from the service resulting in 404-Not Found error and layer not added to map.
- ENH-000107768 Request to add Runtime API to load a Web Scene PortalItem to Scene
- BUG-000111237 Application may crash when zooming into a viewpoint with very small geometry.
- BUG-000109728 OfflineMapSyncTask doesn't update the feature service in the webmap if the spatial reference of the feature service isn't Web Mercator.
- BUG-000111867 CompositeSymbol doesn't display properly when it is applied to a Graphic with a Geometry of Envelope
- BUG-000112435 Vector tiled layer constructed from a vector tile package (.vtpk) containing very large sprites crashes the Runtime application on the machine with a high screen display resolution
- BUG-000112114 "Out of Range" error is received while calculating a route when multi-part polylines are present in the source feature classes of the network dataset
- ENH-000108221 Request to add MapServer/DynamicLayer support for FeatureLayer or ServiceFeatureTable
- BUG-000106101 Vector tiles may fail to display some Chinese characters.
- BUG-000109215 Symbology layer effects in Mobile Map Package are not rendered correctly.
- BUG-000114411 Elevation exaggeration of Surface does not give expected results when the image service has a negative elevation
- BUG-000112713 Faulty display of military symbols in 3D
- BUG-000111565 Lines created on the GraphicsOverlay with "Dynamic" Rendering mode on 3D doesn't render completely when zooming in
- BUG-000113632 Feature collection points continue to draw although they do not satisfy the definition expression.
- BUG-000113575 Race condition is causing a crash with GraphicsOverlays in a MapView on Linux
- BUG-000113595 Cannot create a new application in Qt creator (5.10.1) using Runtime Qt 100.2 and 100.2.1
- BUG-000099242 Japanese labels in a mobile map package are not displayed
- BUG-000113630 Application may crash when loading VectorTileLayers that require large amount of memory
- BUG-000101144 Rotating a vector tile map causes the screen to flash.
- BUG-000110656 Gradient fill symbols are displayed as black BUG-000113946 Performance issue of MapView.IdentifyLayerAsync method
- BUG-000109949 Locator Task from a Mobile Map Package may return suggestions even for invalid addresses.
- BUG-000109987 Labels generated by python in a map package (.mpk) may not display correctly
- BUG-000109554 Aplication may encounter an error when trying to display a tile package (.tpk) containing only one Level of Detail.
- BUG-000108845 Mosaic Dataset doesn't display NoData pixels properly
- BUG-000111375 Locator created from ArcMap 10.5 does not provide 'Match_addr' or 'Label' even if the score is 100.
- BUG-000107292 Setting the opacity of a FeatureLayer displayed in a SceneView causes the layer to turn white and opaque.
- BUG-000104032 Collada models are not rendered correctly with ModelMarkerSymbol.
- BUG-000107500 Layer in a Mobile map package based on a unique value renderer may not render correctly
- BUG-000103301 Some military line symbols do not display in the correct location
- BUG-000111519 Without elevation source the SceneView::screenToLocation function provides invalid "z" values
- BUG-000113128 UniqueValueRenderer fails to draw features when using values of type unsigned int
- BUG-000114143 Military symbols fail to display correctly when resizing the symbols in a unique value renderer
- BUG-000114174 Some mil2525c symbols fail to render properly
- BUG-000103765 The << operator outputs incorrect value for Geometries