I'm trying to execute the CalculateGeometryAttributes geoprocessing tool with some hard-coded arguments. The code I have is working, but it's running on the entire feature class. I need it to only run on the selected records. Here is what I have now:
//// Tool parameters
string in_features = @"C:PathToFeatureClass";
string geometry_property = "SEG_LEN LENGTH";
string length_unit = "MILES_US";
//// Path to tool using toolbox alias
string tool_path = "management.CalculateGeometryAttributes";
//// Construct the value array to be passed as parameter to ExecuteToolAsync
var args = await QueuedTask.Run(() =>
// Create spatial reference and pass to value array constuctor
var spatial_ref = SpatialReferenceBuilder.CreateSpatialReference(3081);
return Geoprocessing.MakeValueArray(in_features, geometry_property, length_unit, null, spatial_ref);
//// Execute the tool with hard-coded args
await Geoprocessing.ExecuteToolAsync(tool_path, args);
I'm assuming I need to somehow check if any features are selected, then pass just those selected to the tool. Otherwise, it should run on all features.
Any help is appreciated!