"c-squares" specification version 1 (draft as at 01/2002)

Note, now superseded by version 1.1, December 2005


The CSIRO Marine and Atmospheric Research (CMAR) "c-squares" system is a nomenclature for georeferenced tiles (squares) representing identifiable portions of the earth's surface at a range of scales, for use in constructing simple "spatial objects" which can, for example, represent data distributions for the purpose of metadata records, without requiring an underlying GIS system either for "spatial object" creation or comprehension. Each "spatial object" takes the form of an ASCII (text) string listing its component c-squares, separated by a text character (vertical bar or "pipe" character, '|'). Such strings of c-square codes can then be stored as text in a database, XML-encoded metadata record, or straightforward text file, for use either in spatial queries or dataset extent visualisation, for example using the CMAR c-squares mapper or any other custom utility. If required, c-square codes can also be translated back into either all four borders, or the centre point of each "tile", for processing by other systems or for example, to send to a different online mapping utility such as Xerox PARC Map Viewer. For further background information on the c-squares system, see the 'about c-squares' page.

Definition of individual c-squares

C-squares definition is based on a successive subdivision of World Meteorological Organisation (WMO) 10 x 10 degree squares by factors of 2 and 5, giving a series corresponding to 5 x 5 degrees, 1 x 1 degrees, 0.5 x 0.5 degrees, 0.1 x 0.1 degrees, etc. There is no lower limit set for the smallest size square which is available; this is left to the discretion of the user, bearing in mind that there will always be a tradeoff between increased resolution obtained by using smaller c-squares, and the greater number of squares required to describe a particular spatial object (particularly an irregular entity) or sample distribution at these increased resolutions. For dataset descriptions at continental scales or similar, a "standard" minimum resolution of 1 x 1 degree square (approx. 120 km max. dimension) might be suggested, which could be reduced without great difficulty to 0.5 x 0.5 degrees for most datasets confined to a particular geographic region. 0.1 x 0.1 degree resolution or finer might also be implemented for datasets on a local scale only, depending on the extent of the data and the nature of the queries which a local implementation of the c-squares system will be anticipated to support.

C-squares nomenclature

10-degree squares

This uses upon an established standard (WMO 10-degree squares), according to which the earth's surface is divided into 648 (=18 x 36) 10 x 10 degree squares, each with a unique 4-digit number e.g. 1000, 3406, 5210, 7117. The first digit (1, 3, 5 or 7) indicates the quadrant of the globe in which the square is located: 1=NE (latitude and longitude both positive), 3=SE (latitude negative, longitude positive), 5=SW (latitude and longitude both negative), and 7=NW (latitude positive, longitude negative).

The next digit (0 through 8) represents the number of 10s of degrees by which the border of the 10-degree square is displaced from the global origin (0 degrees of latitude in this instance), that is, squares labelled x0xx are between 0 and 10 degrees (S or N, dependent on the quadrant), squares x1xx are between 10 and 20 degrees S or N, squares x2xx are between 20 and 30 degrees S or N, and so on. The remaining 2 digits of the code for the 10-degree square represent the number of 10s of degrees by which the border of the 10-degree square is displaced from the line of 0 degrees longitude, that is, squares xx00 lie between 0 and 10 degrees E or W depending on the quadrant, squares xx01 lie between 10 and 20 degrees E or W depending on the quadrant, and so on, through to squares xx17 which are adjacent to the international date line at 180 degrees E (=180 degrees W).
These principles are illustrated in Fig. 1.


Numbering principle for 10-degree (WMO) squares

Global maps of 10-degree WMO squares for the world divided into "Atlantic/Indian Ocean" and "Pacific" hemispheres are available from the U.S. National Oceanographic Data Centre (NODC) as Appendix 10A and Appendix 10B to "World Ocean Database 1998: Documentation and Quality Control, Version 1.2", and also online (http://www.nodc.noaa.gov/OC5/wmoatlind.html and http://www.nodc.noaa.gov/OC5/wmopacific.html).

5-degree squares

5-degree subdivisions of 10-degree c-squares are numbered 1 through 4, symmetrically about the global origin (that is, the number become mirror images as one crosses either 0 degrees of latitude or 0 degrees of longitude). This, 5-degree quadrant 1 is always closest to the global origin, and 4 is always furthest away (diagonally opposite from 1). By convention, quadrant 2 is always the same latitude as quadrant 1 but adjacent in longitude, while quadrant 3 is the same longitude as quadrant 1 but adjacent in latitude. These relationships are illustrated in Fig. 2.


Numbering principle for 5-degree c-squares

1-degree squares

1-degree subdivisions of 10-degree c-squares are numbered 100 through 499, symmetrically about the global origin (as for 5-degree squares, above). These numbers consist of the relevant 5-degree prefix (1 through 4) followed by 2 digits (00 through 99) representing the position of the 1-degree square by latitude and longitude within the 10-degree square, that is, 00 is nearest the origin and 99 is furthest away. The initial "5-degree quadrant" digit is retained for compatibility with searches on 5-degree squares, even though it is theoretically redundant when only 100 squares require to be encoded; thus, each 1-degree c-square is encoded by three digits rather than the two which would be used if no compatibility with 5-degree squares was retained. This gives rise to the following notation for 1 degree c-squares:


abcd:xyz where "abcd" represents the parent 10-degree square, "x" the parent 5-degree square, and "yz" the coordinates (in unit degrees relative to the boundary of the parent 10-degree square) of the border of the individual 1-degree square closest to the global origin. These relationships are illustrated in Fig. 3.


Numbering principle for 1-degree c-squares

0.5, 0.1-degree squares and finer subdivisions

These are defined in exactly an analogous way to the 5- and 1-degree square numbering systems described above, thus the following are definitions of c-squares at a range of sizes between 10- and 0.1 degrees:



Compacted square definitions

Where a set of squares is definable which nests entirely into a definable c-square at a larger size, the asterisk character (*) can be used to indicate any legal value between 0 and 9 is applicable in that position in the code, thus "3414:*" can be used as compact notation for all 4  5-degree squares 3414:1 through 3414:4, and "3414:***" for all 100  1-degree squares 3414:100 through 3414:499. By extension, "3414:***:*" would indicate all 400  0.5 degree squares within 10-degree square 3414, etc.



C-squares strings

C-squares strings are the means by which the "spatial objects" comprising sets of c-squares can be recorded, stored in text records or text fields within databases, passed via the web, or marked up as XML content for metadata exchange. The syntax for a c-squares string is simply a list of the component c-squares separated by the vertical bar or "pipe" character ('|'), with no other punctuation except the colon which forms part of the c-square nomenclature, no spaces, and no final vertical bar. Thus, "3414:226|3414:227" is a valid c-squares string, "3414:226|3414:227|" is not, and neither is "3414:226,3414:227" or "3414:226| 3414:227". At this time it has not been decided whether or not it should be permitted to mix c-squares of different resolutions within a single string; this will be settled after further discussion with potential c-squares users. In any event, a string such as "3414:***|3415:227" would be considered valid in either case, since the asterisks denote individual numeric characters and thus the two codes are considered to be at the same resolution (1-degree squares in this instance).

Acknowledgements

Related resources



This version of the c-squares draft specification by,

 
Dr Tony Rees,
Divisional Data Centre,
CSIRO Marine and Atmospheric Research,
GPO Box 1538,
Hobart, Tasmania 7001, Australia.
E-mail

Return to c-squares home page | CMAR Data Centre home page

Website started: 13 December 2001
This page last updated 21 January 2002.
File location: http://www.marine.csiro.au/csquares/spec1.htm