Class TLcyViewshedBackEnd

java.lang.Object
com.luciad.lucy.addons.tea.ALcyTEABackEnd
com.luciad.lucy.addons.tea.viewshed.TLcyViewshedBackEnd

public class TLcyViewshedBackEnd extends ALcyTEABackEnd
Back-end functionality for a TEA viewshed add-on. It provides the following functionality to calculate viewsheds:
  • Creating a viewshed for a set of properties.
  • Creating a composite viewshed for a list of viewsheds
  • Creating a viewshed raster for a set of properties.

To add support for custom models, override the createViewshed(com.luciad.lucy.util.properties.ALcyProperties, java.util.List)

and create viewsheds for your own models. These can be composited with the default return value of the method.

Since:
11.0
See Also:
  • Field Details

    • EYEPOINT_KEY

      public static final String EYEPOINT_KEY
      The property name for an eyepoint. The associated property value is of type ILcdPoint.
      See Also:
    • EYEPOINT_REFERENCE_KEY

      public static final String EYEPOINT_REFERENCE_KEY
      The property name for model reference of the property value represented by EYEPOINT_KEY The associated property value is of type ILcdGeoReference.
      See Also:
    • AREA_BOUNDS_LIST_KEY

      public static final String AREA_BOUNDS_LIST_KEY
      The property name for the list of areas used for the viewshed calculations. The asociated property value is a list of TLcyDomainObjectContext instances, each with an ILcdBounded instance as its domain object.
      See Also:
    • MODELS_KEY

      public static final String MODELS_KEY
      The property name of the models which will be used to calculate the viewshed. The associated property value is an array of ILcdModels
      See Also:
    • VIEWSHED_KEY

      public static final String VIEWSHED_KEY
      The property name for the viewshed. The associated property value is of type ILcdViewshed
      See Also:
    • VIEWSHED_MODEL_KEY

      public static final String VIEWSHED_MODEL_KEY
      The property name for the model of the viewshed. The associated property value is of type ILcdModel
      See Also:
    • ALTITUDE_TYPE_KEY

      public static final String ALTITUDE_TYPE_KEY
      The property name for the altitude type of a viewshed. The associated property value is a String. It can be either "REGULAR" or "SUN_POSITION".
      See Also:
    • START_ANGLE_KEY

      public static final String START_ANGLE_KEY
      The property name for a viewshed's start angle. The associated property value is of type double, expressed in radians.
      See Also:
    • ARC_ANGLE_KEY

      public static final String ARC_ANGLE_KEY
      The property name for a viewshed's arc angle. The associated property value is of type double, expressed in radians.
      See Also:
    • MIN_VERTICAL_ANGLE_KEY

      public static final String MIN_VERTICAL_ANGLE_KEY
      The property name for a viewshed's minimum vertical angle. The associated property value is of type double, expressed in radians.
      See Also:
    • MAX_VERTICAL_ANGLE_KEY

      public static final String MAX_VERTICAL_ANGLE_KEY
      The property name for a viewshed's maximum vertical angle. The associated property value is of type double, expressed in radians.
      See Also:
    • FIXED_HEIGHT_OFFSET_KEY

      public static final String FIXED_HEIGHT_OFFSET_KEY
      The key used to identify the fixed height offset which is used when sampling the generated viewshed using a viewshed raster. The associated property value is a double, expressed in meters.
      See Also:
  • Constructor Details

    • TLcyViewshedBackEnd

      public TLcyViewshedBackEnd(ILcyLucyEnv aLucyEnv)
      Default constructor for the viewshed back-end.
      Parameters:
      aLucyEnv - the Lucy environment for which the back-end will be used
  • Method Details

    • createModelDescriptor

      public ILcdModelDescriptor createModelDescriptor(ALcyProperties aProperties)
      Returns a model descriptor suitable for the add-on's used models.
      Specified by:
      createModelDescriptor in class ALcyTEABackEnd
      Parameters:
      aProperties - a properties object with the following parameters:
      Returns:
      a viewshed model descriptor
    • createViewshed

      public ILcdViewshed createViewshed(ALcyProperties aProperties, List<ILcdModel> aUsedModelsSFCT)

      Creates a viewshed for a single eyepoint.

      The following properties are supplied in the aProperties object:

      Parameters:
      aProperties - A properties file containing the properties described above.
      aUsedModelsSFCT - An empty list of models that gets filled at the end of this method with the models that were used to create this viewshed.
      Returns:
      A valid viewshed for the given properties.
    • createCompositeViewshed

      public ILcdViewshed createCompositeViewshed(List<ILcdViewshed> aViewshedList)
      Creates a composite for a given list of viewsheds.
      Parameters:
      aViewshedList - A list of viewsheds that were computed using createViewshed(com.luciad.lucy.util.properties.ALcyProperties, java.util.List).
      Returns:
      A composite viewshed. Or null if the viewshed list was empty or null.
    • createMultilevelRaster

      public TLcdViewshedMultilevelRaster createMultilevelRaster(ALcyProperties aProperties)
      Creates a multilevel raster for a given properties object.

      The following properties are supplied in the aProperties object:

      Parameters:
      aProperties - A properties file containing the properties described above.
      Returns:
      A valid TLcdViewshedMultilevelRaster for the given properties. This method returns null if the viewshed was null. This is usually due to the viewshed being cancelled.