Carmenta Engine

Technical Specification

Carmenta Engine 5.17

General

  • Software Development Kit (SDK) for rapid development of interactive geographic applications on Windows, Linux and Android.
  • High performance visualization and processing of geographic data, both in 2D and 3D.
  • Fast 64-bit kernel developed in optimized C++.
  • Individually optimized .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.
  • The Windows and Linux SDKs support cross-platform development (Windows, Linux, Embedded Linux, Android).
  • Optimized internally for multi core CPUs.
  • Hardware accelerated map rendering that offloads the CPU.
  • Parallel asynchronous processing that keeps the 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).
  • NEW! Browse and access remote map tile collections via the OGC API – Tiles interface.
  • 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 optimizing 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 visualizations simultaneously.
  • Supports internationalization – 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.

Visualization

  • 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 visualization, 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 visualization 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 visualizations 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 visualization, selection and discrimination.
  • Automatic label placement of text and symbols that prevents overlapping and duplication.
  • Automatic scale-based aggregation of hierarchical data, e.g. tactical ORBAT structures.
  • Visualization 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 visualization code as components that fit seamlessly into the Carmenta Engine data-flow model.
  • Custom visualization 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.
  • 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.
  • Efficient conversion of vector data to and from GeoJSON.
  • Reads directly (conversion is not needed) from a large number of formats:
  • ADGR
  • Erdas IMG
  • OGC GeoPackage
  • AIXM 2
  • Erdas LAN/GIS
  • OGC KML
  • AML 2
  • GeoJSON 1
  • OGC WCS
  • ARINC 424 2
  • GeoSoft Raster
  • OGC WFS
  • ASRP
  • GeoTIFF 1
  • OGC WMS
  • AutoCAD DXF 5
  • GIF 1
  • OGC WMTS
  • AutoCAD DWG 5
  • GridASCII
  • OpenFlight
  • AUX
  • GPX
  • Oracle Spatial 5
  • BIL, BSQ, BSP
  • HDR
  • PNG 1
  • Bing Maps
  • IHO S-57 2,3
  • PolGASP
  • BSB Nautical
  • IHO S-63 2,3
  • PostGIS 5
  • BMP 1
  • Intergraph raster
  • Raw
  • CADRG
  • Japanese DEM
  • RPF
  • CEOS (Spot)
  • JPEG (.jpg) 1
  • SDTS DEM
  • CIB
  • JPEG2000 (.jp2)
  • SQL Server 5
  • C-MAP CM93 3,4,5
  • Mapbox Vector Tiles (MVT)
  • SRTM HGT
  • CMRG (PCMap)
  • MapInfo TAB
  • TIFF 1
  • COLLADA
  • MapInfo MIF
  • Tile Servers
  • DEM
  • MBTiles
  • USGS ASCII
  • DFAD
  • MFF
  • USGS DOQ
  • DTED
  • MrSID 5
  • USRP
  • ECW
  • MySQL 5
  • VTP BT elevation
  • Envisat N1
  • NITF
  • VPF 2
  • ESRI Shape (.shp) 1,2
  • NOAA
  • VMAP 2
  • ESRI Binary ADF
  • OGC API – Tiles
  • VVOD 2
  • ESRI ASCII Grid
  • OGC 3D Tiles
  • WVS 2
  • ESRI File Geodatabase
  • OGC CSW
  • WMO GRIB
  1. Reads and writes
  2. Uses spatial indexing for fast access of large files
  3. With optional IHO S-52 nautical chart presentation
  4. Not available in Carmenta Engine Linux version
  5. 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 visualization 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.
  • 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.
  • Rasterization of 2D vector layers.
  • Reprojection of vector and raster data.
  • Resampling of raster data.
  • Accessibility analysis and routing calculations for terrain vehicles.
  • 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 drone full motion video onto the ground or onto detailed 3D environments based on camera parameters.
  • NEW! On-the-fly generation of image mosaics from drone full motion video streams.
  • 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.
  • NEW! Carmenta Tile Engine – a tile server that supports the OGC API – Tiles interface.
  • 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.17

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 3.0.
  • Using DirectX rendering requires a device supporting DirectX 11.

Language and framework requirements:

  • .NET API: NET 6.0 or later, or .NET Framework 4.7.2 or later. The .NET MAUI map control requires .NET 8.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 22.04 LTS and 24.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 3.0 and EGL 1.4.
  • When using OpenGL ES on Linux, the device needs to support OpenGL ES 3.0 or later.

Language requirements:

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

 

Carmenta Engine on Android

Supported Devices:

  • Android devices running Android version 9.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 API: .NET 6.0 or later.

Older versions

Try for free

Request a Trial

Are you ready to see how our products can transform your work? Request a free trial today and explore the full potential of our geospatial technology.

 

  • Our Evaluation License includes 30 days unlimited access.
  • Please specify which product/products you are interested in.
  • Fill out the form, and one of our representatives will contact you shortly with access details.

 

This form can be used to request a trial for Carmenta Engine, Carmenta Server or Carmenta Map Builder.