var losParams = new LineOfSightParams(); losParams.ObserverPoint = observerPoint; losParams.TargetPoint = targetPoint; // add offsets if appropriate // losParams.ObserverHeightOffset = observerOffset; // losParams.TargetHeightOffset = targerOffset; // set output spatial reference losParams.OutputSpatialReference = MapView.Active.Map.SpatialReference; LineOfSightResult results = null; try { if (tinLayer.CanGetLineOfSight(losParams)) results = tinLayer.GetLineOfSight(losParams); } catch (Exception ex) { // log exception message } if (results != null) { bool targetIsVisibleFromObserverPoint = results.IsTargetVisibleFromObserverPoint; bool targetVisibleFromVisibleLine = results.IsTargetVisibleFromVisibleLine; bool targetVisibleFromInVisibleLine = results.IsTargetVisibleFromInvisibleLine; if (results.VisibleLine != null) MapView.Active.AddOverlay(results.VisibleLine, visibleLineSymbol.MakeSymbolReference()); if (results.InvisibleLine != null) MapView.Active.AddOverlay(results.VisibleLine, invisibleLineSymbol.MakeSymbolReference()); if (results.ObstructionPoint != null) MapView.Active.AddOverlay(results.ObstructionPoint, obstructionPointSymbol.MakeSymbolReference()); }
System.Object
ArcGIS.Desktop.Mapping.LineOfSightResult
Target Platforms: Windows 11, Windows 10