GeodatabaseFeatureTable

class GeodatabaseFeatureTable : ArcGISFeatureTable

A feature table stored in a Geodatabase. For mobile geodatabases created by ArcGIS Pro, renderer information isn't stored in the geodatabase. A default renderer is therefore used to display mobile geodatabase feature tables in a feature layer. In most cases, this default should be replaced with a custom renderer.

Constructors

Link copied to clipboard
fun GeodatabaseFeatureTable(table: GeodatabaseFeatureTable, relationshipInfo: RelationshipInfo)

Creates a new geodatabase feature table object from the specified table and relationship info.

Functions

Link copied to clipboard
suspend fun addFeature(feature: Feature): Result<Unit>

Adds a feature to the table. Adding a feature that contains a 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 SpatialReference.

Link copied to clipboard
suspend fun addFeatures(features: Iterable<Feature>): Result<Unit>

Adds a collection of features to the table.

Link copied to clipboard
fun canAdd(): Boolean

Determines whether you can add a feature to a table.

Link copied to clipboard
open override fun cancelLoad()

Cancels loading metadata for the Loadable object.

Link copied to clipboard
fun canDelete(feature: Feature): Boolean

Determines whether you can delete a feature from a table.

Link copied to clipboard
fun canEditGeometry(): Boolean

Determines whether you can edit the geometry field in a table.

Link copied to clipboard
fun canUpdate(feature: Feature): Boolean

Determines whether you can update a feature in a table.

Link copied to clipboard
fun createFeature(): Feature

Creates a new empty feature. The new feature is only available in memory at this point. Execute FeatureTable.addFeature(Feature) to commit the new Feature to the table.

fun createFeature(featureSubtype: FeatureSubtype): ArcGISFeature?

Creates a new feature based on the provided feature subtype.

fun createFeature(featureTemplate: FeatureTemplate): ArcGISFeature?

Creates a new feature based on the provided feature template.

fun createFeature(featureType: FeatureType): ArcGISFeature?

Creates a new feature based on the provided feature type.

fun createFeature(featureSubtype: FeatureSubtype, geometry: Geometry?): ArcGISFeature?

Creates a new feature based on the provided feature subtype and geometry.

fun createFeature(featureTemplate: FeatureTemplate, geometry: Geometry?): ArcGISFeature?

Creates a new feature based on the provided feature template and geometry.

fun createFeature(featureType: FeatureType, geometry: Geometry?): ArcGISFeature?

Creates a new feature based on the provided feature type and geometry.

fun createFeature(attributes: Map<String, Any?>, geometry: Geometry?): Feature

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(Feature) to commit the new Feature to the table.

Link copied to clipboard
suspend fun deleteFeature(feature: Feature): Result<Unit>

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(Feature) to determine if this operation is allowed.

Link copied to clipboard
suspend fun deleteFeatures(features: Iterable<Feature>): Result<Unit>

Deletes a collection of features from the table.

Link copied to clipboard
suspend fun getAddedFeatures(): Result<FeatureQueryResult>

Returns the features added since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns no features because there is no concept of syncing.

Link copied to clipboard
suspend fun getAddedFeaturesCount(): Result<Long>

Returns the number of features added since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns 0 because there is no concept of syncing.

Link copied to clipboard
fun getContingentValues(feature: ArcGISFeature, field: String): ContingentValuesResult

Returns possible values for the specified field, in the context of defined contingencies. This method iterates over all the field groups that the input field participates in. For each, it looks at the input feature's field values for the other fields participating in that field group. Contingencies that are satisfied by the other fields are identified, and their values for the input field are aggregated. These are returned in a ContingentValuesResult, which contains a dictionary of field group names to an array of ContingentValue objects accessed via ContingentValuesResult.getByFieldGroup(), specifying possible values for the input field that will satisfy a contingency in that field group. If the feature participates in multiple field groups and there are values that will satisfy all groups, they will be returned by ContingentValuesResult.getAllGroups().

