Nested Grids: the c-squares global grid

57
Tony Rees – C-squares Oct 2007 1 Nested Grids: the c-squares global grid Tony Rees CSIRO Marine and Atmospheric Research, Hobart [email protected] for: PEMS Workshop on Nested Grids, 21 October 2007 version: final - with update, September 2009

description

Nested Grids: the c-squares global grid. Tony Rees CSIRO Marine and Atmospheric Research, Hobart [email protected] for: PEMS Workshop on Nested Grids, 21 October 2007 version: final - with update, September 2009. The Big Challenge:. - PowerPoint PPT Presentation

Transcript of Nested Grids: the c-squares global grid

Page 1: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 1

Nested Grids: the c-squares global grid

Tony Rees

CSIRO Marine and Atmospheric Research, Hobart

[email protected]

for: PEMS Workshop on Nested Grids, 21 October 2007

version: final

- with update, September 2009

Page 2: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 2

The Big Challenge:

Integrating distributed and heterogeneous spatial data resources to advance science and societal goals

Opening the “Data Closet”

(With thanks to K. Stocks et al. / SDSC for the image and concept!)

Page 3: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 3

One solution: rasterised data on a common grid

– Grids come in different flavours…• Geodesic, global “equal area” (e.g. triangular, hexagonal, other)

• Lat / lon, “equal angle” e.g. 1º x 1º grids, etc. (in unprojected, = “geographic” projection)

• Local projected “equal area” grids e.g. 100 km grids, etc.– Typically regional / national scale, do not integrate globally;

do not cope well with longitudinal shifts

– Areas of interest are sometimes outside the grid (e.g. offshore islands, high seas, etc.)

– This project (PEMS) has identified a requirement for a large scale “Grid System 1” lat / lon based grid, meshing with local, projected “System 2” grids for finer scale data

– C-squares is an example global scale, lat / lon based grid that may be of interest for this project’s needs for Grid System 1.

Page 4: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 4

The c-squares global grid

– C-squares: acronym for “Concise Spatial Query and Representation System” (or: CSIRO squares ??)

– Developed at CMAR in 2001-2, published in scientific literature in 2003*

– Cover entire world surface, not just the sea (despite choice of journal for initial publication)

– Based on pre-existing, established “WMO square” notation, for global 10º x 10º squares

– C-squares notation subdivides WMO squares into a nested grid using alternate base 2, base 5 division, giving the sequence10º x 10º > 5º x 5º > 1º x 1º > 0.5º x 0.5º > 0.1º x 0.1º, etc.

* Rees, Tony. 2003. "C-squares", a newspatial indexing system and its applicabilityto the description of oceanographic datasets.Oceanography 16 (1), pp. 11-19.

Page 5: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 5

WMO 10-degree squares(starting point for c-squares recursive subdivision)

7817 7816 7815 7814 7813 7812 7811 7810 7809 7808 7807 7806 7805 7804 7803 7802 7801 7800 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817

7717 7716 7715 7714 7713 7712 7711 7710 7709 7708 7707 7706 7705 7704 7803 7702 7701 7700 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717

7617 7616 7615 7614 7613 7612 7611 7610 7609 7608 7607 7606 7605 7604 7803 7602 7601 7600 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617

7517 7516 7515 7514 7513 7512 7511 7510 7509 7508 7507 7506 7505 7504 7803 7502 7501 7500 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517

7417 7416 7415 7414 7413 7412 7411 7410 7409 7408 7407 7406 7405 7404 7803 7402 7401 7400 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417

7317 7316 7315 7314 7313 7312 7311 7310 7309 7308 7307 7306 7305 7304 7803 7302 7301 7300 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317

7217 7216 7215 7214 7213 7212 7211 7210 7209 7208 7207 7206 7205 7204 7803 7202 7201 7200 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217

7117 7116 7115 7114 7113 7112 7111 7110 7109 7108 7107 7106 7105 7104 7803 7102 7101 7100 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117

