This is an old revision of the document!


PHP's gd library is missing or unable to create PNG images

Map Type

A Map represents a grid of cells — with a fixed number of lines and columns — associated with a map projection, datum, and registration coordinates that anchor the grid in real-world space, along with a cell size defining the grid resolution. A Map can optionally define a null value, and can optionally hold more than one named layer, each layer being its own independent raster sharing the same dimensions and geographic format (see Create Cube Map and Extract Map Layer).

There are two basic kinds of maps:

Categorical Maps

Maps whose cells represent classes or categories — vegetation type, soil type, sub-regions, and similar. A map becomes a Categorical Map when a Categorization is attached to it, associating its integer cell values with category names and colors.

Categorical map example: a map depicting land use

Non-Categorical Maps

Maps whose cells represent values — temperature, probabilities, distances, and similar. A Non-Categorical Map carries no Categorization.

Non-categorical map example: a map depicting probabilities

GUI Editor

Input ports of type Map Type cannot be edited, so a map cannot be defined using an editor in the graphical interface. A Map holds a full raster dataset rather than a small value that can be typed into a field; a Map value is always produced by another functor — a loader such as Load Map, or a calculator such as Calculate Map — and supplied to other functors by connecting that output with a wire.

EGO Script

Input ports of type Map Type cannot be edited, so a map cannot be defined through a constant in EGO Script — see Constants. A Map is always obtained by calling a functor that produces one, and reused by referencing the variable bound to its output:

// Loads a map, computes its slope, and saves the result.
elevation := LoadMap "c:/data/elevation.tif";
slope := CalcSlopeMap elevation;
SaveMap slope "c:/data/slope.tif";

The generic Map carrier functor exists purely to pass a Map connection through — for example, as a placeholder while wiring a model — but its own input is likewise non-editable; it must itself be connected to another functor's Map output.

Tip: Loader functors such as Load Map and Load Categorical Map accept a storageMode input hinting how the loaded map's cells should be kept: .default (use the global memory allocation policy), .preferMemory (load fully into memory), .preferDisk (page from disk on demand), or .loadAsSparse (store only non-null cells). This is only a hint — the runtime may override it based on other information.

Automatic Conversions

  • Converted from: Categorical Map Type — a Categorical Map converts automatically to a plain Map wherever a Map is expected, keeping its cell values, null value, and categorization intact; only the guarantee that the categorization is present is dropped. The reverse does not happen automatically: a plain Map is not accepted where a Categorical Map is required, since a Categorization isn't guaranteed to exist.