Skip to content
Tom Kralidis edited this page May 26, 2015 · 6 revisions

The purpose of the Quadrilateralized Spherical Cube (QSC) projection is to project a sphere surface onto the six sides of a cube:

Image

  •      |  -            | -             | -
    

------------- | ------------- | ------------- | ------------- | topside.jpg | | leftside.jpg | frontside.jpg | rightside.jpg | backside.jpg | bottomside.jpg | |

|| || Image(topside.jpg, 120px) || || || || Image(leftside.jpg, 120px) || Image(frontside.jpg, 120px) || Image(rightside.jpg, 120px) || Image(backside.jpg, 120px) || || || Image(bottomside.jpg, 120px) || || ||

For this purpose, other alternatives can be used, notably Gnomonic projection or HEALPix.

However, QSC projection has the following favorable properties:

  • It is an equal-area projection, and at the same time introduces only limited angular distortions
  • It treats all cube sides equally, i.e. it does not use different projections for polar areas and equatorial areas.

These properties make QSC projection a good choice for planetary-scale terrain rendering. Map data can be organized in quadtree structures for each cube side. See [LK12] for an example.

The QSC projection was introduced by O'Neill and Laubscher [OL76], building on previous work by Chan and O’Neill [CO75]. For clarity: the earlier QSC variant described in [CO75] became known as the COBE QSC since it was used by the NASA Cosmic Background Explorer (COBE) project; it is an approximately equal-area projection and is not the same as the QSC projection.

See also Calabretta and Greisen [CG02 Sec. 5.6.2 and 5.6.3] for a description of both and some analysis.

In this implementation, the QSC projection projects onto one side of a circumscribed cube. The cube side is selected by choosing one of the following six projection centers:

  • lat_0 = 0.0, lon_0 = 0.0 ("front" cube side)
  • lat_0 = 0.0, lon_0 = 90.0 ("right" cube side)
  • lat_0 = 0.0, lon_0 = 180.0 ("back" cube side)
  • lat_0 = 0.0, lon_0 = -90.0 ("left" cube side)
  • lat_0 = 90.0 ("top" cube side)
  • lat_0 = -90.0 ("bottom" cube side)

Furthermore, this implementation allows the projection to be applied to ellipsoids. A preceding shift to a sphere is performed automatically; see [LK12] for details.

The following example uses QSC projection via GDAL to create the six cube side maps from a world map for the WGS84 ellipsoid:

gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=0   +lon_0=0"   -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff frontside.tiff
gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=0   +lon_0=90"  -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff rightside.tiff
gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=0   +lon_0=180" -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff backside.tiff
gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=0   +lon_0=-90" -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff leftside.tiff
gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=90  +lon_0=0"   -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff topside.tiff
gdalwarp -t_srs "+wktext +proj=qsc +units=m +a=6378137.0 +b=6356752.314245 +lat_0=-90 +lon_0=0"   -wo SOURCE_EXTRA=100 -wo SAMPLE_GRID=YES -te -6378137 -6378137 6378137 6378137 worldmap.tiff bottomside.tiff

Explanation:

  • QSC projection is selected with "+wktext +proj=qsc".
  • The WGS84 ellipsoid is specified with "+a=6378137.0 +b=6356752.314245" (major and minor axis).
  • The cube side is selected with "+lat_0=... +lon_0=...".
  • The -wo options are necessary for GDAL to avoid holes in the output maps.
  • The -te option limits the extends of the output map to the major axis diameter (from -radius to +radius in both x and y direction). These are the dimensions of one side of the circumscribing cube.

[CG02] M. Calabretta and E. Greisen, "Representations of celestial coordinates in FITS". Astronomy & Astrophysics 395, 3, 1077–1122.

[CO75] F. Chan and E.M.O'Neill, "Feasibility Study of a Quadrilateralized Spherical Cube Earth Data Base". Tech. Rep. EPRF 2-75 (CSC), Environmental Prediction Research Facility, Apr. 1975.

[OL76] E.M. O'Neill and R.E. Laubscher, "Extended Studies of a Quadrilateralized Spherical Cube Earth Data Base". Tech. Rep. NEPRF 3-76 (CSC), Naval Environmental Prediction Research Facility, May 1976.

[LK12] M. Lambers and A. Kolb, "Ellipsoidal Cube Maps for Accurate Rendering of Planetary-Scale Terrain Data", Proc. Pacfic Graphics (Short Papers), Sep. 2012.

Clone this wiki locally