Technical Specification

Carmenta Engine 5.12

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.
  • Available in both 32-bit and 64-bit version.
  • Fast kernel developed in optimised C++.
  • Individually optimised .NET, C++ and Java APIs.
  • The .NET API supports both .NET Framework and .NET Core NEW.
  • Optimised internally for multi core CPUs.
  • Hardware accelerated map rendering that offloads CPU.
  • Parallel asynchronous processing that keeps the application’s user interface responsive.
  • Map controls for WPF, Xamarin, Windows Forms, Qt, Qt Quick, Win32, MFC, X11, Java and Android.
  • Supports over 70 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.
  • Dedicated radar plot and radar video NEW 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.
  • Map Package mechanism 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.
  • 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.
  • 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).

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 high-level graphics 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.
  • Full-text attribute indexing for fast text search functionality, e.g. address search.
  • Reads directly (conversion is not needed) from a large number
    of formats:
ADRG AML2 4 ARINC 424 2 4 ASRP AutoCAD DXF 4 6 AutoCAD DWG 4 6 AUX BIL, BSQ, BSP BSB Nautical BMP 1 CADRG 4 CEOS (Spot) CIB 4 CMRG (PCMap) 4 COLLADA NEW DEM DFAD 4 DTED ECW Envisat N1 ESRI Shape (.shp) 1 2 ESRI Binary ADF ESRI ASCII Grid ESRI File Geodatabase Erdas IMG Erdas LAN/GIS GeoJSON GeoSoft raster GeoTIFF 1 GIF 1 GridASCII GPX HDR IHO S-57 2 3 4 IHO S-63 2 3 4 Intergraph raster Japanese DEM CM93 C-MAP 3 4 5 6 JPEG (.jpg) 1 JPEG2000 (.jp2) Mapbox Vector Tiles (MVT) NEW MapInfo TAB MapInfo MIF MBTiles NEW MFF MFF2 MrSID 6 MySQL 4 6 NITF NOAA OGC GeoPackage OGC KML OGC WCS OGC WFS OGC WMS OGC WMTS OpenFlight NEW Oracle Spatial 4 6 PNG 1 PolGASP PostGIS 4 6 Raw RPF 4 SDTS DEM SQL Server 4 6 SRTM HGT TIFF 1 USGS ASCII USGS DOQ USRP VTP BT elevation VPF 2 VMAP 2 VVOD 2 WVS 2 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 objects. 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 3D volumes (e.g. boxes, spheres and pipes) from 2D objects.
  • Hill shading with dynamic sun position.
  • Slope and aspect calculations.
  • Isoline, e.g. elevation contours calculation.
  • Real time line-of-sight calculation in both 2D maps and 3D city environments.
  • Merging heterogenous rasterdata with different resolutions into homogenous data.
  • Rasterisation of 2D vector layers.
  • Reprojection of vector and raster data.
  • Resampling of raster data.
  • Accessibility analysis and routing calculations for terrain vehicles.
  • 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 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 and Xamarin, C++ for Qt, MFC, Win32 and X11 as well as Java for Swing and Android.
  • Sample maps and map configurations.