Month: November 2022

Dynamic Visibility Analyses

Analyzing visibility within a geographical area is often key for a better understanding of the environment. Line-of-sight coverage analyses are often applied to highly dynamic objects with varied characteristics, such as a set of sweeping security cameras in an urban environment, a soldier with a pair of binoculars, or radar systems and other sensors. This guide will help you configure the visibility operators in Carmenta Engine to tackle your specific use cases and handle dynamic application data.

For an introduction on the different visibility analyses available, you can read the Visibility Analysis article in the Carmenta Engine SDK documentation. For this guide, we will use the LineOfSightOperator in a 2D view to get an easy example, but keep in mind that the behavior of the other visibility operators is the same. There are some additional data inputs that will need configuring, and the results you get are different, but the core concepts of dynamic visibility analysis are the ones presented in the following sections.

Getting started with the tactical symbology in Carmenta Engine

Through its tactical extension, Carmenta Engine provides support for visualization and editing of tactical symbols and graphics according to widely used military standards. Currently, the supported standards are MIL-STD-2525 versions B, C and D, as well as NATO App-6 versions B, C and D.

Using a few well-chosen feature attributes, it becomes easy to visualize objects from an already existing dataset as a tactical overlay on a background map. Carmenta Engine’s standard tools have full support for dynamically creating and modifying tactical features directly on the map.

In this article, we will cover the basic layer chain which can be used to display a tactical overlay, as well as how to control the symbol modifiers from Feature attributes.

Consume Carmenta Server Services with OpenLayers

There are plenty of options for providing and consuming geographical data in an application and the choice of programming language, framework or software will depend on a large set of factors; will it be a mobile or desktop application? Will the application be constrained to run on limited hardware resources? Maybe there are strict requirements in terms of security that will require full control of application dependencies. Other factors such as existing knowledge within a development team or company or the application area might also affect the choice.

However, it’s undeniable that developing towards a web platform is a popular choice. With the vast amount of available frameworks and the widening set of capabilities of web applications such as accessing native functionality of the client device and doing client-side development using programming languages typically not used for web applications by targeting WebAssembly, this trend will most likely continue.

To briefly explore what we discussed we will during the scope of this article develop a simple static web site using the popular open source Javascript library OpenLayers. We will then use Carmenta Server to publish a map service and consume this in our client application. After reading this article and following along you should have some more information regarding the following

  • Setting up a simple web application with OpenLayers
  • OGC Interface Standards
  • Publishing a simple map service with Carmenta Server
  • Consuming Carmenta Server map services using OpenLayers