Lightspeed: Line Of Sight

Preview

 

Preview

GXY: Measuring distance over terrain  samples.tea.gxy.distance.MainPanel

This sample demonstrates the terrain distance controller.

The terrain distance controller measures distance between points taking into account the terrain elevation in between. As such this will be an approximation of the distance to travel over land from start to end point.

The distance is influenced by the path taken between the points which can be either geodetic (shortest path on the ellipsoid) or of constant azimuth. Note that distance following a constant azimuth path may be smaller than when following a geodetic path, due to the terrain underneath.

Instructions

Activate the terrain ruler in the toolbar and click a few times on the DTED data. A path is created and the distance along that path is shown computed. Adjust the measure mode settings to use a different distance calculation. Notice how the distance is bigger if “over terrain” is enabled. The parts of the measurement that are out of terrain bounds are shown as “Unknown”.

   


Preview

GXY: Finding the extreme points inside a shape  samples.tea.gxy.extremepoint.MainPanel

This sample demonstrates how to find extreme points inside a shape.

The sample allows you to find minimum and maximum points inside a selected area. A minimum/maximum point is defined to be the lowest or highest point in the surrounding area. This area is defined by a configurable separation distance.

To ensure that the peaks are more or less distinct, a separation height is needed. This height defines the minimum height difference which has to be bridged between two peaks.

Instructions

Edit the selected polygon, adjust the extreme point settings and click the 'Compute' button. The found minimum (green) and maximum (red) points are added to the map and are shown inside the polygon.

   


Preview

GXY: Hypsometric computations  samples.tea.gxy.hypsometry.MainPanel

This sample demonstrates how to visualize hypsometric computations on elevation data in a Lightspeed view. The computations can be applied to either the view's terrain or a specific elevation model.

Instructions

The application generates all hypsometric calculations in advance, and puts them in separate layer. You can view separate the various hypsometric functions by toggling the visibility of their respective layers. The following functions are shown:

  • Ridges and valleys: Blue indicates ridges, red indicates valleys.
  • Shading: Applies a shading function based on the slope and orientation. Hill sides facing away from the reference direction are dark, sides facing along the reference direction are bright.
  • Orientation: Computes the angle of steepest descent. Hills facing along the reference direction are blue, the opposite sides are red.
  • Slope: Determines the angle between the normal of a point and the input angles. Flat areas are green, hill sides are colored according to their steepness (yellow – red – black).
  • Azimuth: Determines the azimuth of a point.

The panel in the upper right corner displays information about the hypsometric functions, relative to the position of the mouse.

   


Preview

GXY: Line-of-sight  samples.tea.gxy.los.MainPanel

This sample demonstrates how to produce line-of-sight computations, between two points and between a point and its environment.

The map shows DTED terrain data and points defined in a geodetic reference (black with white border) and in a grid reference (white with black border).

Instructions

For point-to-point computations:

  • open the input dialog and select two points on the map
  • enter the heights above terrain for both points
  • select the layer the result should be put in
  • enter the distance (in meters) between the intermediate points
  • press the compute button
The result is represented by a colored arrow between the two points. The color of the arrow line represents the result of the regular point-to-point computation. The color of the arrow tip represents the 'sky in background' visibility result. A green color indicates that the points are visible to each other, a red color that they are certainly not intervisible and an orange color that unknown or invalid elevations were found during the computation. The computation is automatically updated when moving the input points.

For line-of-sight coverage computations:

  • open the input dialog and select a point on the map
  • enter the radius and angles and the height above ground
  • enter the steps for the intermediate points or choose to have them computed automatically (in advanced mode)
  • enter the visibility parameters
  • choose the computation algorithm
  • set how the result should be interpreted. Minimum typically results in more red pixels, maximum in more green pixels. In mountainous areas the difference between minimum and maximum is typically larger than in flat valleys.
  • select the layer the results should be put in
  • optionally, fill in or compute the density of the sampling (in advanced mode)
  • press the compute button
The result is represented by a colored raster or shape around the selected point.

   


Preview

GXY: Directional Viewshed  samples.tea.gxy.viewshed.directional.MainPanel

This sample demonstrates how to generate directional viewsheds for terrain and a shape model.

Instructions

To calculate shadows for the sample terrain and city:

  • Select the position of the sun by inputting its coordinates or dragging around the sun icon. For example, (0.0,0.0) means that the sun will be at position (0.0,0.0) at infinite height.
  • Enter a sampling height offset. For example, 1.0m means that the visibility of a lon-lat coordinate will be determined one meter above ground.
  • Enter a terrain step size. For example, 100m means that terrain will be sampled once every 100 meters. Note that smaller step sizes will require more calculations.
  • Hit the calculate button.

