Class ArcGISFeature
Represents an ArcGIS specific feature stored in an ArcGISFeatureTable.
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
Applies to
| Target | Versions |
|---|---|
| .NET Standard 2.0 | 100.3 - 200.8 |
| .NET | 100.13 - 200.8 |
| .NET Windows | 100.13 - 200.8 |
| .NET Android | 200.0 - 200.8 |
| .NET iOS | 200.0 - 200.8 |
| .NET Framework | 100.0 - 200.8 |
| Xamarin.Android | 100.0 - 100.15 |
| Xamarin.iOS | 100.0 - 100.15 |
| UWP | 100.0 - 200.8 |