Open in playproj

playproj

GuidePerspectiveCones and cylindersSight and shadeSpilhausGlobals and interruptedsPeeling the orangeDistortionEllipsoidGeoidOrthorectifications2 cellsH3 hexagonsL3 binsModel gridsIndex spaceMGRS and Sentinel-2AAT gridTiles and overviewsRectilinear chunksIcechunk and ZarrRasterizeAffineRegular in what?Convex hullCatastrophesTexture mappingPenguin datumFor exampleHomageVicGridNuyinaRhumb linesFrameTime and depthCutawayVoxels

Cubes sets the exaggeration so each voxel is drawn as tall as it is wide.

How it works

A voxel is a pixel with depth: one box of a 3D grid. Voxel maps (Minecraft, MagicaVoxel, and lately whole cities in three.js) build ground out of them. Here the ground is the GEBCO 2026 elevation grid, land and sea floor, cut into columns, each the mean elevation over its footprint, rounded to a whole number of voxels and stacked from a common floor.

Columns across is the resolution. Sliding it, or Sweep, is what a stack of overviews does to the same ground: each halving merges four columns into one. The readout names the GEBCO level read (the file carries its own overviews, 15 arc seconds and coarser) and how many samples each column averages. Past the source's own cell size, more columns add no detail: they repeat the same ground in smaller pieces.

A voxel is only a cube in some coordinate system. Cells picks it. Lon/lat cells drawn square is the array as stored: equal steps of degrees, the way GEBCO is. At their true size on the ground the same cells narrow from east to west away from the equator (by the cosine of latitude), so the rows step in at the edges and the block leans toward the pole; at Ross Island a cell is nearly five times taller than wide. Square cells in metres resample the ground onto a Lambert azimuthal equal-area grid about the centre, where every column has the same footprint: the voxels are cubes on the ground.

The vertical is its own choice. At true scale a voxel 500 m wide and 100 m tall is a slab, and most terrain is flatter than it looks on maps; Cubes exaggerates the heights by the ratio of cell to voxel height, so the blocks read as cubes and the readout says by how much. Heights are GEBCO's, metres above mean sea level (so above the geoid, see the Geoid page), and Water fills the sea to zero.

GEBCO stops at about 460 m. Over Tasmania, once the columns are finer than 500 m, the land comes from the state's 2 m DEM instead, a cloud-optimised GeoTIFF in MGA zone 55 read in place like GEBCO: only the window under the block, from the overview that gives about two cells a column (try kunanyi or Cradle Mountain at 512 across). GEBCO fills the sea and anything off the DEM's edge, and GEBCO 2026 alone turns it off.

Surfaces are coloured by height and latitude (sand, grass, rock, snow above a snow line that falls toward the poles, ice past the polar circles), with dirt under the grass and stone below. Tops can instead take Esri World Imagery: each land column's top face is the mean colour of the imagery over its footprint, read from Web Mercator tiles at the zoom that suits; textured, the imagery itself is laid over the tops at about 2048 pixels across the block (the .vox keeps the mean colours). Download .vox writes the block as a MagicaVoxel model (version 150 format: SIZE, XYZI and RGBA chunks), the shell of each column with its sea, up to 256 voxels on a side (with Sides hidden, the tops alone; in one colour, that colour under the tops); imagery tops go in as a 6 x 6 x 6 colour cube after the classes, the 255 colours a .vox palette allows.

Hash keys: lon, lat, ext (width in km), n (columns across), crs (array, lonlat, laea), vs (voxel height in m, 0 for automatic), vx, cube, water, edges, spin, sides (layers, colour, none), sc (side colour, hex), src (gebco, gebco0, synth), tops (classes, esri, esritex), cam.

  • Elevation from the GEBCO 2026 Grid (GEBCO Compilation Group), from Source Cooperative, read with geotiff.js.
  • Tasmania 2 m DEM, Mineral Resources Tasmania, The LIST © State of Tasmania (CC BY 3.0 AU), as a cloud-optimised copy on Source Cooperative.
  • Imagery from Esri World Imagery (Esri, Maxar, Earthstar Geographics, and the GIS User Community).
  • The look follows MagicaVoxel and Minecraft; the nudge came from Piotr Migdał's Warsaw in voxels, via Maps Mania.
  • The .vox layout from the voxel-model format notes; drawn with three.js; coastlines from Natural Earth.
Source and contributing