Class LineOfSightFeature

java.lang.Object
com.luciad.models.los.LineOfSightFeature

public final class LineOfSightFeature extends Object
This class makes available the line-of-sight (LOS) feature data type, together with its property paths.

A line-of-sight feature defines an observer location along with some additional properties like radius. All properties together define a line-of-sight coverage. This is the visualization of the visibility of the surrounding environment when observed by the observer.

Use LineOfSightFeature#newBuilder to create a line-of-sight feature.

Since:
2025.0
  • Method Details

    • getLineOfSightPropertiesDataType

      @NotNull public static DataType getLineOfSightPropertiesDataType()
      Returns the data type describing the line-of-sight feature properties.
      Returns:
      the data type describing the line-of-sight feature properties.
    • getCenterPropertyPath

      @NotNull public static DataPropertyPath getCenterPropertyPath()
      Returns the data property path for the line-of-sight center property.
      Returns:
      the data property path for the line-of-sight center property.
    • getCenterHeightPropertyPath

      @NotNull public static DataPropertyPath getCenterHeightPropertyPath()
      Returns the data property path for the line-of-sight center height property.
      Returns:
      the data property path for the line-of-sight center height property.
    • getRadiusPropertyPath

      @NotNull public static DataPropertyPath getRadiusPropertyPath()
      Returns the data property path for the line-of-sight radius property.
      Returns:
      the data property path for the line-of-sight radius property.
    • getStartAnglePropertyPath

      @NotNull public static DataPropertyPath getStartAnglePropertyPath()
      Returns the data property path for the line-of-sight start angle property.

      Values referred to by this DataPropertyPath are in degrees.

      Returns:
      the data property path for the line-of-sight start angle property.
    • getEndAnglePropertyPath

      @NotNull public static DataPropertyPath getEndAnglePropertyPath()
      Returns the data property path for the line-of-sight end angle property.

      Values referred to by this DataPropertyPath are in degrees.

      Returns:
      the data property path for the line-of-sight end angle property.
    • getMinimumVerticalAnglePropertyPath

      @NotNull public static DataPropertyPath getMinimumVerticalAnglePropertyPath()
      Returns the data property path for the line-of-sight minimum vertical angle property.

      Values referred to by this DataPropertyPath are in degrees.

      Returns:
      the data property path for the line-of-sight minimum vertical angle property.
    • getMaximumVerticalAnglePropertyPath

      @NotNull public static DataPropertyPath getMaximumVerticalAnglePropertyPath()
      Returns the data property path for the line-of-sight maximum vertical angle property.

      Values referred to by this DataPropertyPath are in degrees.

      Returns:
      the data property path for the line-of-sight maximum vertical angle property.
    • asArcBand

      @Nullable public static ArcBand asArcBand(@NotNull Feature lineOfSightFeature)
      Converts a line-of-sight feature to an arc band.
      Parameters:
      lineOfSightFeature - the feature that should be converted.
      Returns:
      the arc band corresponding to the feature or null if the feature is missing some properties.
    • computeBounds

      @NotNull public static Bounds computeBounds(@NotNull Feature lineOfSightFeature) throws IllegalArgumentException
      Computes the bounds of a line-of-sight feature.

      Not that all the line-of-sight properties are required for this computation.

      Parameters:
      lineOfSightFeature - the feature for which the bounds should be computed.
      Returns:
      the bounds of this feature
      Throws:
      IllegalArgumentException - if the feature is missing some line-of-sight property.
    • computeBounds

      @Nullable public static Bounds computeBounds(@NotNull IFeatureModel model) throws NullPointerException
      Computes the bounds of a line-of-sight feature model, if available.

      When the model contains no features, this method will return no bounds. Features missing lime-of-sight properties are ignored.

      Parameters:
      model - the model for which the bounds should be computed.
      Returns:
      the bounds of this model, if available.
      Throws:
      NullPointerException - when passing null for the model
    • newBuilder

      @NotNull public static LineOfSightFeature.Builder newBuilder()
      Returns a new builder for creating a line-of-sight feature.
      Returns:
      a new builder for creating a line-of-sight feature.