Show / Hide Table of Contents

Class ArcGISFeature

Represents an ArcGIS specific feature stored in an ArcGISFeatureTable.

Inheritance
System.Object
GeoElement
Feature
ArcGISFeature
Implements
System.ComponentModel.INotifyPropertyChanged
ILoadable
Feature.Refresh()
Feature.FeatureTable
Feature.Geometry
Feature.GetAttributeValue(String)
Feature.GetAttributeValue(Field)
Feature.SetAttributeValue(String, Object)
Feature.SetAttributeValue(Field, Object)
Feature.INotifyPropertyChanged.PropertyChanged
GeoElement.Attributes
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Esri.ArcGISRuntime.Data
Assembly: Esri.ArcGISRuntime.dll
Syntax
public sealed class ArcGISFeature : Feature, INotifyPropertyChanged, ILoadable
Remarks

ArcGIS features are stored in ArcGIS specific data sources such as a GeodatabaseFeatureTable or ServiceFeatureTable. Since ArcGISFeature is a subclass of Feature, it contains a geometry that defines its location and shape, and a set of attributes that describe the real-world entity it represents.

In addition, ArcGISFeature objects can also contain:

  • Feature attachments such as images or documents, that can be edited, updated or deleted.
  • Feature subtypes that define different default values or domains for fields.
  • The ability to relate this feature to another ArcGISFeature.
  • Geometry that has m-values, which are typically used for linear referencing.

If you create a ServiceFeatureTable from the URL of a feature service, features in the table are initially in one of the following states:

  • A minimum set of attributes are available in the table, and m-values are omitted. This is an optimization for faster rendering.
  • All attributes defined by the service are available in the table, including m-values, which might be NaN.

The initial state of features is determined by the feature request mode of the table. For important details, see FeatureRequestMode.

By default, a query on ArcGISFeature objects in a minimum state returns them in the same state. To access all attributes (or the m-values) of features returned by a query, you must load the features. You can do one of the following:

  • Call LoadAsync() on each feature.
  • Call LoadOrRefreshFeaturesAsync(IEnumerable<Feature>) and pass a collection of features to be loaded.
  • Call QueryFeaturesAsync(QueryParameters, QueryFeatureFields) with the constant LoadAll, which returns all features in a fully loaded state.

For more information, see the class description for ServiceFeatureTable.

Properties

Name Description
CanEditAttachments

Gets a value indicating whether attachments on this feature can be edited.

CanUpdateGeometry

Gets a value indicating whether geometry on this feature can be edited.

LoadError

Gets the load status of feature.

LoadStatus

Gets the load status of feature.

Methods

Name Description
AddAttachmentAsync(String, String, Byte[])

Asynchronously adds a new attachment to this feature.

CancelLoad()

Cancels an ongoing load.

DeleteAttachmentAsync(Attachment)

Asynchronously deletes the specified attachment from this feature.

DeleteAttachmentsAsync(IEnumerable<Attachment>)

Asynchronously deletes the specified attachments from this feature.

GetAttachmentsAsync()

Asynchronously retrieves a collection of Attachment associated with this feature.

GetFeatureSubtype()

Gets the corresponding FeatureSubtype for this feature.

LoadAsync()

Initiates loading of feature.

RelateFeature(ArcGISFeature)

Sets up a relationship between this feature and the provided feature.

RelateFeature(ArcGISFeature, RelationshipInfo)

Sets up a relationship between this feature and the provided feature based on the given relationshipInfo. See RelationshipInfo for more details.

RetryLoadAsync()

Retry loading feature.

UnrelateFeature(ArcGISFeature)

Removes the relationship between this feature and the provided feature.

UpdateAttachmentAsync(Attachment, String, String, Byte[])

Asynchronously updates the specified Attachment of this feature.

Events

Name Description
Loaded

Occurs when feature is loaded.

LoadStatusChanged

Occurs feature's LoadStatus is changed.

See Also

Attachment
FeatureSubtype
RelationshipInfo
ArcGISFeatureTable

Applies to

TargetVersions
.NET Standard 2.0100.3 - 200.7
.NET100.13 - 200.7
.NET Windows100.13 - 200.7
.NET Android200.0 - 200.7
.NET iOS200.0 - 200.7
.NET Framework100.0 - 200.7
Xamarin.Android100.0 - 100.15
Xamarin.iOS100.0 - 100.15
UWP100.0 - 200.7

Relevant samples

Create, delete, and update features: Add, delete, and update features (geometry and attributes) in a feature layer.
Edit feature attachments: Add, delete, and download attachments for features from a service.
List related features: List features related to the selected feature.
Map image layer tables: Find features in a spatial table related to features in a non-spatial table.
Perform valve isolation trace: Run a filtered trace to locate operable features that will isolate an area from the flow of network resources.
In This Article
Back to top Copyright © 2022 Esri.