Rapid spatial indexing and web mapping using the “c-squares” global grid
description
Transcript of Rapid spatial indexing and web mapping using the “c-squares” global grid
![Page 1: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/1.jpg)
www.cmar.csiro.au
Rapid spatial indexing and web mapping using the “c-squares” global grid
Tony Rees
Manager, Divisional Data Centre
23 March 2007
CSIRO Marine and Atmospheric Research
![Page 2: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/2.jpg)
Introduction
• Web mapping – here considered to be dynamic map generation and return in response to an internet request (OGC-compliant requests and responses are a subset of these)
• Slightly different / extended concept – web plotting of user-supplied data – subject of this talk
• Data may be supplied by human user, or (more typically) a client application, over the web for real-time plotting
• Example to be discussed is the “c-squares mapper” – developed at CMAR and in use for last 5+ years
• “C-squares” are units of spatial indexing – data format used as mapper input (however, underlying mechanics may be hidden from the human user).
![Page 3: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/3.jpg)
Example usage – CMAR “CAAB” database http://www.cmar.csiro.au/caab/
![Page 4: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/4.jpg)
Example usage – CMAR “CAAB” database http://www.cmar.csiro.au/caab/
![Page 5: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/5.jpg)
Behind the scenes – set of c-square codes:
Each c-square code is a global grid cell identifier.
![Page 6: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/6.jpg)
Regional and Global grids
Regional grid example: British Isles…
3 problems for large scale use:
(1) Grid does not align with lat-lon graticule
![Page 7: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/7.jpg)
Regional and Global grids
Regional grid example: British Isles…
3 problems for large scale use:
(1) Grid does not align with lat-lon graticule
(2) No single grid covers whole target area – problems where grids meet
(3) Some outlying portions have no grid coverage at all (e.g. Channel Is.)
![Page 8: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/8.jpg)
Regional and Global grids
Global grids better, e.g. WMO 10 x 10 deg. squares:
![Page 9: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/9.jpg)
Regional and Global grids
In our region:
![Page 10: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/10.jpg)
The “c-squares” global grid
• C-squares = “Concise Spatial Query and Representation System” – now 5 years old (initial code, mapper written Jan ’02)
• Creates hierarchical subdivisions of WMO 10 x 10 deg. squares, e.g.
3414 = 10 deg. square
3414:1 = 5 deg. square within square 3414
3414:104 = 1 deg. square within square 3414:1
3414:104:3 = 0.5 deg. square within square 3414:104
(etc., etc.)
Note the “telephone number” analogy, i.e. country => area => sub-area => sub-sub-area etc.
![Page 11: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/11.jpg)
The “c-squares” global grid
Example squares + IDs
3414:227(1 deg. square)
3414:227:2(0.5 deg. square)
3414:227:209(0.1 deg. square)
![Page 12: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/12.jpg)
Spatial indexing using c-squares
Sample uses:
Multi-point data set(NB, can be 1 - many points in a square)
![Page 13: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/13.jpg)
Spatial indexing using c-squares
Predicted marine species range (~= polygon)
Sample uses:
![Page 14: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/14.jpg)
Spatial indexing using c-squares
Gridded data (density per cell)
Sample uses:
![Page 15: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/15.jpg)
The c-squares mapper
Example code (as HTML page): - a few of many options shown
<html><body><form action = "http://www.obis.org.au/cgi-bin/cs_map.pl" method = "POST" /><input type = "hidden" name = "csq" value = "3414:100:1|3414:100:2|3414:100:3" /><input type = "hidden" name = "color" value = "FF0000" /><input type = "hidden" name = "fill" value = "Y" /><input type = "hidden" name = "map" value = "" /><input type = "submit" name = "submit" value = "Get map..." /></form></body</html>
Websites to see examples:CAAB – http://www.cmar.csiro.au/caab/MarLIN – http://www.cmar.csiro.au/marlin/AquaMaps – http://www.aquamaps.org/OBIS – http://www.iobis.org/
![Page 16: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/16.jpg)
Example code (as HTML page): - a few of many options shown
The c-squares mapper
<html><body><form action = "http://www.obis.org.au/cgi-bin/cs_map.pl" method = "POST" /><input type = "hidden" name = "csq" value = "3414:100:1|3414:100:2|3414:100:3" /><input type = "hidden" name = "color" value = "FF0000" /><input type = "hidden" name = "fill" value = "Y" /><input type = "hidden" name = "map" value = "" /><input type = "submit" name = "submit" value = "Get map..." /></form></body</html>
Websites to see examples:CAAB – http://www.cmar.csiro.au/caab/MarLIN – http://www.cmar.csiro.au/marlin/AquaMaps – http://www.aquamaps.org/OBIS – http://www.iobis.org/
![Page 17: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/17.jpg)
Example code (as HTML page): - a few of many options shown
The c-squares mapper
<html><body><form action = "http://www.obis.org.au/cgi-bin/cs_map.pl" method = "POST" /><input type = "hidden" name = "csq" value = "3414:100:1|3414:100:2|3414:100:3" /><input type = "hidden" name = "color" value = "FF0000" /><input type = "hidden" name = "fill" value = "Y" /><input type = "hidden" name = "map" value = "" /><input type = "submit" name = "submit" value = "Get map..." /></form></body</html>
Websites to see examples:CAAB – http://www.cmar.csiro.au/caab/MarLIN – http://www.cmar.csiro.au/marlin/AquaMaps – http://www.aquamaps.org/OBIS – http://www.iobis.org/
![Page 18: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/18.jpg)
Sample usage
MarLIN – metadata catalogue for CSIRO Marine and Atmospheric Research – www.cmar.csiro.au/marlin/
Behind the scenes…
![Page 19: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/19.jpg)
Sample usage
AquaMaps – predicted marine species distributions – www.aquamaps.org
![Page 20: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/20.jpg)
Sample usage
OBIS – Ocean Biogeographic Information System – www.iobis.org/
OBIS data – “all vertebrates” (6 million records, 41,000 squares) ... plotting time 16 / 25 secs (std. vs. large size map)
![Page 21: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/21.jpg)
Sample usage
OBIS species page – “wandering albatross”
![Page 22: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/22.jpg)
Sample usage
OBIS data – “wandering albatross” (970 records, 530 squares) ...
![Page 23: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/23.jpg)
Sample usage
![Page 24: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/24.jpg)
Sample usage
Current max. zoom(from “globe views”)
![Page 25: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/25.jpg)
Sample usage
Some plotting times compared (Duke University Geospatial Lab, unpubl, Mar 2006, plus present data)
Plotted data ArcIMS MapServer Google Earth c-squares mapper *
1,200 points 4 secs. 6 secs. 4 secs. 3-10 secs.
* - present data (not in Duke Univ. study). Longer times are for “large world” base maps.
NB, new CSQ mapper “globe views” take only 2-3 secs each time after initial map generation
![Page 26: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/26.jpg)
Sample usage
Some plotting times compared (Duke University Geospatial Lab, unpubl, Mar 2006, plus present data)
Plotted data ArcIMS MapServer Google Earth c-squares mapper *
1,200 points 4 secs. 6 secs. 4 secs. 3-10 secs.
15,000 points 8 secs. 8 secs. 9 secs. 4-15 secs.
* - present data (not in Duke Univ. study). Longer times are for “large world” base maps.
NB, new CSQ mapper “globe views” take only 2-3 secs each time after initial map generation
![Page 27: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/27.jpg)
Sample usage
Some plotting times compared (Duke University Geospatial Lab, unpubl, Mar 2006, plus present data)
Plotted data ArcIMS MapServer Google Earth c-squares mapper *
1,200 points 4 secs. 6 secs. 4 secs. 3-10 secs.
15,000 points 8 secs. 8 secs. 9 secs. 4-15 secs.
90,000 points 14 secs. 18 secs. not stated 25-45 secs.
* - present data (not in Duke Univ. study). Longer times are for “large world” base maps.
NB, new CSQ mapper “globe views” take only 2-3 secs each time after initial map generation
![Page 28: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/28.jpg)
Sample usage
Some plotting times compared (Duke University Geospatial Lab, unpubl, Mar 2006, plus present data)
Plotted data ArcIMS MapServer Google Earth c-squares mapper *
1,200 points 4 secs. 6 secs. 4 secs. 3-10 secs.
15,000 points 8 secs. 8 secs. 9 secs. 4-15 secs.
90,000 points 14 secs. 18 secs. not stated 25-45 secs.
206,000 points 55 secs. 19 secs. > 5 mins. 3-6 mins.
* - present data (not in Duke Univ. study). Longer times are for “large world” base maps.
NB, new CSQ mapper “globe views” take only 2-3 secs each time after initial map generation
![Page 29: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/29.jpg)
Sample usage
Some plotting times compared (Duke University Geospatial Lab, unpubl, Mar 2006, plus present data)
Plotted data ArcIMS MapServer Google Earth c-squares mapper *
1,200 points 4 secs. 6 secs. 4 secs. 3-10 secs.
15,000 points 8 secs. 8 secs. 9 secs. 4-15 secs.
90,000 points 14 secs. 18 secs. not stated 25-45 secs.
206,000 points 55 secs. 19 secs. > 5 mins. 3-6 mins.
1,090,000 points 58 secs. 20 secs. not possible not possible **
* - present data (not in Duke Univ. study). Longer times are for “large world” base maps.
NB, new CSQ mapper “globe views” take only 2-3 secs each time after initial map generation
** c-squares mapper can plot millions of points in practice after data reduction (e.g. OBIS “vertebrates” example: 6 m records / 41,000 squares / 25 secs or less to plot)
![Page 30: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/30.jpg)
Some future gazing…
SWOT Analysis – strengths, weaknesses, opportunities, threats?
STRENGTHS• Low / no cost solution for basic spatial indexing and search, and “entry-level” web mapping
• Easy to install in non-GIS enabled systems (e.g. metadata catalogues, text documents, standard databases)
• Good fit with grid-based data, multi-point data
• Good for data reduction (e.g. many points, fewer squares)
• No date line problems, also OK with polar data (although indexing is least efficient at poles)
• Remote mapper, no dedicated client-side software, plugins, etc. needed (cf. Google Earth, desktop GIS)
![Page 31: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/31.jpg)
Some future gazing…
SWOT Analysis – strengths, weaknesses, opportunities, threats?
WEAKNESSES• “Jaggies” when representing curves, polylines, polygons
• Large regions require a lot of squares to be processed (slower mapping)
• Spatial queries are approximations (2 features may share the same square, but not quite intersect)
• Squares are not equal-area (latter may be preferred for some purposes)
• Mapper not as fully featured as true web mapping solution; limited zoom, mostly medium / large scale physical backdrops at this time
• No current integration with OGC standards
![Page 32: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/32.jpg)
Some future gazing…
SWOT Analysis – strengths, weaknesses, opportunities, threats?
THREATS• True GIS offers more features / precision, may be needed by many users – if not now, eventually
• Other remote web data plotting solutions have arrived since 2002 (some with more features, better zoom/pan, etc.)
• Google Earth offers great functionality, becoming a “de facto” standard for some types of data presentation
• Mapper development is resources-limited, may lead to being outclassed eventually
![Page 33: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/33.jpg)
Some future gazing…
SWOT Analysis – strengths, weaknesses, opportunities, threats?
OPPORTUNITIES• Further development of c-squares mapper (including open source community, remote installation administrators)
• Additional mapper installations around the world coming on line (today AUS + GER + SWE; USA soon)
• OBIS and other “power users” are providing useful exposure and load testing for the system, also user feedback e.g. desired features
• May be possible to integrate with OGC Web Mapping standards (how…?)
• Maybe keep indexing method, use different mapping solution (provide data as polygons in GML or similar, to a more sophisticated mapper or web map client)
![Page 34: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/34.jpg)
Resources availableC-squares initial published description (Mar 2003) – “Oceanography” vol. 16 (1)
![Page 35: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/35.jpg)
Resources availableC-squares website at CMAR: http://www.cmar.csiro.au/csquares/ (sample page)
![Page 36: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/36.jpg)
Resources availableC-squares SourceForge site: http://csquares.sourceforge.net/
![Page 37: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/37.jpg)
Resources availableC-squares on wikipedia: http://en.wikipedia.org/wiki/C-squares
![Page 38: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/38.jpg)
Thank you!
Questions, comments invited…
Acknowledgements: Miroslaw Ryba, Philip Bohm [CMAR] (programming assistance); GD (graphics routine for the basic plotting); Xplanet (rendering engine for the “Globe Views”).
![Page 39: Rapid spatial indexing and web mapping using the “c-squares” global grid](https://reader036.fdocuments.us/reader036/viewer/2022062322/56814f6a550346895dbd1fb8/html5/thumbnails/39.jpg)
www.cmar.csiro.au
Thank You
Contact
Name: Tony ReesTitle: Data Centre ManagerPhone: 03 6232 5318Email: [email protected]: www.cmar.csiro.au/datacentre
Contact CSIRO
Phone: 1300 363 400+61 3 9545 2176Email: [email protected]: www.csiro.au