I'm converting a Line of Sight process from ArcMap to Pro, and I'm getting different elevation values between them for the same XY point. Using the same 10-meter DEM between the programs will return values that are up to 0.5 units apart (feet, in this case). It doesn't sound like much, but it can produce results that are drastically different because the LOS may barely make it over a rise in one program but not another. One program isn't consistently higher than another, unfortunately. I'm using ISurface.GetElevation in ArcMap and Map.GetZsFromSurfaceAsync in Pro.
Are the interpolation methods different between the tools? I haven't been able to find any documentation about why the process would return a different value. Is there another method to call that would yield the same results as ArcMap?
I have the same problem. I was using ISurface.InterpolateShape in ArcMAP. The geoprocessing tool InterpolateShape from ArcGIS Pro give same results as ArcMAP function. But not GetZsFromSurfaceAsync ... That's the code I'm using.
Polyline clonePoly = _traceProfil.Clone() as Polyline;
var sR = clonePoly.SpatialReference;
var densePoly = GeometryEngine.Instance.DensifyByLength(clonePoly, sR.XYTolerance * 1000) as Polyline;
var zsResult = await _sceneMap.GetZsFromSurfaceAsync(densePoly, item.Nom);
Did you have any answers or solutions ?
The SDK team fixed the bug with GetZsFromSurfaceAsync in version 2.9.4; which version are you using?
While waiting on the fix, we used the AddSurfaceInformation_3d tool to get elevation data, but InterpolateShape would work as well.
Thanks for the answer.
I'm using version 2.8.1. Il will try it in version 3.0.