Technical Specification

Carmenta Engine 5.16

You can find system requirements for the different Carmenta Engine versions further down this page.

General

  • Software Development Kit (SDK) for rapid development of interactive geographic applications on Windows, Linux and Android.
  • High performance visualisation and processing of geographic data, both in 2D and 3D.
  • Native 64-bit version with an add-on available for 32-bit development on Windows.
  • Fast kernel developed in optimised C++.
  • Individually optimised .NET, C++ and Java APIs.
  • The .NET API supports both .NET Framework and .NET.
  • The Linux and Android SDKs support both x86-64 and ARMv8 64-bit CPUs.
  • NEW The Windows and Linux SDKs support cross-platform development (Windows, Linux, Embedded Linux, Android).
  • Optimised internally for multi core CPUs.
  • Hardware accelerated map rendering that offloads the CPU.
  • Parallel asynchronous processing that keeps the application’s user interface responsive.
  • Map controls for MAUI, WPF, Xamarin, Windows Forms, Qt, Qt Quick, Win32, MFC, X11, Java and Android.
  • Supports over 100 geographic data formats natively.
  • Different layers can have different coordinate systems, reprojection is done on the fly.
  • Maps can be accessed via remote servers (OGC WMS, WMTS, WCS, WFS and CSW).
  • Efficient cache mechanism for handling large numbers of moving objects on the map.
  • Flexible API for smoothly animating object movements.
  • Dedicated radar plot and radar video functionality can handle millions of dynamic plots and be used to create real time PPI displays.
  • Component based architecture built around intuitive data flow paradigm.
  • Easy deployment using runtime merge modules (.msm) or simple XCopy deployment.
  • Built-in profiler for measuring and tuning the performance of map and application layers.
  • Built-in tiled map image file cache, suitable for optimising vector layers on low-end hardware.
  • Integrated read/write support for OGC GeoPackage files enables efficient, single-file geodata distribution.
  • Presentation of map layers and application layers can be defined in map configuration files using Carmenta Studio, or in runtime using the APIs.
  • Geographically correct spatial calculations such as projection, distance, great circle, scale factors, azimuth/angle calculations etc available for all reference systems.
  • Multiple windows and views can present the same data with different visualisations simultaneously.
  • Supports internationalisation – titles, descriptions and other metadata can be specified in multiple languages.
  • Unicode support for rendering non western right-to-left text, such as Arabic.
  • Supports scale-correct, high resolution printing of any map.

Visualisation

  • Supports custom line styles, pattern fills and textures.
  • Predefined common map symbols, line styles and patterns.
  • Semitransparency is supported on all drawing operations.
  • Hardware accelerated map layer effects can perform color adjustments (brightness, contrast, hue, saturation etc.) as well as glow, halos and ambient occlusion.
  • Elements such as scale bars, compasses and north arrows can easily be added to the map.
  • Support for animating the visualisation, e.g. to create blinking or pulsating objects.
  • Anti-aliasing of text, symbols, lines and polygons removes jaggedness in presentation.
  • Raster filtering, bilinear or bicubic, improves visualisation of scanned maps etc.
  • Hardware accelerated configurable multi-sample antialiasing and anisotropic filtering for maximum legibility in 2D and 3D.
  • Off screen drawing to file or memory.
  • Raster symbols from common image files.
  • Vector symbols from SVG or font files with halo and outline effects.
  • 3D symbols and corridors from common 3D shapes or 3D models.
  • Multiple visualisations on objects such as multiple texts and symbols at a point or line.
  • Complex line styles with auto-placement of symbols or labels along lines or in nodes, texts or symbols that clip lines etc.
  • Level of detail in 2D with automatic switching on/off of map layers based on scale and/or geographic area.
  • Vector and raster layers can be arbitrarily mixed. Layers can be combined using normal or multiply blend modes.
  • Attribute data controlled visualisation, selection and discrimination.
  • Automatic label placement of text and symbols that prevents overlapping and duplication.
  • Automatic scale-based aggregation of hierarcical data, e.g. tactical ORBAT structures.
  • Visualisation can be configured to automatically adapt to displays with very high pixel density.
  • Supports military tactical symbology (NATO App-6, DOD MIL-STD-2525).
  • Supports nautical symbology (IHO S-52, NATO AML Portrayal).
  • Supports meteorological visualization (wind barbs, pressure charts etc.)

