unit-functions TiledUnit


  • TiledUnit(tilesize)


The TiledUnit function results in a segmented/tiled domain unit, the tilesize argument defines the size of each tile.

The values-unit of the “tilesize” argument must be the original domain-unit from which the tiled unit is made.

TiledUnits are often used for grid domains. The tilesize argument for these two-dimensional domain is also two-dimensional Point value type.

For one-dimensional (tables) domains, the tilesize argument is one-dimensional. For these domains the concept segmented domain is also used as synonym of tiled domain.


Tiled units are useful if the original domain has a very large number of items (think for example of a grid unit of 100 meter cells for the whole of Europe).

Calculating with data items might cause memory problems (in a win32 environment). Tiling the original units can solve these problems.

If a tiled unit is configured as domain unit, calculations are processed on each tile separately.

The results are presented to the user in the same manner as untiled domains.

applies to


  • the values unit of the tilesize argument must match be the original domain unit, from which the tiled unit is derived.

since version



1: uint32 domain unit

unit<uint32> building_untiled: nrofrows = 100000000
unit<uint32> building := TiledUnit(25000[building])
   attribute<float32> a_attribute := union_data(.,building_untiled/a_attribute);

result: a tiled/segmented domain of buildings, with tiles of 25000 entries each.

2: spoint (grid) domain

unit<spoint> gridunit_untiled := range(gridset(
        ,point(-1f    , 1f     , point/Source/point_rd)
        ,point(405600f, 111300f, point/Source/point_rd)
     ),point( 0s, 0s), point(500s, 400s)

unit<spoint> gridunit := TiledUnit(point(100s, 200s, gridunit_untiled));

result: a tiled grid unit, called TiledUnit with 10 tiles of 100 * 200 cells each.