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:
Call Loadable.load() on each feature.
Call ServiceFeatureTable.loadOrRefreshFeatures(MutableListImpl) and pass a mutable array of the features to be loaded.
Call ServiceFeatureTable.queryFeatures(QueryParameters, QueryFeatureFields) with the constant QueryFeatureFields.LoadAll, which returns all features in a fully loaded state.
For more information, see the class description for ServiceFeatureTable.
Gets the corresponding FeatureSubtype for this feature. If this feature belongs to an ArcGISFeatureTable that defines an ArcGISFeatureTable.subtypeField, a FeatureSubtype that matches FeatureSubtype.code with this feature's attribute value for subtype field is returned; otherwise, this will return null.