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
- Reads and writes
- Uses spatial indexing for fast access of large files
- With optional IHO S-52 nautical chart presentation
- Not available in Carmenta Engine Linux version
- 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.
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.
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.