The sample creates a new composite viewshed based on the terrain and the city. It does so by extruding the given polygons to make them 3D. It also places the resulting extruded shapes above terrain. The sun is used as a direction: Conceptually the sun is at infinite height.

To visualize the viewshed it is wrapped in a multilevel raster. Visible (i.e. non-shadowed) portions of the terrain are transparent, while non-visible (i.e. shadowed) portions are gray. The raster creates tiles by sampling the composite viewshed at a height that is a combination of the height of the terrain plus the sampling height offset.

   


Preview

GXY: Positional Viewshed  samples.tea.gxy.viewshed.positional.MainPanel

This sample demonstrates how to generate positional viewsheds for terrain and a shape model.

Instructions

To calculate visibility for the sample terrain and city:

  • Select the position of the observer by inputting its coordinates or dragging around the green observer icon.
  • Enter an eye height offset. For example, 2.0m means that the observer is 2 meters above ground.
  • Enter a sampling height offset. For example, 1.0m means that the visibility of a lon-lat coordinate will be determined one meter above ground.
  • Enter a terrain step size. For example, 100m means that terrain will be sampled once every 100 meters. Note that smaller step sizes will require more calculations.
  • Hit the calculate button.

The sample creates a new composite viewshed based on the terrain and the city. It does so by extruding the given polygons to make them 3D. It also places the resulting extruded shapes above terrain. The observer is used as a position. Its height is given by the underlying terrain, plus the eye height offset.

To visualize the viewshed it is wrapped in a multilevel raster. Visible portions of the terrain are transparent, while non-visible portions are gray. The raster creates tiles by sampling the composite viewshed at a height that is a combination of the height of the terrain plus the sampling height offset.

   


Preview

GXY: Computing the visibility of a polyline or a polygon from another shape  samples.tea.gxy.visibility.MainPanel

The sample allows you to compute the visibility from a shape to a polyline or a polygon. You can do so by specifying the shapes using the drop-downs.

Instructions

Edit the shapes and configure the desired visibility computation with the drop-downs. The visibility will be computed and added to the map.

  • The result of a 'to polyline' visibility computation is drawn on top of the polyline as green and red lines indicating which parts of the shape are visible and which are not.
  • The result of a 'to polygon' visibility computation is drawn as a raster inside the bounds of the polygon. Areas with green raster pixels are visible, areas with red pixels are invisible.
  • Visibility is recomputed when you edit one of the two shapes involved in the current visibility setting. If the previous computation has not yet completed, the intermediate result is shown.

   


Preview

Lightspeed: Contours  samples.tea.lightspeed.contour.MainPanel

This sample demonstrates the contour functionality of the Terrain Analysis Engine Component.

Instructions

Select a type of contour. Two different contour types are available:

  • polygon contours
  • polyline contours. Zoom in to see labels showing the height of the contours.

   


Preview

Lightspeed: Measuring distance over terrain  samples.tea.lightspeed.distance.MainPanel

This sample demonstrates the terrain distance controller.

The terrain distance controller measures distance between points taking into account the terrain elevation in between. As such this will be an approximation of the distance to travel over land from start to end point.

The distance is influenced by the path taken between the points which can be either geodetic (shortest path on the ellipsoid) or of constant azimuth. Note that distance following a constant azimuth path may be smaller than when following a geodetic path, due to the terrain underneath.

Instructions

Activate the terrain ruler and click a few times on the DTED data. A path is created and the distance along that path is shown computed. Adjust the measure mode settings to use a different distance calculation. Notice how the distance is bigger if “over terrain” is enabled. The parts of the measurement that are out of terrain bounds are shown as “Unknown”.

   


Preview

Lightspeed: Finding the extreme points inside a shape  samples.tea.lightspeed.extremepoint.MainPanel

This sample demonstrates how to find extreme points inside a shape.

The sample allows you to find minimum and maximum points inside a selected area. A minimum/maximum point is defined to be the lowest or highest point in the surrounding area. This area is defined by a configurable separation distance.

To ensure that the peaks are more or less distinct, a separation height is needed. This height defines the minimum height difference which has to be bridged between two peaks.

Instructions

Edit the selected polygon, adjust the extreme point settings and click the 'Compute' button. The found minimum (green) and maximum (red) points are added to the map and are shown inside the polygon.

Change the DTED level to control the resolution of the height data for the search algorithm.

   


Preview

Lightspeed: Hypsometric computations  samples.tea.lightspeed.hypsometry.MainPanel

This sample demonstrates how to visualize hypsometric computations on elevation data in a Lightspeed view. The computations can be applied to either the view's terrain or a specific elevation model.

Instructions

