AnsweredAssumed Answered

Update features for a ServiceFeatureTable

Question asked by ZhangLin2 on Dec 5, 2017
Latest reply on Mar 1, 2018 by ZhangLin2

Env:
arcgis runtime SDK 10.2.7 .Net and arcgis server 10.3.

 

I have a feature service with point geometry. I want to update the attributes of the features based on object id of feature only, because the amount of records in the feature service is quite big, I pre-store all the the object id in local memory.

but it is not working until I must do the retrieval of the feature by ArcGISFeatureTable.QueryAsync the object id or zoom the map to the location of feature to make the map load the feature , the property RowCount of FeatureTable class will be updated when trace it, I look through the document, RowCount represents "the number of rows in the table".

 

e.g. example in https://developers.arcgis.com/net/10-2/sample-code/DynamicLayerEditAttribute/


var table = await ServiceFeatureTable.OpenAsync(new Uri(url), null, MyMapView.SpatialReference);
table.OutFields = new OutFields(new string[] { "has_pool" });


// Retrieves feature identified by ID and updates its attributes.
* var feature = await table.QueryAsync(featureID);
feature.Attributes["has_pool"] = selected.Key;
await table.UpdateAsync(feature);
if (table.HasEdits)
{

}

Q1: the features loaded in mapview by pan/zoom (e.g. with max count 1000/per time),the RowCount of feature table will be changed and increased(so that the features appeared on map can be updated directly with Objectid/featureid), so the feature data loaded are stored in local cache? can access directly? what is the format in it(data or image) if it is in local cache/memory. it will be very appreciated to provide info about it.

 

Q2:Why I must do "var feature = await table.QueryAsync(featureID)" to update the feature?

Outcomes