Visibility Analysis Extension
Visibility Analysis
The Carmenta Engine Visibility Analysis Extension allows you to perform high performance visibility calculations in both 2D maps and 3D city environments.
The LineOfSightOperator uses elevation rasters to compute the regions that have a free line of sight to the position of an observer. The computation is extremely rapid – it is designed to be computed on the fly for moving objects. Multi-resolution data sources can be used to further improve the performance of the calculation.
![]() |
The basic result of the calculation consists of raster values that for each position specify what height an object would need in order to be seen. This can be used to create a color-coded display of the result. An alternative output format allows the generation of a volumetric viewshed that can be displayed in 3D or in a vertical profile. Many configurable sensor parameters, such as lobe size, maximum range and refraction means that the calculation can also be used for determining the line of sight from regular or phased-array radar systems.
When there are several observers, the AirspaceCoverageOperator can be used to combine the volumetric viewsheds according to configurable rules, which is useful to explore airspace coverage: what parts of an airspace are visible by a collective of observers. This operator can also generate the complement of the combined viewshed: the parts of the airspace that are not visible.
![]() |
Line of sight in 3D city environments
![]() |
In 3D, the LineOfSightOverlay can perform line-of-sight analysis directly on the ground meshes that have been loaded into the view. This allows for a very accurate result, especially when used with detailed 3D city models.
Additional features
The TargetLineOfSightOperator provides high performance calculation of intravisibility between multiple moving point features – especially useful for target tracking. The VisibilityIndexOperator makes it possible to determine the optimal positions for surveying a specific area. And the ShadowOperator computes the shadows cast by terrain features such as mountains on a specific time and day.
In the LineOfSightOperator and its subclasses you can also replace the standard line-of-sight propagation model by your own Custom Propagation object that implements radio propagation, for example.