Class FeatureLayer
A layer that can visualize feature data.
Implements
Namespace: Esri.ArcGISRuntime.Mapping
Assembly: Esri.ArcGISRuntime.dll
Syntax
public class FeatureLayer : Layer, INotifyPropertyChanged, ILoadable, ILayerContent, IPopupSource, ITimeAware, IFloorAware, ISnapSource, IFeatureFormSource
Remarks
Feature layers can display Feature data from a range of online feature table sources, such as
Service
Feature layers can also be used to store features associated with a utility network.
To display features in a Feature
Feature layers can be used to display, select, and query features in a layer. Individual features can be queried and filtered based on spatial queries or SQL queries. String comparisons for features queried in service feature tables are case insensitive.
If the underlying feature service or table supports editing, you can use it with a feature layer as a basis for editing geometry, attributes, and attachments.
The features in a feature layer are retrieved as needed by the app. Features can be downloaded from a sync-enabled feature service when the device is connected and cached locally for use when the device is offline. Edits can then be synchronized back to the service.
Functional characteristics
The following are sources that can be rendered using a feature layer.
Feature service - Backed by a Service
Geodatabase — Backed by a Geodatabase
Shapefile — Backed by a Shapefile
Geopackage — Backed by a Geo
Web Feature Service (WFS) — Backed by a Wfs
OGC API Features - Backed by an Ogc
The features displayed in a Feature
Feature
Performance characteristics
The feature layer offers excellent display performance when zooming and panning the map within the extent of locally cached features. This is because features are drawn natively and full feature information is cached locally in a geodatabase, shapefile, or GeoPackage. Querying features is also efficient, enabling app functions such as real-time updates of query results in a map.
Initially, a local cache must be created. The initial download to the device may require extensive network usage and subsequent local device storage. App memory usage increases with the number and complexity of the features cached. You can eliminate the network usage by provisioning the cache directly to the device in advance
If the feature layer's Feature
- On interaction cache — Features are requested automatically for the visible map or scene extent. As the user pans and zooms, features are cached locally. If the user returns to an area where features have already been loaded, the table won't need to download those features again.
- Manual cache — Features are manually populated using a call to the PopulateFromServiceAsync(QueryParameters, Boolean, IEnumerable<String>) method. Once populated, all queries are made against the local table only. This method can be called again to retrieve more features from the service.
- On interaction, no cache—Features are requested automatically for the visible map extent. As the user pans and zooms, features outside the visible extent are not cached and must be downloaded again each time.
Constructors
Name | Description |
---|---|
Feature |
Initializes a new instance of the Feature |
Feature |
Initializes a new instance of the Feature |
Feature |
Initializes a new instance of the Feature |
Feature |
Initializes a new instance of the Feature |
Properties
Name | Description |
---|---|
Definition |
Gets or sets a SQL expression which limits the features available for query and display on the feature layer. |
Display |
Gets or sets the value that defines how features are filtered from the display. |
Feature |
Gets the user interface to display when editing a feature in this layer. |
Feature |
Gets or sets the properties for dynamically aggregating and summarizing groups of features as the map scale or visible extent changes. |
Feature |
Gets or sets the Feature |
Floor |
Gets or sets the properties that allow a feature layer to be floor-aware. |
Full |
Gets the temporal window that encapsulates the instance's complete set of data |
Is |
Gets or sets a value indicating whether the Popup |
Is |
Gets or sets a value indicating whether the instance respects any temporal filters that are applied to it. |
Label |
Gets a modifiable collection of Label |
Labels |
Gets or sets a value indicating whether labels should be displayed. |
Popup |
Gets or sets the pop-up definition for the FeatureLayer. |
Refresh |
Gets or sets the refresh interval on a Feature |
Renderer | Gets or sets the renderer that specifies how the features are symbolized. |
Rendering |
Gets or sets a value indicating how the feature layer is rendered. |
Scale |
Gets or sets a value indicating whether the layer's symbols and labels honor the Map reference scale. |
Scene |
Gets or sets the scene properties that are applied when the layer is rendered in a 3D scene using a scene view object. |
Supports |
Gets a value indicating whether the instance supports filtering its data based on time. |
Tiling |
Gets or sets the mode defines whether feature tiling is used to retrieve the features from the feature service. |
Time |
Gets a temporal value that represents the suggested temporal interval to use when sequentially stepping through the instance's data by time |
Time |
Gets or sets the amount of time by which to offset the temporal values of data points in this instance when displaying the data in a
Geo |
Unknown |
Gets unknown data from the source JSON. |
Unsupported |
Gets unsupported data from the source JSON. |
Methods
Name | Description |
---|---|
Clear |
Clears all selected features. |
Get |
Returns a list of the currently selected features. |
Reset |
Resets the visibility of all features back to their original state. |
Reset |
Resets the renderer back to the original renderer provided by the Feature |
Select |
Selects the given feature and adds it to the current list of selected features. |
SelectFeatures(IEnumerable<Feature>) | Selects the features in the list and adds them to the current list of selected features. |
Select |
Selects the features that match the criteria in the Query |
Select |
Selects the features that match the criteria in the Query |
SetFeaturesVisible(IEnumerable<Feature>, Boolean) | Sets the visibility of the given features. |
Set |
Sets the visibility of the given feature. |
Unselect |
Unselects the given feature and removes it from the current list of selected features. |
UnselectFeatures(IEnumerable<Feature>) | Unselects the given features and removes them from the current list of selected features. |
Events
Name | Description |
---|---|
Full |
Raised when the Full |
See Also
Applies to
Target | Versions |
---|---|
.NET Standard 2.0 | 100.3 - 200.6 |
.NET | 100.13 - 200.6 |
.NET Windows | 100.13 - 200.6 |
.NET Android | 200.0 - 200.6 |
.NET iOS | 200.0 - 200.6 |
.NET Framework | 100.0 - 200.6 |
Xamarin.Android | 100.0 - 100.15 |
Xamarin.iOS | 100.0 - 100.15 |
UWP | 100.0 - 200.6 |