This document is archived and information here might be outdated.  Recommended version.


ILasSurface.GetLineOfSightFeatureClass Method (ArcObjects .NET 10.6 SDK)
ArcObjects Library Reference (GeoDatabaseExtensions)  

ILasSurface.GetLineOfSightFeatureClass Method

Get line-of-sight.

[Visual Basic .NET]
Public Sub GetLineOfSightFeatureClass ( _
    ByVal pTrackCancel As ITrackCancel, _
    ByVal pLasFilter As ILasFilter, _
    ByVal Resolution As Double, _
    ByVal Method As esriTinPointSelectionMethod, _
    ByVal ZFactor As Double, _
    ByVal pInputLines As IFeatureClass, _
    ByVal pQueryFilter As IQueryFilter, _
    ByVal pOutputLines As IFeatureClass, _
    ByVal pObstructionPoints As IFeatureClass, _
    ByVal bApplyCurvature As Boolean, _
    ByVal bApplyRefraction As Boolean, _
    [ByRef pRefractionFactor As Object] _
)
[C#]
public void GetLineOfSightFeatureClass (
    ITrackCancel pTrackCancel,
    ILasFilter pLasFilter,
    double Resolution,
    esriTinPointSelectionMethod Method,
    double ZFactor,
    IFeatureClass pInputLines,
    IQueryFilter pQueryFilter,
    IFeatureClass pOutputLines,
    IFeatureClass pObstructionPoints,
    bool bApplyCurvature,
    bool bApplyRefraction,
    ref object pRefractionFactor
);
[C++]
HRESULT GetLineOfSightFeatureClass(
  ITrackCancel* pTrackCancel,
  ILasFilter* pLasFilter,
  double Resolution,
  esriTinPointSelectionMethod Method,
  double ZFactor,
  IFeatureClass* pInputLines,
  IQueryFilter* pQueryFilter,
  IFeatureClass* pOutputLines,
  IFeatureClass* pObstructionPoints,
  VARIANT_BOOL bApplyCurvature,
  VARIANT_BOOL bApplyRefraction,
  Variant* pRefractionFactor
);
[C++]

Parameters pTrackCancel [in]
pTrackCancel is a parameter of type ITrackCancel* pLasFilter [in]
pLasFilter is a parameter of type ILasFilter* Resolution [in]
Resolution is a parameter of type double Method [in]
Method is a parameter of type esriTinPointSelectionMethod ZFactor [in]
ZFactor is a parameter of type double pInputLines [in]
pInputLines is a parameter of type IFeatureClass* pQueryFilter [in]
pQueryFilter is a parameter of type IQueryFilter* pOutputLines [in]
pOutputLines is a parameter of type IFeatureClass* pObstructionPoints [in]
pObstructionPoints is a parameter of type IFeatureClass* bApplyCurvature [in]
bApplyCurvature is a parameter of type bool bApplyRefraction [in]
bApplyRefraction is a parameter of type bool pRefractionFactor [in, optional]
pRefractionFactor is a parameter of type VARIANT*

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Description

Performs line of sight calculations based on 'from' and 'to' points of input line features.

pTrackCancel references a CancelTracker that can be used to stop the process. This can be set to NULL if the ability for the user to cancel isn't required.

pLasFilter defines the selection criteria for what points to use from the las files. The processing extent is also controlled by the area of interest property of the filter.

Resolution is the bin size, or horizontal sample distance, used for point thinning. The value should be provided in the XY units of the dataset. A square roving window of this size is passed over the set of filtered points. At each location one of the points inside the window is selected based on the selection Method. If there are no points in the window, no point is used. If there is only one point, then that point is used. Specify a Resolution of -1 for no thinning.

Method defines the point selection criteria for bin based point thinning. Valid options include min, max, and average. The random method is not supported. If you don't want thinning select min, max, or average with a Resolution of -1.

zFactor is used to change units of the output cell values (e.g., to convert feet to meters). The output z values are multipled by the zFactor.

pInputLines is the input polyline feature class. The 'from' and 'to' points of each polyline represent a pair of observer and target points for which a line of sight calculation is made. If the input features are 2D the observer and target heights will be interpolated off the surface. A default offset of 1 will be applied to the observer. If the features are 3D they will be used as is. If fields named OffsetA and/or OffsetB are present, these values will be added to the observer and target respectively for both 2D and 3D inputs.

pQueryFilter is used to select input features. This may be set to NULL in which case all features will be used as input.

pOutputLines is the target featureclass where output 3D polyline features will be written. These lines are assigned visibility codes and indicate what is, and is not, visible on the ground between each observer and target.

pObstructionPoints is the target feature class where the first point of obstruction is written for each sight line when its target is not visible.

bApplyCurvature is used to apply height differentials to correct for earth's curvature. This can only be set to TRUE if the dataset is in a projected coordinate system and XY and Z units are known. Use ILasSurface.CanDoCurvature to check.

bApplyRefraction is used to adjust for the bending of light through the atmosphere.

[pRefractionFactor] a default of 0.13 is used.

See Also

ILasSurface Interface