I couldn't fully figure out GeoprocessingTask and the Elevation Profile. Help me understand why outputFeatures.CanGetOutputFeatures is always false? My code:
var _elevationServiceUrl = new Uri("https://elevation.arcgis.com/arcgis/rest/services/Tools/ElevationSync/GPServer/Profile");
var geoprocessingTask = await GeoprocessingTask.CreateAsync(_elevationServiceUrl);
var fields = new List<Field>
{
};
var featureTable = new FeatureCollectionTable(fields, GeometryType.Polyline, SpatialReferences.Wgs84);
var feature = featureTable.CreateFeature();
feature.Geometry = polyline;
await featureTable.AddFeatureAsync(feature);
var parameters = await geoprocessingTask.CreateDefaultParametersAsync();
parameters.Inputs["InputLineFeatures"] = new GeoprocessingFeatures(featureTable);
parameters.Inputs["DEMResolution"] = new GeoprocessingString("FINEST");
parameters.Inputs["MaximumSampleDistance"] = new GeoprocessingDouble(200);
parameters.ReturnM = true;
parameters.ReturnZ = true;
var job = geoprocessingTask.CreateJob(parameters);
var result = await job.GetResultAsync();
if (result.Outputs.ContainsKey("OutputProfile"))
{
var outputFeatures = result.Outputs["OutputProfile"] as GeoprocessingFeatures;
if (outputFeatures != null && outputFeatures.CanGetOutputFeatures)
{
var featureSet = await outputFeatures.GetOutputFeaturesAsync();
foreach (var outputFeature in featureSet)
{
var geometry = outputFeature.Geometry as Polyline;
// Подальша обробка геометрії
}
}
else
{
MessageBox.Show("Помилка: OutputProfile не містить даних або не підтримує отримання результатів.");
}
}