Link copied to clipboard
suspend fun getDeletedFeatures(): Result<FeatureQueryResult>

Returns the features deleted since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns no features because there is no concept of syncing.

Link copied to clipboard
suspend fun getDeletedFeaturesCount(): Result<Long>

Returns the number of features deleted since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns 0 because there is no concept of syncing.

Link copied to clipboard
fun getFeatureTemplate(name: String): FeatureTemplate?

Searches for the feature template with the given name.

Link copied to clipboard
fun getFeatureType(name: String): FeatureType?

Searches for the feature type with the given name.

Link copied to clipboard
fun getField(fieldName: String): Field?

Retrieves the field with the given name.

Link copied to clipboard
suspend fun getLocalEdits(): Result<LocalFeatureEditsResult>

Returns all the features that were added, updated or deleted since the last sync. Returns a result object containing a feature edit iterator. For mobile geodatabase created by ArcGIS Pro, the iterator in the result object is empty because there is no concept of syncing.

Link copied to clipboard
suspend fun getLocalEditsCount(): Result<Long>

Returns the number of features that were added, updated or deleted since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns a count of 0 because there is no concept of syncing.

Link copied to clipboard
fun getRelatedTables(): List<ArcGISFeatureTable>

Returns a list of all related tables that have been added to the map. Only returns tables that have been added to the map that this table is associated with.

fun getRelatedTables(relationshipInfo: RelationshipInfo): List<ArcGISFeatureTable>

Returns list of tables related by the given relationship info. Only returns tables that have been added to the map. If there are multiple instances of the related table on the map, all such instances will be returned.

Link copied to clipboard
suspend fun getUpdatedFeatures(): Result<FeatureQueryResult>

Returns the features updated since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns no features because there is no concept of syncing.

Link copied to clipboard
suspend fun getUpdatedFeaturesCount(): Result<Long>

Returns the number of features updated since the last sync. For mobile geodatabases created by ArcGIS Pro, this method returns 0 because there is no concept of syncing.

Link copied to clipboard
fun hasLocalEdits(): Boolean

Checks whether the feature table has local edits For ServiceFeatureTable, local edits are edits that have not yet been applied to the feature service. For GeodatabaseFeatureTable, local edits are edits that have been made since the last acknowledged upload. For mobile geodatabases created by ArcGIS Pro, this method returns false because there is no concept of uploading or applying edits. For mobile geodatabases, use GeodatabaseFeatureTable.hasLocalEditsSince(Instant).

Link copied to clipboard
fun hasLocalEditsSince(date: Instant): Boolean

Checks if the geodatabase feature table has local edits since a specific date.

Link copied to clipboard
open suspend override fun load(): Result<Unit>

Loads the metadata for the object.

Link copied to clipboard
suspend fun queryExtent(queryParameters: QueryParameters): Result<Geometry>

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.

Link copied to clipboard
suspend fun queryFeatureCount(queryParameters: QueryParameters): Result<Long>

Determines the count of features that satisfy the provided query parameters.

Link copied to clipboard
suspend fun queryFeatures(parameters: QueryParameters): Result<FeatureQueryResult>

Submits a query against the table.

Link copied to clipboard
suspend fun queryRelatedFeatureCount(feature: ArcGISFeature, parameters: RelatedQueryParameters? = null): Result<Long>

Performs a query that returns the number of related features to supplied feature based on the parameters.

Link copied to clipboard
suspend fun queryRelatedFeatures(feature: ArcGISFeature, parameters: RelatedQueryParameters? = null): Result<List<RelatedFeatureQueryResult>>

Queries for related features of a given feature in a specific relationship. The origin and all destination tables must be associated with the same map, either as a feature source for a layer or added to the map via its table collection. Otherwise, the query will return no results.

Link copied to clipboard
suspend fun queryStatistics(statisticsQueryParameters: StatisticsQueryParameters): Result<StatisticsQueryResult>

