ArcGIS Runtime SDK for iOS
100.9
|
An ArcGIS specific source for dataset containing geographic features or non-spatial records.
Subclasses represent an ArcGIS-specific source for dataset that could include either geographic features or non-spatial records. You can query the dataset using attribute or spatial criteria, and if permitted, also edit the data. Edits are tracked, so you can later retrieve a list of edits. If the dataset contains geographic features you can display them on a map using AGSFeatureLayer
.
Properties | |
BOOL | canAddFeature |
BOOL | canEditGeometry |
id | defaultSubtypeCode |
NSString * | displayName |
BOOL | editable |
NSArray< AGSField * > * | editableAttributeFields |
AGSEnvelope * | extent |
AGSFeatureLayer * | featureLayer |
NSArray< AGSFeatureSubtype * > * | featureSubtypes |
NSArray< AGSFeatureTemplate * > * | featureTemplates |
NSArray< AGSFeatureType * > * | featureTypes |
NSArray< AGSField * > * | fields |
AGSGeometryType | geometryType |
NSString * | globalIDField |
BOOL | hasAttachments |
BOOL | hasGeometry |
BOOL | hasM |
BOOL | hasZ |
AGSLayer * | layer |
AGSArcGISFeatureLayerInfo * | layerInfo |
NSError * | loadError |
AGSLoadStatus | loadStatus |
NSInteger | numberOfFeatures |
NSString * | objectIDField |
AGSPopupDefinition * | popupDefinition |
BOOL | popupEnabled |
NSInteger | serviceLayerID |
AGSSpatialReference * | spatialReference |
NSString * | subtypeField |
NSString * | tableName |
NSString * | typeIDField |
NSDictionary< NSString *, id > * | unknownJSON |
NSDictionary< NSString *, id > * | unsupportedJSON |
BOOL | useAdvancedSymbology |
- (id<AGSCancelable>) addedFeaturesCountWithCompletion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion |
Number of features that have been locally added to the dataset, but not yet to the originating source.
completion | block that is invoked when the operation finishes. The count parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) addedFeaturesWithCompletion: | (void(^)(AGSFeatureQueryResult *__nullable result, NSError *__nullable error)) | completion |
Set of features that have been locally added to the dataset, but not yet to the originating source.
completion | block that is invoked when the operation finishes. The result parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
|
requiredinherited |
Cancels loading if it is in progress, otherwise it does nothing. This should be called carefully because other objects could be waiting for loadWithCompletion:
or retryLoadWithCompletion:
to complete and this will call them all back with the error of NSUserCancelledError
- (BOOL) canDeleteFeature: | (AGSFeature *) | feature |
Indicates whether the source allows this particular feature to be deleted. The method first checks to verify if the source is capable of deleting any features in general. It also checks specific ownership-based access control policies of the source to see if the user attempting to perform the operation has persmissions to delete this particular feature.
feature | Can be nil, in which case, this method only checks if the source is capable of deleting any features in general |
- (BOOL) canUpdateFeature: | (AGSFeature *) | feature |
Indicates whether the source allows updating this particular feature. The method first checks to verify if the source is capable of updating any features in general. It also checks specific ownership-based access control policies of the source to see if the user attempting to perform the operation has persmissions to edit this patricular feature.
feature | Can be nil, in which case, this method only checks if the source is capable of updating any features in general |
- (AGSFeature *) createFeature |
Create a new, empty feature. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
addFeature:completion:
- (AGSFeature *) createFeatureWithAttributes: | (NSDictionary< NSString *, id > *) | attributes | |
geometry: | (nullable AGSGeometry *) | geometry | |
Create a new feature with the provided attribute values and, optionally, geometry. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
attributes | for the feature |
geometry | for the feature |
addFeature:completion:
- (nullable AGSArcGISFeature *) createFeatureWithSubtype: | (AGSFeatureSubtype *) | featureSubtype |
Creates a new feature based on the specified feature subtype. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureSubtype | The subtype of feature to create. |
addFeature:completion: (AGSFeatureTable)
- (nullable AGSArcGISFeature *) createFeatureWithSubtype: | (AGSFeatureSubtype *) | featureSubtype | |
geometry: | (AGSGeometry *) | geometry | |
Creates a new feature based on the specified feature subtype and geoemtry. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureSubtype | The type of feature to create. |
geometry | for the feature |
addFeature:completion: (AGSFeatureTable)
- (nullable AGSArcGISFeature *) createFeatureWithTemplate: | (AGSFeatureTemplate *) | featureTemplate |
Creates a new feature based on the specified feature template. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureTemplate | The feature template to use while creating the feature. |
addFeature:completion: (AGSFeatureTable)
- (nullable AGSArcGISFeature *) createFeatureWithTemplate: | (AGSFeatureTemplate *) | featureTemplate | |
geometry: | (AGSGeometry *) | geometry | |
Creates a new feature based on the specified feature template and geometry. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureTemplate | The feature template to use while creating the feature. |
geometry | for the feature |
addFeature:completion: (AGSFeatureTable)
- (nullable AGSArcGISFeature *) createFeatureWithType: | (AGSFeatureType *) | featureType |
Creates a new feature based on the specified feature type. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureType | The type of feature to create. |
addFeature:completion: (AGSFeatureTable)
- (nullable AGSArcGISFeature *) createFeatureWithType: | (AGSFeatureType *) | featureType | |
geometry: | (AGSGeometry *) | geometry | |
Creates a new feature based on the specified feature type and geoemtry. Note, the new feature is only available in memory at this point, it is not commited to the dataset.
featureType | The type of feature to create. |
geometry | for the feature |
addFeature:completion: (AGSFeatureTable)
- (id<AGSCancelable>) deletedFeaturesCountWithCompletion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion |
Number of features that have been locally deleted from the dataset, but not yet from the originating source.
completion | block that is invoked when the operation finishes. The count parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) deletedFeaturesWithCompletion: | (void(^)(AGSFeatureQueryResult *__nullable result, NSError *__nullable error)) | completion |
Set of features that have been locally deleted from the dataset, but not yet from the originating source.
completion | block that is invoked when the operation finishes. The result parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (nullable AGSFeatureTemplate *) featureTemplateForName: | (NSString *) | name |
Convenience method to retrieve a feature template given its name
name | of feature template |
- (nullable AGSFeatureType *) featureTypeForName: | (NSString *) | name |
Convenience method to retrieve a feature type given its name
name | of feature type |
- (nullable AGSField *) fieldForName: | (NSString *) | fieldName |
Convenience method to getting a field object given its name
fieldName | The name of the field. |
- (BOOL) hasLocalEdits |
Checks whether the feature table has local edits.
For AGSServiceFeatureTable
, local edits are edits that have not yet been applied to the feature service. For AGSGeodatabaseFeatureTable
, local edits are edits that have been made since the last acknowledged upload.
|
requiredinherited |
Loads data for the object asynchronously. The completion block is invoked upon completion.
You can call this method any number of times, however only one attempt is made to load the data. If it is already loading, it will just continue to load (i.e. not force a reload). If it has already loaded successfully, the completion block will be invoked right away. If it has already failed to load, the completion block will be invoked right away with error previously encountered. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- cancelLoad
to cancel loading - retryLoadWithCompletion:
to force reload - (id<AGSCancelable>) queryExtentWithParameters: | (AGSQueryParameters *) | parameters | |
completion: | (void(^)(AGSEnvelope *__nullable extent, NSError *__nullable error)) | completion | |
Query the dataset to find the geographic extent covering matched features or records.
parameters | representing the query criteria |
completion | The block that is called when the query is complete |
- (id<AGSCancelable>) queryFeatureCountWithParameters: | (AGSQueryParameters *) | parameters | |
completion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion | |
Query the dataset to find the number of matched features or records.
parameters | representing the query criteria |
completion | The block that is called when the query is complete |
- (id<AGSCancelable>) queryFeaturesWithParameters: | (AGSQueryParameters *) | parameters | |
completion: | (nullable void(^)(AGSFeatureQueryResult *__nullable result, NSError *__nullable error)) | completion | |
Query the dataset to find specific features or records.
parameters | representing the query criteria |
completion | The block that is called when the query is complete |
- (id<AGSCancelable>) queryRelatedFeatureCountForFeature: | (AGSArcGISFeature *) | feature | |
completion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion | |
- (id<AGSCancelable>) queryRelatedFeatureCountForFeature: | (AGSArcGISFeature *) | feature | |
parameters: | (AGSRelatedQueryParameters *) | parameters | |
completion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion | |
- (id<AGSCancelable>) queryRelatedFeaturesForFeature: | (AGSArcGISFeature *) | feature | |
completion: | (void(^)(NSArray< AGSRelatedFeatureQueryResult * > *__nullable results, NSError *__nullable error)) | completion | |
Returns all features (spatial or non-spatial) that are related to the specified feature. The related features must belong to a feature table that is related to this feature table. Also, the related tables must be part of either the map's operational layers collection (AGSMap::operationalLayers
) through a feature layer if they are spatial, or the map's tables collection (AGSMap::tables
) directly if they are non-spatial.
feature | for which to find related features (spatial and non-spatial) |
completion | block that is invoked when the operation finishes. The results parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) queryRelatedFeaturesForFeature: | (AGSArcGISFeature *) | feature | |
parameters: | (AGSRelatedQueryParameters *) | parameters | |
completion: | (void(^)(NSArray< AGSRelatedFeatureQueryResult * > *__nullable results, NSError *__nullable error)) | completion | |
Returns features (spatial or non-spatial) that are related to the specified feature based on the provided parameters. The related features must belong to a feature table that is related to this feature table. Also, the related tables must be part of either the map's operational layers collection (AGSMap::operationalLayers
) through a feature layer if they are spatial, or the map's tables collection (AGSMap::tables
) directly if they are non-spatial.
feature | for which to find related features (spatial and non-spatial) |
parameters | specifying which related features to query |
completion | block that is invoked when the operation finishes. The results parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) queryStatisticsWithParameters: | (AGSStatisticsQueryParameters *) | parameters | |
completion: | (void(^)(AGSStatisticsQueryResult *__nullable result, NSError *__nullable error)) | completion | |
Query the dataset to compute statistics on matched features or records.
parameters | representing the query criteria |
completion | The block that is called when the query is complete |
- (nullable NSArray<AGSArcGISFeatureTable*> *) relatedTables |
All feature tables (spatial or non-spatial) that are related to this feature table. The related tables must be part of either the map's operational layers collection (AGSMap::operationalLayers
) through a feature layer if they are spatial, or the map's tables collection (AGSMap::tables
) directly if they are non-spatial.
- (nullable NSArray<AGSArcGISFeatureTable*> *) relatedTablesWithRelationshipInfo: | (AGSRelationshipInfo *) | relationshipInfo |
The feature tables (spatial or non-spatial) that are related to this feature table through the specified relationship. The related feature tables must be a part of either the map's operational layers collection (AGSMap::operationalLayers
) through a feature layer if they are spatial, or the map's tables collection (AGSMap::tables
) directly if they are non-spatial.
relationshipInfo | specifying the relationship based on which results should be returned |
|
requiredinherited |
Tries to reload when an object has failed to load. This method should be called judiciously. It should be called when:
cancelLoad
and then this methodIf the data hasn't started loading, it will start loading. If it is already loading, it will just continue to load. If it has already loaded successfully, calls back right away. If it has already failed to load, tries again. This method supports multiple callers and will call them all back on completion. However, each caller's completion block will be invoked once and only once.
completion | block that is invoked when object loads successfully or fails to load. An error is passed to the block if the object fails to load. |
- (id<AGSCancelable>) updatedFeaturesCountWithCompletion: | (void(^)(NSInteger count, NSError *__nullable error)) | completion |
Number of features that have been locally updated in the dataset, but not yet in the originating source.
completion | block that is invoked when the operation finishes. The count parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) updatedFeaturesWithCompletion: | (void(^)(AGSFeatureQueryResult *__nullable result, NSError *__nullable error)) | completion |
Set of features that have been locally updated in the dataset, but not yet in the originating source.
completion | block that is invoked when the operation finishes. The result parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- (id<AGSCancelable>) validateRelationshipConstraintsForFeature: | (AGSArcGISFeature *) | feature | |
completion: | (void(^)(AGSRelationshipConstraintViolationType relationshipConstraintViolationType, NSError *__nullable error)) | completion | |
Checks to see if performing edit operations (addFeature:completion: (AGSFeatureTable)
or updateFeature:completion: (AGSFeatureTable)
) with the provided feature could lead to a relationship constraint violation. This method makes network calls to query for the related features if they are not present locally
addFeature:completion: (AGSFeatureTable)
, updateFeature:completion: (AGSFeatureTable)
do not error due to relationship constraint violations. Rather, it is the responsibility of the developer to use this method to explicitly check for violations after the edit is performed. Alternatively, you can recover from violations in a back office operation after applying edits or syncing with the service, if you choose to do so. See ArcGIS Desktop Validate Features process.The following are types of violations that may be reported: AGSRelationshipConstraintViolationTypeOrphaned
: In a composite relationship, adding an orphan feature to the destination table without relating it to an origin feature. To recover from this violation, relate the feature to a valid origin feature. AGSRelationshipConstraintViolationTypeCardinality
- cardinality violations: In 1:1 relationships, if an origin feature is already related to a destination feature, it is a violation to relate another feature to either of them. To recover from this violation, unrelate the feature from the origin feature. In 1:n relationships, it is a violation to relate a destination feature to more than one origin feature. To recover from this violation, unrelate the feature from the origin feature.
feature | for which relationship constraints need to be validated. |
completion | block that is invoked when the operation finishes. The relationshipConstraintViolationType parameter is populated if the operation completed successfully, otherwise the error parameter is populated. |
- relateToFeature: (AGSArcGISFeature)
to relate two features - unrelateToFeature: (AGSArcGISFeature)
to unrelate two features
|
readnonatomicassigninherited |
Indicates whether the source supports adding new features.
|
readnonatomicassigninherited |
Indicates whether the source supports updating geometry of existing features.
|
readnonatomiccopy |
The code for the default feature subtype. This value is for the field specified in subtypeField
#featureSubTypes
for the list of feature subtypes available
|
readwritenonatomiccopyinherited |
User-friendly name that can be displayed in the UI (for example in a Table of Contents)
|
readnonatomicassigninherited |
Indicates whether the dataset can be edited. For details on which fine-grained editing capabilites are supported, refer to canUpdateFeature:
and canDeleteFeature:
|
readnonatomiccopy |
Array of AGSField
objects representing the subset of fields (columns) in the dataset that are editable.
|
readnonatomicstronginherited |
The extent of the dataset.
|
readnonatomicweakinherited |
The feature layer this table is associated with, or created from, if any. nil
if this table is not associated with a feature layer. This property is populated when the AGSFeatureLayer
is created from the AGSFeatureTable
.
AGSFeatureTable::layer
instead Provided by category AGSFeatureTable(AGSDeprecated).
|
readnonatomiccopy |
A collection of AGSFeatureSubtype
objects representing feature sub-types in the layer. For example, a roads layer may contain 2 feature sub-types : highways and streets.
|
readnonatomiccopy |
A collection of AGSFeatureTemplate
objects representing feature templates for the layer. Usually only present if the layer does not contain feature sub-types. Only applicable if this dataset is based on an ArcGIS Feature Service.
|
readnonatomiccopy |
A collection of AGSFeatureType
objects representing feature sub-types in the layer. For example, a roads layer may contain 2 feature sub-types : highways and streets.
|
readnonatomiccopyinherited |
Array of AGSField
objects representing the fields (columns) in the dataset.
|
readnonatomicassigninherited |
The type of geometry used by geographic feautres. Only applicable if hasGeometry
is true.
|
readnonatomiccopy |
The name of field which contains the GLOBALID for each feature
|
readnonatomicassign |
Indicates whether features may have attachments.
|
readnonatomicassigninherited |
Indicates whether the dataset contains a geometry field (column). If YES, the dataset contains geographic features. If NO, the dataset contains non-spatial records, similar to a database table.
|
readnonatomicassigninherited |
Indicates whether features may contain M values
|
readnonatomicassigninherited |
Indicates whether features may contain Z values
|
readnonatomicweakinherited |
The layer this table is associated with, or created from, if any. This can be an AGSAnnotationLayer
, an AGSFeatureLayer
, or null if this table is not associated with a layer. This property is populated when the layer is created from the AGSFeatureTable
.
|
readnonatomicstrong |
Information about the source this dataset originates from.
|
readnonatomicstronginherited |
The error that was encountered during the most recent load operation. Will be nil if the operation succeeded.
|
readrequirednonatomicassigninherited |
Status of the load operation.
|
readnonatomicassigninherited |
The total number of features or records in the dataset.
|
readnonatomiccopy |
The name of field which contains the OBJECTID for each feature
|
readwritenonatomicstronginherited |
The AGSPopupDefinition
associated with the popup source. nil
if an error occurs or if the popup source is not associated with a pop-up definition.
|
readwriterequirednonatomicassigninherited |
Indicates whether popups are enabled on this source.
|
readnonatomicassign |
The ID of the layer this table corresponds to in the service.
|
readnonatomicstronginherited |
The spatial reference of the dataset.
|
readnonatomiccopy |
The name of the field which contains the sub-type information for each feature.
|
readnonatomiccopyinherited |
Name of the dataset.
|
readnonatomiccopy |
The name of the field which contains the sub-type information for each feature.
|
readnonatomiccopy |
Unknown data from the source JSON. Unknown JSON is a dictionary of values that was in the source JSON but was not parsed by the Runtime.
NSDictionary
|
readnonatomiccopy |
Unsupported data from the source JSON. Unsupported JSON is a dictionary of values that are supported by webmaps, but not exposed through the native Runtime API.
NSDictionary
|
readwritenonatomicassign |
Indicates whether the dataset should be visualized using advanced CIM symbols. The default is NO. Servers which don't support this simply ignore the parameter and return regular symbols instead.