MRR

Multi-Resolution Raster (MRR), MapInfo Pro's raster data format, is a unifying format that handles all types of data and provides capabilities to improve the user experience when visualizing and processing raster data.

Spectrum Spatial Support

Spectrum Spatial provides the following support for MRR via a TAB file:

  • Render MRR rasters as maps and tiles using the Mapping Service and Tiling Service that have the same visual styling as in desktop products such as MapInfo Pro
  • Query a cell value using the existing functions MI_GridValueAt or MI_GridValueAtPixel in the Feature Service (see Raster / Grid Functions in the MapInfo SQL Language Reference Guide)
  • Get legends for maps with MRR (continuous and classified MRR only)
  • Alpha channel is supported only for an image rendered as RGBA (red, green, blue, alpha)
Note: We recommend copying all MRR companion files (.ghx and .pprc) along with the .mrr file to the same directory to avoid any instability. These files should be generated using MapInfo Pro Raster 1.0 or later. If these files are not copied then the first query or rendering request will take a significant amount of time to process. Spectrum Spatial:
  • Expects that MRR files already have statistics and overviews created, which ensures optimal performance.
  • Returns an error, related to raster resource initialization or when reading a .ghx file, when the format of a companion file is no longer supported. These should be regenerated using MapInfo Pro Raster 1.0 or later. For raster files, the query of the cell value is limited to the single band value persisted in the .ghx file. You cannot specify the field or band to retrieve through the API.
  • Supports the reading of a cell value at base level (resolution 0).
  • Renders cells as transparent when they are not present or contain a null value irrespective of ghx settings. This occurs with or without a companion .ghx file.

This support is provided on Windows and the following Linux environments:

  • CentOS 7.x, 8.x
  • Oracle Linux 7.x, 8.x
  • Red Hat Enterprise Linux 7.x, 8.x
  • Ubuntu 16.04 LTS, 18.04 LTS, 20.04 LTS

A sample MRR named map, table, and layer are included in the repository, under the /Samples folder.

Note:
  • On Linux machines, GCC version 4.9 and LIBC to version 2.17 are required for MRR files. See Configuring a Linux Machine for MRR in the Spectrum Spatial Administration Guide for instructions.
  • On Linux, all files (.TAB, .ghx, and .pprc) must share the same case as the MRR file name. You must either modify the file names to have the same case or regenerate them, otherwise Spectrum Spatial will throw an error.
  • Anti-aliasing does not currently work for MRR.
  • File handles for MRR are normally cached to improve performance. When rendering or querying a MRR file, the handle is opened on first use and then cached and used for subsequent requests. If there is a change in the MRR, such as a new GHX file (with a new style or new default field and/or band), then the change is not applied until after the cache is cleared and the file handle re-opened. You can disable this behavior by setting the Volatile flag to true for MRR tables on the Table Details page in Spectrum Spatial Manager. This prevents caching the file handle for that specific MRR table. For how to clear the cache, see Clearing MRR Cache.
  • If Volatile is set to false and a file handle cache is present, you can clear the MRR cache for all MRR tables or for specific MRR tables. For more information, see Configuring the Volatile attribute for Named Tables. For more information about manual closure, see Clearing MRR Cache. If the time period between subsequent requests is large, the file handle closes automatically. Stopping the server, invalidates the cache and closes all handles before the JVM exits.
  • If performance is critical, for example when tiling MRR maps or using MRR in a data flow, we recommend keeping the Volatile flag false to optimize performance for Feature and Mapping requests.

Benefits of MRR

The MRR file format offers the following key benefits:

  • Extremely large raster/grid datasets - The MRR format has been designed to address the difficulty of handling extremely large datasets by providing multiple optimizations to minimize storage requirements and provide efficient ways of accessing data in extremely large files. It has also been designed to deliver an enhanced visualization experience by using tiling and by maintaining a data pyramid to enable efficient data visualization at any given scale.
  • Unified data - The MRR format is capable of storing all types of raster/grid data in common use, and it removes the distinction between numeric or classified data and colored imagery.
  • Sparse data - Sometimes raster/grid datasets can be extremely large but only sparsely populated with valid data. An example of such a dataset is a LiDAR survey which follows along a pipeline for several 100 km but is only 100 m wide. In cases such as these, the MRR format does not store values for the regions containing no data, but still remains flexible enough to add additional data to the source file any time. This allows extremely sparse datasets to be stored efficiently on disk, be rapidly accessed and easily updated.

Capabilities of MRR

The MRR file format has the following capabilities:

  • Removes virtually all restrictions on the size of raster datasets.
  • Extends the concept of a raster from a simple 2D array of cells to an extensible sparse matrix of tiles.
  • Contains a binary data pyramid enabling data access at any scale.
  • Achieves efficient storage using lossless and lossy compression techniques via industry standard compression codecs.
  • Supports the temporal dimension, allowing data to be accumulated and accessed by time.
  • Supports image data, thematic data (of virtually unlimited size) and continuous and discrete data.
  • Supports a wide and extensible number of data types including complex numbers.
  • Stores one or more multi-banded fields.
  • Supports local registration and cell size for each field.
  • Contained within a single file on disk.