7017 7016 7015 7014 7013 7012 7011 7010 7009 7008 7007 7006 7005 7004 7803 7002 7001 7000 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017

5017 5016 5015 5014 5013 5012 5011 5010 5009 5008 5007 5006 5005 5004 5003 5002 5001 5000 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017

5117 5116 5115 5114 5113 5112 5111 5110 5109 5108 5107 5106 5105 5104 5103 5102 5101 5100 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117

5217 5216 5215 5214 5213 5212 5211 5210 5209 5208 5207 5206 5205 5204 5203 5202 5201 5200 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217

5317 5316 5315 5314 5313 5312 5311 5310 5309 5308 5307 5306 5305 5304 5303 5302 5301 5300 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317

5417 5416 5415 5414 5413 5412 5411 5410 5409 5408 5407 5406 5405 5404 5403 5402 5401 5400 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417

5517 5516 5515 5514 5513 5512 5511 5510 5509 5508 5507 5506 5505 5504 5503 5502 5501 5500 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517

5617 5616 5615 5614 5613 5612 5611 5610 5609 5608 5607 5606 5605 5604 5603 5602 5601 5600 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617

5717 5716 5715 5714 5713 5712 5711 5710 5709 5708 5707 5706 5705 5704 5703 5702 5701 5700 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717

5817 5816 5815 5814 5813 5812 5811 5810 5809 5808 5807 5806 5805 5804 5803 5802 5801 5800 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817

30° N

60° N

90° N

30° S

60° S

90° S

180° W 150° W 120° W 90° W 60° W 30° W 0° 30° E 60° E 90° E 120° E 150° E 180° E

NW

(7xxx)

NE

(1xxx)

SE

(3xxx)

SW

(5xxx)

Page 6: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 6

7817 7816 7815 7814 7813 7812 7811 7810 7809 7808 7807 7806 7805 7804 7803 7802 7801 7800 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817

7717 7716 7715 7714 7713 7712 7711 7710 7709 7708 7707 7706 7705 7704 7803 7702 7701 7700 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717

7617 7616 7615 7614 7613 7612 7611 7610 7609 7608 7607 7606 7605 7604 7803 7602 7601 7600 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617

7517 7516 7515 7514 7513 7512 7511 7510 7509 7508 7507 7506 7505 7504 7803 7502 7501 7500 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517

7417 7416 7415 7414 7413 7412 7411 7410 7409 7408 7407 7406 7405 7404 7803 7402 7401 7400 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417

7317 7316 7315 7314 7313 7312 7311 7310 7309 7308 7307 7306 7305 7304 7803 7302 7301 7300 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317

7217 7216 7215 7214 7213 7212 7211 7210 7209 7208 7207 7206 7205 7204 7803 7202 7201 7200 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217

7117 7116 7115 7114 7113 7112 7111 7110 7109 7108 7107 7106 7105 7104 7803 7102 7101 7100 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117

7017 7016 7015 7014 7013 7012 7011 7010 7009 7008 7007 7006 7005 7004 7803 7002 7001 7000 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017

5017 5016 5015 5014 5013 5012 5011 5010 5009 5008 5007 5006 5005 5004 5003 5002 5001 5000 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017

5117 5116 5115 5114 5113 5112 5111 5110 5109 5108 5107 5106 5105 5104 5103 5102 5101 5100 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117

5217 5216 5215 5214 5213 5212 5211 5210 5209 5208 5207 5206 5205 5204 5203 5202 5201 5200 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217

5317 5316 5315 5314 5313 5312 5311 5310 5309 5308 5307 5306 5305 5304 5303 5302 5301 5300 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317

5417 5416 5415 5414 5413 5412 5411 5410 5409 5408 5407 5406 5405 5404 5403 5402 5401 5400 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417

5517 5516 5515 5514 5513 5512 5511 5510 5509 5508 5507 5506 5505 5504 5503 5502 5501 5500 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517

5617 5616 5615 5614 5613 5612 5611 5610 5609 5608 5607 5606 5605 5604 5603 5602 5601 5600 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617

