3D Implementation Details - 2023

MapInfo Pro Release Notes

Product type
Product family
MapInfo > MapInfo Pro
MapInfo > MapInfo EasyLoader
MapInfo > License Server Utility
MapInfo > MapBasic
MapInfo > MapInfo Pro Advanced
Product name
MapInfo Pro
MapInfo Pro Release Notes
First publish date

OpenGL Rendering

MapInfo Pro uses DECK.GL, a WebGL-powered framework to simplify high-performance, WebGL-based visualization of large data sets. You can quickly get impressive visual results with minimal effort by composing existing layers, or leverage DECK.GL's extensible architecture to address custom needs.

Workspace Serialization

The 3D Map definition is stored in JSON file and the Workspace calls into 3D add-in to load each window. For example,
run uri "mapinfopro://application:MapInfo3D.mbx;deserializeWindow/Oksenvad_DTM Map 3D/Oksenvad_DTM Map 3D.json"

Hosted Web Browser

  • MapInfo Pro 3D functionality uses the Microsoft Edge WebView2 control to embed and render web technologies (HTML, CSS, and JavaScript). The WebView2 control uses Microsoft Edge as the rendering engine to display the web content in native apps.
  • Right-click anywhere on the 3D map and the click Inspect to open Microsoft Edge DevTools browser debugger.

Data Conversion and Caching

Elevation/Terrain Data must be encoded into RGBA values in a .PNG or tiled image. An elevation decoder formula is specified to recalculate the elevation from the RGB image values. Popular Mercator (epsg:3857) is the projection.

  • Vector Data is usually provided in the GeoJSON format in WGS84 coordinates.
  • Bitmaps are also converted to .PNG format in Popular Mercator (EPSG:3857) projection.
  • Elevation source definitions are stored in a file ElevationsSources.json.
  • The intermediate files are stored in a cache in a directory called elev_Cache created underneath it.
  • Each workspace or 3D map has a location specified when a 3D map is created. The map definition file <map Name>.json and the generated HTML file are stored there. A cache folder _3Dcache is created for intermediate files underneath this folder.