Category: Carmenta Engine

Using Carmenta Engine with the MVVM pattern

This article aims to introduce the reader to the concept of MVVM (Model-View-ViewModel) as well
as how one could utilize it to create better Carmenta Engine WPF
applications. This will be done in three parts. First, we introduce the
reader to the concept of the MVVM-pattern. Secondly, we showcase a
standard C# WPF Carmenta Engine application, the HelloWorld sample.
Finally, we rewrite the sample application to comply with
the MVVM-pattern.

Dynamic Runtime Condition Variables

When using Carmenta Engine, there are times in which you want to be more specific about your visualization. Perhaps your visualization is only suitable for certain type of observers, at certain zoom levels or at certain times of the day. These are what we refer to as dynamical runtime condition variables. They exist as a set of UpdateAttributes inside the View class. There is a set of predefined variables but it’s also possible to add custom variables.

Carmenta Engine API in PowerShell

PowerShell provides a lot of built-in functionality, but it is also possible to load dll files directly and gain additional functionality. In this article we will have a look at how it is possible to use the Carmenta Engine API directly in PowerShell to automate tasks such as creating configurations for Carmenta Engine.

Screen coordinates and CRS coordinates

When working with geospatial applications, a common operation is to convert coordinates between screen pixel coordinates and geographical coordinates. This can be useful in various cases, such as displaying the geographical coordinate for the mouse cursor position, working with custom tools for user interaction, editing feature geometries from code, and more.

Creating and registering a custom dataset for detailed information

Custom objects are a flexible plugin mechanism in Carmenta Engine for integrating customized operations in a regular map configuration. More functionality is added in new Carmenta Engine versions to make this integration more seamless compared to the built-in objects. In this guide, we will focus on the custom dataset use case, for retrieving a customized DataSetInfo, and dynamically instantiating the dataset based on a file on disk.

Carmenta Engine as a geodata processor

In Carmenta Engine we define data flows by linking operators together. An operator reads features from its input, processes or manipulates those features and pass the result to the next operator. In the typical case, operators are added and configured in a configuration file and calls are managed by the map view without direct user interaction with the operators.

But in some cases a more custom approach is necessary and the application need to access the processed features directly in code. For example, the application may want to display information produced by the operators or an external component (or service) may want to use the result as input. In this article, we will explain how to approach such use-case.