5717 5716 5715 5714 5713 5712 5711 5710 5709 5708 5707 5706 5705 5704 5703 5702 5701 5700 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717

5817 5816 5815 5814 5813 5812 5811 5810 5809 5808 5807 5806 5805 5804 5803 5802 5801 5800 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817

30° N

60° N

90° N

30° S

60° S

90° S

180° W 150° W 120° W 90° W 60° W 30° W 0° 30° E 60° E 90° E 120° E 150° E 180° E

NW

(7xxx)

NE

(1xxx)

SE

(3xxx)

SW

(5xxx)

* you arehere!

WMO 10-degree squares(starting point for c-squares recursive subdivision)

Page 7: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 7

The c-squares global grid – cont’d

– Each grid cell identifier (= c-squares code) “knows” the identity of its parent, grandparent, etc.

– Aggregated search can be done by interrogating only the required leading chars. of the code, e.g.:

• 10º c-square code (~1000 km): 3414 (= WMO square code)

• 5º c-square code (~500 km): 3414:2

• 1º c-square code (~100 km:3414:227

• 0.5º c-square code (~50 km): 3414:227:3

• 0.1º c-square code (~10 km): 3414:227:383 (etc.)

(this is the nested set of squares that includes the point at lat -42.82, lon 147.38, in decimal degrees)

• Search for character string “3414” (ten degree square), with wildcard appended, will return any of these nested data items

• Same available at other levels of the hierarchy as applicable (i.e., search on any parent code can easily be configured to return all of its children as well, if desired)

Page 8: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 8

10-, 5- degree c-squares in the Australian region

3314

Page 9: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 9

10-, 5- degree c-squares in the Australian region

33141 2

3 4

Page 10: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 10

Recursive subdivision principle (in the SE global quadrant)- for 10 -> 1, 1 -> 0.1, 0.1 -> 0.01 degree squares, etc.

100

110

120

130

140

350

360

370

380

390

101

141

351

391

102

142

352

392

103

143

353

393

104

114

124

134

144

354

364

374

384

394

205

215

225

235

245

455

465

475

485

495

206

246

456

496

207

247

457

497

208

248

458

498

209

219

229

239

249

459

469

479

489

499

1 2

3 4

Page 11: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 11

3314:100

3314:1

3314

3314:499

Page 12: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 12

Points of interest

– C-squares notation for 10º squares is identical to that for WMO 10º squares (i.e., no transformation required)

– 1º and 0.5º squares are popular data aggregation sizes at regional scales

– 0.5º squares are equivalent to 1:100,000 Australian mapsheets (with global, cf. locally applicable, numbering system)

– 0.1º squares and finer are useful for data holdings at sub-regional / local scales

– No direct support for 2.5º, 2º, or 0.25º squares in this system, or degrees / mins / secs notation (except 30 min, = 0.5 degrees)

Page 13: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 13

Who uses what? (Google search hits – October 2007…)

• “10 degree squares” OR “ten degree squares”: 193

• “5 degree squares” OR “five degree squares”: 563

• “2.5 degree squares” OR “two point five degree squares”: 4

• “2 degree squares” OR “two degree squares”: 135

• “1 degree squares” OR “one degree squares”: 1,660

• “0.5 degree squares” OR “half degree squares” (30 min): 1,060

• “0.25 degree squares” OR “quarter degree squares” (15 min): 17,300 *

• “10 minute squares” OR “ten minute squares”: 249

• “0.1 degree squares” OR “tenth degree squares” (6 min): 575

• “5 minute squares” OR “five minute squares”: 47

• “3 minute squares” OR “three minute squares”: 1

• “1 minute squares” OR “one minute squares”: 51

• “0.01 degree squares” OR “hundredth degree squares” (0.6 min): 1

* NB: (1) “quarter degree squares” are a common standard in use in Africa for wildlife surveys, which accounts for many / most of these hits

(2) Of the above, c-squares directly supports the resolutions shown in bold + underline, indirectly could support others (by aggregation / approximate matching??)

Page 14: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 14

D/M/S vs. decimal degrees…

• What fine scale grids (e.g. sub 1-degree) are in use locally / internationally – e.g.:

– 30 minute = 0.5 degree (~50 km)– 5 minute = 0.0833 degree (~10 km)– 1 minute = 0.0167 degree (~2 km)– 30 second = 0.00833 degree (~1 km)– 9 second = 0.0025 degree (~250m)– 2 second = 0.00055 degree (~50m)– 1 second = 0.000278 degree (~25m)

• Is there a requirement / preference to maintain similar (deg / min / sec) resolutions in the selected system? (cf. c-squares is based on decimal degrees and half steps)

• Does this preclude (or encourage) the use of c-squares for resolutions e.g. 0.5 degrees and above?

Page 15: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 15

Use cases for c-squares, of possible interest to this project

– Hierarchical spatial search• Example shown: OBIS (Ocean Biogeographic information System), USA

– C-squares as spatial metadata, and associated spatial search (also: mapping)

• Example shown: MarLIN (Marine Laboratories Information Network), CSIRO, Australia

– C-squares as grid cell identifiers, for data storage, rapid access, and mapping of outputs

• Example shown: AquaMaps project (Germany + Philippines)

– Variable resolution encoding within the same dataset (or data item)• Example shown: CSIRO (CMAR) satellite data index

– Using c-squares for Antarctic / Southern Ocean / Polar data• Examples shown: CMAR satellite data index; online polygon fill algorithm (on

c-squares website)

Page 16: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 16

Hierarchical spatial search: OBIS example

http://www.iobis.org/

Page 17: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 17

OBIS, USA: Hierarchical spatial search (for species with records in selected area)

Page 18: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 18

OBIS, USA: Hierarchical spatial search (for species with records in selected area)

Page 19: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 19

C-squares as spatial metadata: MarLIN example

http://www.cmar.csiro.au/marlin/

Page 20: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 20

C-squares as spatial metadata (list of square IDs = “dataset footprint”)

Page 21: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 21

C-squares as spatial metadata (list of square IDs = “dataset footprint”)

Page 22: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 22

C-squares as spatial metadata (list of square IDs = “dataset footprint”)

Page 23: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 23

C-squares as spatial metadata (list of square IDs = “dataset footprint”)

Page 24: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 24

C-squares as spatial metadata (list of square IDs = “dataset footprint”)

(A) (B)

…search for matching square (=tile) ID (A) is much more precise than search by bounding box using “overlapping rectangles” test (B)[far fewer false positives] – presuming tile size is well matched to the data and / or intended query scale (may be an optimization issue here)

Page 25: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 25

C-squares as grid cell identifiers: AquaMaps example

http://www.aquamaps.org/

Page 26: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 26

C-squares as grid cell identifiers: example from the AquaMaps project

“Half degree cell authority file” (HCAF) – covers the world in 259,200 database rows

Page 27: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 27

(Looks familiar?)

(from PEMS presentation, SSC2007)

Page 28: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 28

C-squares as grid cell identifiers: example from the AquaMaps project

“Half degree cell authority file” (HCAF) – covers the world in 259,200 database rows

Page 29: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 29

C-squares as grid cell identifiers: example from the AquaMaps project

1.0

0.5

028 29 30 31 32

1.0

0.5

0

7 8 9 10 11

1.0

0.5

010 20 30 40 50

1.0

0.5

0

A B

Temperature

Substrate type

Salinity

Depth

Modelled fish-habitat relationships (SI’s)

Temperature SI map

Depth SI map

Salinity SI map

Substrate SI map

HSI =

1/4

Low suitability

High suitability

Unsuitable Medium

Habitat suitability index map

Digital environmental maps recoded with the SI’s

Page 30: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 30

C-squares as grid cell identifiers: example from the AquaMaps project

Sample map output (produced by the c-squares mapper)

NB with multiple maps, can then query individual cells for species richness, etc. etc.

Page 31: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 31

Variable resolution encoding using c-squares: Satellite Data Index example

http://www.marine.csiro.au/remotesensing/csq-chooser.htm

Page 32: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 32

Variable resolution encoding: example from the CMAR satellite data index

Special notation available, e.g. 3414 = ten degree square only (data may be anywhere within it);3414:***:* = all of the 0.5 degree squares within ten degree square 3414.

Page 33: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 33

Antarctic data – special case or not?

• AAD, satellite imagery, oceanographic data – much data from region between Australia and Antarctica, as well as on landmass itself and adjacent waters

• Definite integration benefits if on a common grid / spatial query interface, e.g. OBIS example, others… (no fixed boundary in the ocean / natural world)

• C-squares covers polar regions as well as rest of world (just have to decide which square to allocate actual pole to!) – uses more squares, but otherwise no intrinsic problem

• Example from CMAR satellite data index (uses 0.5 degree squares):

Page 34: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 34

Page 35: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 35

Page 36: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 36

Page 37: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 37

(what just happened here?)

fragment of the spatial index…

– We clicked on square with bounds(lat) -65 – -70, (lon) 130 – 135 … = c-square 3613:3 (user never sees this, but system generates it for the search)

– System searches for unique scenes with prefix “3613:3” in the spatial index, does a join on other table[s] to satisfy any other criteria

– Generates list of 473 matching targets in (in this case) <2 seconds

– Spatial partitioning used in this system, to optimise search and index rebuild speeds (single table split into 100 smaller ones); “duplicate” single large one retained to quickly retrieve all squares associated with a particular scene (for mapping)

Page 38: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 38

Page 39: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 39

Page 40: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 40

Page 41: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 41

Page 42: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 42

– Polygons encoded to c-squares can include a pole without problem: e.g. on-line polygon-fill algorithm on c-squares web site:

http://www.cmar.csiro.au/csquares/converter.htm

Page 43: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 43

Page 44: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 44

Successful filled polygon conversion

c-square code:

3606:104|3606:114|3606:124|3606:134|3606:143|3606:144|3606:2**|3606:353|3606:354|3606:363|3606:364|3606:372|3606:373|3606:374|3606:382|3606:383|3606:384|3606:391|3606:392|3606:393|3606:394|3606:4**|3607:1**|3607:205|3607:215|3607:225|3607:235|3607:245|3607:246|3607:3**|3607:455|3607:456|3607:465|3607:466|3607:475|3607:476|3607:477|3607:485|3607:486|3607:487|3607:495|3607:496|3607:497|3607:498|3705:239|3705:248|3705:249|3705:384|3705:392|3705:393|3705:394|3705:457|3705:458|3705:459|3705:466|3705:467|3705:468|3705:469|3705:475|3705:476|3705:477|3705:478|3705:479|3705:485|3705:486|3705:487|3705:488|3705:489|3705:495|3705:496|3705:497|3705:498|3705:499|3706:101|3706:102|3706:103|3706:104|3706:110|3706:111|3706:112|3706:113|3706:114|3706:120|3706:121|3706:122|3706:123|3706:124|3706:130|3706:131|3706:132|3706:133|3706:134|3706:140|3706:141|3706:142|3706:143|3706:144|3706:2**|3706:3**|3706:4**|3707:1**|3707:205|3707:206|3707:207|3707:208|3707:215|3707:216|3707:217|3707:218|3707:219|3707:225|3707:226|3707:227|3707:228|3707:229|3707:235|3707:236|3707:237|3707:238|3707:239|3707:245|3707:246|3707:247|3707:248|3707:249|3707:3**|3707:4**| (etc.)

Page 45: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 45

Successful filled polygon conversion

c-square code:

3606:104|3606:114|3606:124|3606:134|3606:143|3606:144|3606:2**|3606:353|3606:354|3606:363|3606:364|3606:372|3606:373|3606:374|3606:382|3606:383|3606:384|3606:391|3606:392|3606:393|3606:394|3606:4**|3607:1**|3607:205|3607:215|3607:225|3607:235|3607:245|3607:246|3607:3**|3607:455|3607:456|3607:465|3607:466|3607:475|3607:476|3607:477|3607:485|3607:486|3607:487|3607:495|3607:496|3607:497|3607:498|3705:239|3705:248|3705:249|3705:384|3705:392|3705:393|3705:394|3705:457|3705:458|3705:459|3705:466|3705:467|3705:468|3705:469|3705:475|3705:476|3705:477|3705:478|3705:479|3705:485|3705:486|3705:487|3705:488|3705:489|3705:495|3705:496|3705:497|3705:498|3705:499|3706:101|3706:102|3706:103|3706:104|3706:110|3706:111|3706:112|3706:113|3706:114|3706:120|3706:121|3706:122|3706:123|3706:124|3706:130|3706:131|3706:132|3706:133|3706:134|3706:140|3706:141|3706:142|3706:143|3706:144|3706:2**|3706:3**|3706:4**|3707:1**|3707:205|3707:206|3707:207|3707:208|3707:215|3707:216|3707:217|3707:218|3707:219|3707:225|3707:226|3707:227|3707:228|3707:229|3707:235|3707:236|3707:237|3707:238|3707:239|3707:245|3707:246|3707:247|3707:248|3707:249|3707:3**|3707:4**| (etc.)

Page 46: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 46

Successful filled polygon conversion

c-square code:

3606:104|3606:114|3606:124|3606:134|3606:143|3606:144|3606:2**|3606:353|3606:354|3606:363|3606:364|3606:372|3606:373|3606:374|3606:382|3606:383|3606:384|3606:391|3606:392|3606:393|3606:394|3606:4**|3607:1**|3607:205|3607:215|3607:225|3607:235|3607:245|3607:246|3607:3**|3607:455|3607:456|3607:465|3607:466|3607:475|3607:476|3607:477|3607:485|3607:486|3607:487|3607:495|3607:496|3607:497|3607:498|3705:239|3705:248|3705:249|3705:384|3705:392|3705:393|3705:394|3705:457|3705:458|3705:459|3705:466|3705:467|3705:468|3705:469|3705:475|3705:476|3705:477|3705:478|3705:479|3705:485|3705:486|3705:487|3705:488|3705:489|3705:495|3705:496|3705:497|3705:498|3705:499|3706:101|3706:102|3706:103|3706:104|3706:110|3706:111|3706:112|3706:113|3706:114|3706:120|3706:121|3706:122|3706:123|3706:124|3706:130|3706:131|3706:132|3706:133|3706:134|3706:140|3706:141|3706:142|3706:143|3706:144|3706:2**|3706:3**|3706:4**|3707:1**|3707:205|3707:206|3707:207|3707:208|3707:215|3707:216|3707:217|3707:218|3707:219|3707:225|3707:226|3707:227|3707:228|3707:229|3707:235|3707:236|3707:237|3707:238|3707:239|3707:245|3707:246|3707:247|3707:248|3707:249|3707:3**|3707:4**| (etc.)

Page 47: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 47

– Note, (1) C-squares (and the polygon fill algorithm) copes with the polar case with no intrinsic problem

– (2) automatic, multi-resolution data compression incorporated into the encoding algorithms on the c-squares web site (can be disabled if desired)

– (3) relevant decompression stage incorporated into the c-squares mapper, also can be disabled as required (e.g. for demo purposes i.e. these slides)

…Of course, can do much of this (in principle) with any type of grid structure / nomenclature for grid cells, however, c-squares compatible datasets are in general use at sub-national, national, and international scale, e.g.:

Page 48: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 48

Museum Victoria Bioinformatics search interface (0.5 degree squares, regional)

Page 49: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 49

AquaMaps, also similar CMAR data (0.5 degree squares, national + global)

Page 50: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 50

Vertebrate census data, e.g. birds (1 degree squares, national)

Page 51: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 51

BRS fisheries / associated data (0.5 degree squares, national)

Page 52: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 52

AFMA data (0.1 degree / 6 minute squares, sub-national)

Page 53: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 53

Selected bibliography / reference materials

Rees, T. 2002. C-squares – a new method for representing, querying, displaying and exchanging dataset spatial extents. Abstract and presentation at EOGEO Technical Workshop, May 2002, accessible via http://www.cmar.csiro.au/csquares/eogeo2002-rees.ppt

Rees, T. 2003. "C-squares", a new spatial indexing system and its applicability to the description of oceanographic datasets. Oceanography 16 (1), 11-19.

Rees, T. 2004. Use of c-squares spatial indexing and mapping in the 2004 release of OBIS, the Ocean Biogeographic Information System. Abstract and presentation at EOGEO Technical Workshop, July 2004, accessible via http://www.cmar.csiro.au/csquares/eogeo04-rees.ppt

Rees, T. and Smith, G. 2004. Application of c-squares spatial indexing to an archive of remotely sensed data. Abstract and presentation at EOGEO Technical Workshop, July 2004, accessible via http://www.cmar.csiro.au/csquares/eogeo04-reessmith.ppt

Kaschner, K., J. S. Ready, E. Agbayani, J. Rius, K. Kesner-Reyes, P. D. Eastwood, A. B. South, S. O. Kullander, T. Rees, C. H. Close, R. Watson, D. Pauly, and R. Froese. 2007. AquaMaps. Abstract and presentation at Ocean Biodiversity Informatics 2007, accessible via http://www.cmar.csiro.au/datacentre/presentations/ OBI-2007-Kaschner.ppt

C-squares resources on the web:• C-squares home page: http://www.cmar.csiro.au/csquares/

• C-squares on SourceForge: http://csquares.sourceforge.net/ .

Page 54: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 54http://www.cmar.csiro.au/csquares/

Page 55: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 55http://www.cmar.csiro.au/csquares/

Page 56: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 56

Update September 2009

• (1) C-squares functionality is currently being added to the IMOS (and AODCJF/BlueNet) Metadata Search and Entry Tool – MEST

– IMOS MEST is part of the GeoNetwork Open Source Development Community (origin with FAO in Italy) – currently installed base in >20 countries worldwide; Australian developments will be fed back into the GeoNetwork trunk for anyone to use

• (2) IHO (International Hydrographic Office) is considering a recommendation from their technical committee to use c-squares for spatial indexing of hydrographic charts from all nations; proposal made at Montreal, May 2009, to be progressed at Sydney, October 2009

• (3) C-squares is still providing backbone of all the spatial searches and mapping for OBIS (USA); 3 attempts to introduce more sophisticated GIS front ends have so far failed to deliver desired outcomes, c-squares is still mission critical for them…

• (4) AquaMaps – another bulk c-squares user – is engaged with Google Oceans to provide prototype “what lives here” functionality on mouseover/click, for waters anywhere in the world.

Page 57: Nested Grids: the c-squares global grid

Tony Rees – C-squares Oct 2007 57

Conclusions

• C-squares may be a good fit with PEMS data store needs for “Grid System 1” (but may need to think further about finer scale, D/M/S grid requirements)

• System has global coverage / interoperability, has been real-world tested for 5+ years, Antarctic / polar data not a problem (or features crossing the date line)

• Some supporting infrastructure already in place, e.g.:

– Tools i.e. encoders (lat/lon to c-squares), decoders, validators

– C-squares mappers (x 4 worldwide at present time)

… possibly useful starting point for further development to suit project needs

• Supports efficient, variable-resolution (quadtree-like) encoding for large regions if required, no impact on search performance (actually, it gets faster!)

• Database, platform, & vendor independent system; transparent & simple / rapid operation (no “black boxes”); open source repository for code, suits multi-developer model

• Potential for ongoing interaction with local development “team” at CMAR as needed.