Extensibility

  • Possibility to ”plug-in” custom data reading, processing and visualisation code as components that fit seamlessly into the Carmenta Engine data-flow model.
  • Custom visualisation can be developed either using native GDI or OpenGL or by using Carmenta Engine’s high-level drawing API.
  • Custom processing written in Python script can be embedded into map configurations.

Coordinate systems and projections

  • Configurable reference systems, projections and geodetic datums, support for EPSG IDs.
  • Handles embedded reference system information.
  • Supports more than 15 types of projections, including Mercator, Transverse Mercator, UTM, Lambert, Albers, Stereographic, Azimuthal Equidistant and Orthographic.
  • Projections for georeferencing using ground control points.

Geographic databases and formats

  • Can generate low resolution variants (”pyramids”) for all raster data sources to improve performance.
  • Support for spatial database queries.
  • Spatial indexing for efficient reading of large datasets.
  • Geographic data and other resources can be read directly from zip archives.
  • NEW Support for monitoring folders and automatically updating the map when data is added or removed.
  • Full-text attribute indexing for fast text search functionality, e.g. address search.
  • Supports reading Raster Attribute Tables for thematic data sources.
  • Supports reading geospatial metadata according to the French GéoBase Défense and TopoBase Défense standards.
  • NEW Efficient conversion of vector data to and from GeoJSON.
  • Reads directly (conversion is not needed) from a large number of formats:
ADRG Erdas IMG OGC Geopackage
AIXM 2,4 Erdas LAN/GIS OGC KML
AML 2,4 GeoJSON OGC WCS
ARINC 424 2,4 GeoSoft Raster OGC WFS
ASRP GeoTIFF 1 OGC WMS
AutoCAD DXF 6 Gif 1 OGC WMTS
AutoCAD DWG 6 GridASCII OpenFlight
AUX GPX Oracle Spatial 6
BIL,BSQ,BSP HDR PNG 1
Bing Maps IHO S-57 2,3,4 PolGASP
BSB Nautical IHO S-63 2,3,4 PostGIS 6
BMP 1 Intergraph raster Raw
CADRG Japanese DEM RPF 4
CEOS (Spot) CM93 C-MAP 3,4,5,6 SDTS DEM
CIB JPEG(.jpg) 1 SQL Server 6
CMRG (PCMap) JPEG2000(.jp2) SRTM HGT
COLLADA Mapbox Vector Tiles TIFF 1
DEM (MVT) Tiled Map Servers
DFAD MapInfo TAB USGS ASCII
DTED MapInfo MIF USGS DOQ
ECW MBtiles USRP
Envisat N1 MFF VTP BT elevation
Esri Shape (.shp) 1,2 MFF 2 VPF 2
Esri Binary ADF MrSID 6 VMAP 2
Esri ASCII Grid MySQL 6 VVOD 2
Esri File Geodatabase NTF WVS 2
NOAA WMO GRIB
  1. Reads and writes
  2. Uses advanced spatial indexing technology for fast access of large files
  3. With optional IHO S-52 nautical chart presentation
  4. Functionality available as an additional Carmenta Engine Extension
  5. Not available in Carmenta Engine Linux version
  6. Not available in Carmenta Engine for Android

Interaction

  • Flexible API for querying geographic objects on screen.
  • High-level interaction tool interface that developers may use to ”plug in” their own interaction handling.
  • Separate visualisation can be configured for selected and hovered map objects.
  • Tools for navigating 2D and 3D maps.
  • Tools for creating and editing 2D and 3D points, lines and polygons.
  • Tools for creating and editing circles, ellipses, circle sectors, rings etc.
  • Tools for multi-touch interactions such as pinch-to-zoom and twist-to-rotate.
  • Overview window functionality.

