ArcGISFeature class final

An ArcGIS specific feature stored in an ArcGISFeatureTable.

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:

For more information, see the class description for ServiceFeatureTable.

Inheritance
Mixed-in types

Properties

attributes → Map<CaseInsensitiveString, dynamic>
The attributes of the GeoElement as a collection of name/value pairs. Keys are case-insensitive.
no setterinherited
canEditAttachments → bool
True if attachments on this feature can be edited, otherwise false.
no setter
canUpdateGeometry → bool
True if the geometry of this feature can be edited, otherwise false.
no setter
featureTable → FeatureTable?
The FeatureTable that this feature belongs to.
no setterinherited
geometry ↔ Geometry?
The geometry defines the shape and location of the GeoElement.
getter/setter pairinherited
hashCode → int
The hash code for this object.
no setterinherited
loadError → ArcGISException?
The load error.
no setterinherited
loadStatus → LoadStatus
The load status.
no setterinherited
onLoadStatusChanged → Stream<LoadStatus>
A stream that reports changes to the LoadStatus.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

addAttachment({required String name, required String contentType, required Uint8List data, String keywords = ''}) → Future<Attachment>
Adds a new attachment, with keywords, to this feature.
addAttachmentWithFile({required String name, required String contentType, required Uri fileUri, String keywords = ''}) → Future<Attachment>
Adds a new attachment, with keywords, to this feature from the specified file.
cancelLoad() → void
Cancels loading metadata for the object.
inherited
deleteAttachment(Attachment attachment) → Future<void>
Deletes the given attachment from this feature.
deleteAttachments(List<Attachment> attachments) → Future<void>
Deletes the given attachments from this feature.
fetchAttachments() → Future<List<Attachment>>
Gets a collection of attachments on this feature. Attachments are returned in descending order based on their id.
getFeatureSubtype() → FeatureSubtype?
Gets the corresponding FeatureSubtype for this feature.
load() → Future<void>
Loads the metadata for the object asynchronously.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
refresh() → bool
Resets the attributes and geometry to the values in the data source.
inherited
relateFeature(ArcGISFeature feature, {RelationshipInfo? relationshipInfo}) → void
Sets up a relationship between this feature and the provided feature based on the given relationshipInfo. See RelationshipInfo for more details.
retryLoad() → Future<void>
Loads or retries loading metadata for the object asynchronously.
inherited
toString() → String
A string representation of this object.
inherited
unrelateFeature(ArcGISFeature feature) → void
Removes the relationship between this feature and the provided feature.
updateAttachment(Attachment attachmentInfo, {required String name, required String contentType, required Uint8List data, String keywords = ''}) → Future<void>
Updates the given attachment, with keywords, of this feature.
updateAttachmentWithFile(Attachment attachmentInfo, {required String name, required String contentType, required Uri fileUri, String keywords = ''}) → Future<void>
Updates the given attachment, with keywords, of this feature.

Operators

operator ==(Object other) → bool
The equality operator.
inherited