Ogc Feature Collection Table
An OGC API - Features feature collection table. To display data from an OGC feature collection table in a com.arcgismaps.mapping.layers.FeatureLayer use the com.arcgismaps.mapping.layers.FeatureLayer.FeatureLayer constructor where the OgcFeatureCollectionTable is the parameter that is passed into the constructor. Note: The OgcFeatureCollectionTable should not be confused with FeatureCollectionTable which is used as an input to create a FeatureCollection.
This API provides building blocks for manipulating OGC Features on the Web. For more information about the OGC API Features specification, see the documents: OGC API - Features - Part 1 and OGC API - Features - Part 2.
The class includes two important pieces: the OgcFeatureCollectionTable.featureRequestMode property and the OgcFeatureCollectionTable.populateFromService methods. Only the FeatureRequestMode.ManualCache mode is supported. This means that one of the OgcFeatureCollectionTable.populateFromService methods must be called to populate, query, and return features from the service.
For the QueryParameters.whereClause used by the OgcFeatureCollectionTable.populateFromService methods, you can put any CQL2-TEXT or CQL2-JSON string as defined in the document Common Query Language (CQL2). Use the OgcFeatureCollectionTable.populateFromService method to explicitly specify the query language of the QueryParameters.whereClause.
When populating or updating a local table from an OGC service, you can now request features in a specified com.arcgismaps.geometry.SpatialReference (also referred to as SRS in ArcGIS or CRS in OGC). This leverages the power of the server to return features in the same spatial reference as your map rather than having to re-project them on the client.
This class supports loading and querying of features from a non-spatial OGC feature collection table.
Since
200.1.0
Constructors
Properties
The OGC API - Features feature collection metadata, which includes id, title, and description.
The mode defining when features are requested from the service. You must set the feature request mode to FeatureRequestMode.ManualCache before attempting to populate the table using OgcFeatureCollectionTable.populateFromService.
Inherited properties
A user-friendly name that can be displayed in the UI (for example, in a Table of Contents). If the table is displayed with a com.arcgismaps.mapping.layers.FeatureLayer, the FeatureTable.displayName is used as the com.arcgismaps.mapping.layers.FeatureLayer.name.
The type of geometry of the features stored in this table. If FeatureTable.hasGeometry is false, then the geometry type is com.arcgismaps.geometry.GeometryType.Unknown.
True if the feature table supports geographic features, false otherwise.
True if this feature table is editable, false otherwise. Underlying file permissions (for subclasses such as ShapefileFeatureTable and GeodatabaseFeatureTable) can be changed while the feature table is open. In these cases the value of this property may not be accurate.
A flag indicating whether the PopupDefinition defined on the PopupSource is enable / disable. Will return false if an error occurs.
The layer that displays this table, if any. The com.arcgismaps.mapping.layers.Layer type depends on how the feature table is created. For example, a com.arcgismaps.mapping.layers.Layer will be an com.arcgismaps.mapping.layers.AnnotationLayer if the FeatureTable is created from a table that supports annotation. See com.arcgismaps.mapping.layers.Layer for more information about the supported layer types.
The load status.
The number of features in the table. If all the features are stored in the local table, for example with a GeodatabaseFeatureTable or a ShapefileFeatureTable, then the FeatureTable.numberOfFeatures will return the full number of features.
The pop-up definition. The PopupDefinition associated with the popup source. A null if an error occurs or if the popup source is not associated with a pop-up definition.
The spatial reference of the table. A spatial reference defines how the coordinates of a feature's com.arcgismaps.geometry.Geometry correspond to locations in the real world. For more information, see the com.arcgismaps.geometry.SpatialReference class or the Spatial references documentation.
Functions
Populate the OGC API - Features feature collection table with the results of a query. Populates the OgcFeatureCollectionTable with features from the service that match the query parameters. Use the default (empty) QueryParameters to get all features from the service. Specifying an empty Iterable for outfields will result in the default set of outfields being used. Spatial queries (those that specify geometries) must use the Intersects spatial relationship.
Inherited functions
Adds a feature to the table. Adding a feature that contains a com.arcgismaps.geometry.Geometry causes the geometry to become simplified. This may change a single part geometry to a multipart geometry, or round off X, Y, Z, and M coordinate values that are above the resolution set by the com.arcgismaps.geometry.SpatialReference.
Adds a collection of features to the table.
Determines whether you can add new features to the table. Although this method may state that the table allows new features to be added, the application may not be licensed to permit this. For example, a user cannot add features to a secured feature table if the application is licensed at the Lite level (com.arcgismaps.LicenseLevel.Lite).
Cancels loading metadata for the Loadable object.
Determines whether you can delete the feature from the table. Although this method may state that the table allows the feature to be deleted, the application may not be licensed to permit this. For example, a user cannot delete features from a secured feature table if the application is licensed at the Lite level (com.arcgismaps.LicenseLevel.Lite).
Determines whether you can edit the geometry field in a table. Although this method may state that the table allows geometry fields to be edited, the application may not be licensed to permit this. For example, a user cannot update geometry in a secured feature table if the application is licensed at the Lite level (com.arcgismaps.LicenseLevel.Lite).
Determines whether you can update the feature in the table. Although this method may state that the table allows the feature to be updated, the application may not be licensed to permit this. For example, a user cannot update features in a secured feature table if the application is licensed at the Lite level (com.arcgismaps.LicenseLevel.Lite).
Creates a new empty feature. The new feature is only available in memory at this point. Execute FeatureTable.addFeature to commit the new Feature to the table.
Creates a new feature with the provided attribute values and, optionally, geometry. The new feature is only available in memory at this point. Execute FeatureTable.addFeature to commit the new Feature to the table.
Deletes a feature from the table. Deleting a feature from a GeodatabaseFeatureTable in a stand-alone mobile geodatabase created with ArcGIS Pro is not supported when the table participates in a controller dataset, such as a utility network or parcel fabric. Use FeatureTable.canDelete to determine if this operation is allowed.
Deletes a collection of features from the table.
Determines the minimum bounding envelope that contains features satisfying the provided query parameters. If no features meet the query criteria, an empty envelope is returned.
Determines the count of features that satisfy the provided query parameters.
Submits a query against the table.
Calculates values for the requested statistics. Statistics query parameters may also define fields on which results are grouped or sorted.
Updates a feature in the table. If you update a feature that contains a com.arcgismaps.geometry.Geometry, the geometry becomes simplified. This may change a single part geometry to a multipart geometry, or round X, Y, Z, and M coordinate values that are above the resolution set by the com.arcgismaps.geometry.SpatialReference.
Updates a collection of features in the table.