Explore the various hypsometric functions and their input parameters (if applicable):

  • Ridges and valleys: Blue indicates ridges, red indicates valleys.
  • Shading: Applies a shading function based on the slope and orientation. Hill sides facing away from the reference direction are dark, sides facing along the reference direction are bright.
  • Orientation: Computes the angle of steepest descent, relative to the input angles. Hills facing along the reference direction are blue, the opposite sides are red.
  • Slope: Determines the angle between the normal of a point and the input angles. Flat areas are green, hill sides are colored according to their steepness (yellow – red – black). The values reflect the angle between a hill side and the reference direction, so at low vertical angles only steep hills facing towards the horizontal reference direction are highlighted.
  • Azimuth: Determines the azimuth of a point, as determined by the normal, relative to the input parameters. Hill sides are colored based on their angle relative to the horizontal angle control.

Open some additional elevation data (for example Data/Dted/Alps/dmed) and select the layer in the combo box in the "Hypsometry Data" panel. The hypsometric computations are now only applied to the selected layer instead.

   


Preview

Lightspeed: Line Of Sight  samples.tea.lightspeed.los.MainPanel

This sample demonstrates how to set up Line-of-Sight (LOS) calculations in a Lightspeed view. The sample allows the user to edit an arcband that is used as input for LOS calculation.

The input shape is edited using the default shape editor. The resulting Line-of-Sight shape is visualized as a three-dimensional sheet using a TLspLOSCoveragePainter.

Instructions

To edit the LOS calculation, first select the LOS input shape by clicking on it.

You can change the shape as follows:

  • move around the center point by dragging around the input shape
  • increase or decrease the radius of the LOS calculation by dragging the outer radius handles. The radius of the LOS input shape is limited in its size for this sample.
  • limit the arcband range of the LOS calculation by dragging the outer radius handles

Use the sliders in the parameters panel on the right to modify:

  • The angular step size, in degrees
  • The radial step size, in metres
  • The relative increase of subsequent radial step sizes, in %. If not zero, the radial steps increase outward from the center of the LOS coverage. This is for example useful to reduce the performance impact of large radius/small (initial) step size combinations. The effect is more easily noticeable when the radius is large and a non-gradient color map is used.
  • The altitude of the center point, in metres above ground.
  • The minimal vertical angle for the cone of silence, in degrees.
  • The maximal vertical angle for the cone of silence, in degrees.

The style panel in the upper right side of the screen controls the following parameters:

  • The colors at certain altitudes
  • The opacity of the LOS colors
  • Toggle draping for the LOS visualization. The calculation is projected onto the terrain when on.

All changes are applied immediately.

   


Preview

Lightspeed: Positional Viewshed  samples.tea.lightspeed.viewshed.positional.MainPanel

This sample demonstrates how to generate positional viewsheds for terrain and a shape model.

Instructions

To calculate visibility for the sample terrain and city:

  • Select the position of the observer by inputting its coordinates or dragging around the observer icon.
  • Enter an eye height offset. (Example: 2.0m means that the observer is 2 meters above ground.)
  • Enter a viewshed step size. (Example: 2.0m means that the visibility will be sampled once every 2.0 meters near the observer. Larger step sizes are used farther away.)
  • Enter a terrain step size. (Example: 100m means that terrain will be sampled once every 100 meters.)
  • Hit the update button.

After some seconds, a viewshed is shown, indicating the hidden areas for the observer. It does not perfectly fit the buildings because of the sampling resolution.

The visibility result (in the form of a viewshed) produces a scalar field. The viewshed is visualized using the marching cubes algorithm. This algorithm extracts a polygonal mesh from a three-dimensional scalar field. The mesh represents the volumes that are invisible to the observer. The algorithm samples the scalar field at certain locations. The UI allows you to specify the resolution of this sampling with the "Viewshed step size"-setting.

   


Preview

Lightspeed: Computing the visibility of a polyline or a shape from another shape  samples.tea.lightspeed.visibility.MainPanel

The sample allows you to compute the visibility from a shape to a polyline or a polygon. You can do so by specifying the shapes using the drop-downs.

Instructions

Edit the shapes and configure the desired visibility computation with the drop-downs. The visibility will be computed and added to the map.

  • The result of a 'to polyline' visibility computation is drawn on top of the polyline as green and red lines indicating which parts of the shape are visible and which are not.
  • The result of a 'to polygon' visibility computation is drawn as a raster inside the bounds of the polygon. Areas with green raster pixels are visible, areas with red pixels are invisible.
  • Visibility is recomputed when you edit one of the two shapes involved in the current visibility setting. If the previous computation has not yet completed, the intermediate result is shown.

   


Preview

Adding a TEA (Terrain Elevation Analysis) custom service type to the LuciadFusion Platform  samples.fusion.platform.tea.FusionServerSampleTea

Example TEA web service application using a custom service type.

The API documentation is integrated within the service. After creating a TEA service in LuciadFusion Studio the documentation is available at http://localhost:8081/samples/fusion/tea/{serviceName}/apidoc/index.html.