Data processing “On the fly”

  • Buffer zone generation for raster data and vector data.
  • Clipping of geographic points, lines, polygons and meshes by geographic polygons or viewing area.
  • Connection / desegmentation of lines and polygons.
  • Data reduction through line and polygon ”thinning”.
  • Geographic, UTM/MGRS and GARS grid generation.
  • Generate circle and ellipse objects from point + radius.
  • Generate concentric range circles and radial lines around objects or at the center of the map.
  • Generate 3D volumes (e.g. boxes, spheres and pipes) from 2D objects.
  • Hill shading with dynamic sun position.
  • Slope and aspect calculations.
  • Detection of ridges, valleys, peaks and basins.
  • Isoline, e.g. elevation contours calculation.
  • Real time line-of-sight calculation in both 2D maps and 3D city environments.
  • Rapid calculation of visibility of defined target areas from one or more observation areas.
  • Volumetric line-of-sight with multi-sensor airspace coverage analysis.
  • NEW Support for custom propagation models, e.g. radio propagation, in the line-of-sight calculation.
  • Merging heterogeneous raster data with different resolutions into homogeneous data.
  • Rasterisation of 2D vector layers.
  • Reprojection of vector and raster data.
  • Resampling of raster data.
  • Accessibility analysis and routing calculations for terrain vehicles.
  • NEW Nap-of-the-earth routing calculations for rotary-wing aircrafts, e.g. drones.
  • Transformation of line objects to polygons and vice versa.
  • Smoothing of line and polygon shapes.
  • Vertical profile calculation which can cut through both terrain, land use and vector data.
  • Vertical clearance and terrain warning calculation for flight routes based on terrain and vector obstacles.
  • Projection of full motion video onto the ground or onto detailed 3D environments based on camera parameters.
  • Dynamic generation of point density rasters for heat map presentation.

Software development kit contents

  • Carmenta Studio – a visual editor for map configurations.
  • Carmenta Explorer – a map configuration viewer.
  • Comprehensive documentation, including tutorials, technical articles and API documentation.
  • Many sample applications with source code in C# for Windows Forms, WPF, MAUI and Xamarin, C++ for Qt, MFC, Win32 and X11 as well as Java for Swing and Android.
  • Sample maps and map configurations.

Older versions

System Requirements

Carmenta Engine 5.16

Carmenta Engine for Windows

Operating Systems:

Windows 10, 64-bit
Windows 11

Graphics device requirements for hardware acceleration:

Using OpenGL rendering requires a device supporting OpenGL 1.1.
The Plot Extension requires OpenGL 1.5.
Using GlobeView, TerrainWarningOverlay, BlendModes, Effects, and RadarVideoLayer requires OpenGL 3.0.

Using DirectX rendering requires a device supporting DirectX 11.

Language and framework requirements:

.NET Framework API: .NET Framework 4.0 or later.
.NET Standard API: .NET Framework 4.7.2 or later, .NET 6.0 or later.
Java API: Java 11 or later.
C++ API: Visual Studio 2019 or later. When using Qt or QT Quick, Qt version 5.15 or later should be used.

Integrated Development Environments:

Support is provided for Microsoft Visual Studio 2019 and 2022 (C++ and C#). Other C++ IDEs that use the Microsoft C++ compiler (MSVC) can also be used.
Java developers can use NetBeans or Eclipse.

Carmenta Engine on Linux

Operating Systems:

Ubuntu 20.04 LTS and 22.04 LTS.
Red Hat Enterprise Linux 8 and 9.
SUSE Linux Enterprise 15 SP4.
On Linux x86-64 and ARMv8 compatible 64-bit CPUs are supported.

Graphics device requirements for hardware acceleration:

Using OpenGL rendering requires a device supporting OpenGL 1.1 and GLX 1.3.
When using OpenGL ES on Linux, the device needs to support OpenGL ES 3.0 or later.
The Plot Extension requires OpenGL 1.5.
Using GlobeView, TerrainWarningOverlay, BlendModes, Effects, and RadarVideoLayer requires OpenGL 3.0.

Language requirements:

Java API: Java 11 or later.
C++ API: GCC 7.5 or later. When using Qt or Qt Quick, Qt version 5.9 or later should be used.
.NET Standard API: .NET 6.0 or later.

Carmenta Engine for Android

Supported Devices:

Android devices running Android version 6.0 or above and have an ARMv8 compatible 64-bit CPU or an x86-64 compatible 64-bit CPU.

Graphics device requirements for hardware acceleration:

Using OpenGL rendering requires a device with full support for OpenGL ES 3.0.
Carmenta Support can provide an up-to-date list of Android devices which have been tested and verified to work well.

Integrated Development Environments:

Support is provided for Android Studio for Java projects and Visual Studio 2022 or later for .NET projects.

Language and framework requirements

Java API: Java 11 or later.

C++ API: NDK r23 or later. When using Qt Quick, Qt version 6.2 or later should be used.

.NET Standard API: .NET 6.0 or later.

Older versions