Calculates values for the requested statistics. Statistics query parameters may also define fields on which results are grouped or sorted.

Link copied to clipboard
open suspend override fun retryLoad(): Result<Unit>

Loads or retries loading metadata for the object.

Link copied to clipboard
suspend fun updateFeature(feature: Feature): Result<Unit>

Updates a feature in the table. If you update a feature that contains a 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 SpatialReference.

Link copied to clipboard
suspend fun updateFeatures(features: Iterable<Feature>): Result<Unit>

Updates a collection of features in the table.

Link copied to clipboard

Returns an array of contingency constraint violations based on the input feature. An empty array indicates that all contingencies associated with the feature are valid.

Link copied to clipboard
suspend fun validateRelationshipConstraints(feature: ArcGISFeature): Result<RelationshipConstraintViolation>

Validates constraints for a given feature participating in a relationship. The following are considered violations:

Properties

Link copied to clipboard
Link copied to clipboard
val defaultSubtypeCode: Any?
Link copied to clipboard
var displayName: String

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 FeatureLayer, the FeatureTable.getDisplayName() is used as the FeatureLayer.getName().

Link copied to clipboard
val editableAttributeFields: List<Field>

A list of editable fields.

Link copied to clipboard
val extent: Envelope?
Link copied to clipboard
val featureSubtypes: List<FeatureSubtype>

The table's feature subtypes.

Link copied to clipboard
val featureTemplates: List<FeatureTemplate>

A list of the feature templates on this table.

Link copied to clipboard
val featureTypes: List<FeatureType>

The feature types for this table.

Link copied to clipboard
open val fields: List<Field>

The collection of Field objects representing the fields of the feature table.

Link copied to clipboard
val geodatabase: Geodatabase?
Link copied to clipboard
open val geometryType: GeometryType

The type of geometry of the features stored in this table. If FeatureTable.getHasGeometry() is false, then the geometry type is GeometryType.Unknown.

Link copied to clipboard
val globalIdField: String

The global id field name.

Link copied to clipboard
val hasAttachments: Boolean

True if the features in this table have attachments, false otherwise.

Link copied to clipboard
val hasGeometry: Boolean

True if the feature table supports geographic features, false otherwise.

Link copied to clipboard
val hasM: Boolean

True if the feature table supports geometries with M values, false otherwise.

Link copied to clipboard
val hasZ: Boolean

True if the feature table supports geometries with Z values, false otherwise.

Link copied to clipboard
val isEditable: Boolean

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.

Link copied to clipboard
open override var isPopupEnabled: Boolean

A flag indicating whether the PopupDefinition defined on the PopupSource is enable / disable. Will return false if an error occurs.

Link copied to clipboard
val layer: Layer?
Link copied to clipboard
val layerInfo: ArcGISFeatureLayerInfo?
Link copied to clipboard
open override val loadStatus: StateFlow<LoadStatus>

The load status.

Link copied to clipboard
val numberOfFeatures: Long

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.getNumberOfFeatures() will return the full number of features.

Link copied to clipboard
val objectIdField: String

The object id field name.

Link copied to clipboard
open override var popupDefinition: PopupDefinition?

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.

Link copied to clipboard
val serviceLayerId: Long

The layer ID in the feature service that this table was created from.

Link copied to clipboard
open val spatialReference: SpatialReference?
Link copied to clipboard
val subtypeField: String

The table's subtype field.

Link copied to clipboard
val tableName: String

The name of the table in the source dataset.

Link copied to clipboard
val typeIdField: String

The type id field name.

Link copied to clipboard
val unknownJson: Map<String, Any>
Link copied to clipboard
val unsupportedJson: Map<String, Any>
Link copied to clipboard
var useAdvancedSymbology: Boolean

True if the table is using advanced symbology, false otherwise.

Link copied to clipboard
val username: String

The username of the feature table. The username is used for ownership-based access control (OBAC) and editor tracking purposes.