AGILE Conference 2012 Avignon France Describing change in
AGILE Conference 2012, Avignon (France) Describing change in the real world: from observations to events Gilberto Camara Karine Reis Ferreira Antonio Miguel Monteiro INPE – National Institute for Space Research
Useful References n n n AU Frank, “One step up the abstraction ladder: combining algebras – from functional pieces to a whole”, COSIT 1999 RH Guting et al. , “A foundation for representing and querying moving objects”, ACM Transactions on Database Systems, 2000 M Worboys, “Event-oriented approaches to geographic phenomena”, IJGIS, 2003 A Galton & R Mizoguchi, “The Water Falls but the Waterfall does not Fall: New Perspectives on Objects, Processes and Events”, Applied Ontology, 2009. W Kuhn, “A Functional Ontology of Observation and Measurement”, Geo. S 2009.
Permanent Welcome to the Age of Data-intensive GIScience! Vantage Points Capabilities Far. Space L 1/HEO/GEO TDRSS & Commercial Satellites LEO/MEO Commercial Satellites and Manned Spacecraft Near. Space Aircraft/Balloon Event Tracking and Campaigns Deployable Airborne Terrestrial Forecasts & Predictions User Community
Data-intensive GIS = principles and applications of geoinformatics for handling very large data sets
Challenges for data-intensive GIScience Which data is out there? How to organize big spatial data? How to get the data I need? How to model big data? How to access and use big data?
Data-intensive GIS is not “more maps” Spatio-temporal data that captures change We need new theories and methods
Objects and events The coast of Japan is an object The 2011 Tohoku tsunami was an event
Processes and events Flying is a process - Virgin flight VX 112 (LAX-IAD) on 26 Apr 2012 is an event
Aral Sea (an object) – disaster (an event) When did the Aral Sea shrank to 10% of its original size?
objects exist, events occur Mount Etna is an object Etna’s 2002 eruption was an event
A view on processes and events Space Count Mass Objects Matter water or lake? Time (Worboys & Galton) Events Processes football or game?
A pragmatic view on objects and events Space Observable Objects Matter Abstract water or lake? Time Events Processes football or game?
Object (GPS buoy) + event (tsunami)
Data types for moving objects (Guting) mpoint: instant → point mregion: instant → region Frank, Kuhn, Guting – algebras are better than 1 st order logic for modelling geo-things
Data types for moving objects (Guting) flight (id: string, from: string, to: string, route: mpoint) weather (id: string, kind: string, area: mregion)
Detecting flood (gauges in Netherlands) Source: Llaves and Renschler, AGILE 2012
Event processing architecture Source: ENVISION project (http: //www. envision-project. eu/)
source: USGS Events are categories (Frank, Galton) identity : id · a = a composition : ∀a, ∀b, ∃c, c = a. b associativity : a · (b · c) = (a · b) · c
How can we design an algebra for spatiotemporal data that represents change?
Observations allow us to sense external reality
Observations allow us to sense external reality An observation is a measure of a value in a location in space and a position in time
Building blocks: Basic Types type BASE = {Int, Real, String, Boolean} operations: // lots of them…
Building blocks: Geometry (OGC) type GEOM = {Point, Line. String, Polygon, Multi. Point, Multi. Line. String, Multi. Polygon} operations: equals, touches, disjoint, crosses, within, overlaps, contains, intersects: GEOM x GEOM → Bool
Building blocks: Time (ISO 19108) type TIME = {Instant, Period} operations: equals, before, after, begins, ends, during, contains, overlaps, meets, overlapped. By, met. By, begun. By, ended. By: TIME x TIME → Boolean
Observation data type Obs [T: operations: new: value: geom: time: TIME, G: GEOMETRY, B: BASE] T x Obs Obs G → → → x B → Obs B G T
From observations to events
Why do we need interpolators? How long do you take from Frankfurt to Beaune?
Why do we need interpolators? We cannot sample every location at every moment – we need to estimate in space-time
Sensors: water monitoring Brazilian Cerrado Wells observation 50 points 50 semimonthly time series (11 Oct 2003 – 06 March 2007) Rodrigo Manzione, Gilberto Câmara, Martin Knotters
Estimates of water table depth for an area in Brazilian Cerrado JUNE MAY AUGUST JULY SEPTEMBER Manzione, Câmara, Knotters
Three types of interpolators Int. Value. In. Time [T: TIME, B: BASIC] estimate: {Obs} x T → B Int. Space. In. Time [T: TIME, G: GEOM] estimate: {Obs} x T → G Int. In. Space. Time [T: TIME, G: GEOM, B: BASIC] estimate: {Obs} x (T, G) → B
What do ST types have in common? type STgen [T: TIME, G: GEOM, B: BASE] operations: get. Obs: ST → {Obs} begins, ends: ST → T boundary: ST → G after, before: ST x T → ST during: ST x Period → ST
Time Series Continuous variation of a property value over time (water table depth sensors)
Time Series Type Time. Series [T: TIME, B: BASE] uses ST operations: new: {Obs [T, S, B]} x Int. Value. In. Time [T, B] → Time. Series value: Time. Series x T → B
Moving objects MOVING OBJECTS Objects whose position and extent change continuously
Moving objects individual entity that varies its location (and its extent) over time
Moving Object data type Moving. Object [T: TIME, G: GEOM] uses ST operations: new: {Obs [T, G, B]} x Int. Space. In. Time [T, G] → Moving. Object value: Moving. Object x T → G
Moving Object data type distance: Moving. Object x Moving. Object → Time. Series distance (mo 1, mo 2) { Obs. Set oset for t = mo 1. begin(); t <= mo 1. end(); t. next() Point p 1 = mo 1. value (t) Point p 2 = mo 2. value (t) o 1 = new Obs (t, dist (p 1, p 2)) oset. add (o 1) ts = new Time. Series (oset) return ts }
How many walruses reached Baffin island?
source: USGS Coverage: T → G → B Multi-temporal collection of values in space. Two-dimensional grids whose values change Samples from fixed or moving geosensors.
source: USGS type Coverage [T: TIME, G 1: GEOM, G 2: GEOM, B: BASE] uses ST operations: new: {Obs [T, G 1, B} x Int. In. Space. Time[T, G 1, B] x G 2 → Coverage value: Coverage x G 1 x T → B
Functions on coverages get. Water. Area (Coverage cov, Time t) area = 0 forall g inside cov. boundary() if cov. value (g, t) == "water” area = area + g return area }
From a coverage to a time series
From a coverage to a time series time. Series: Coverage x S → Time. Series time. Series (c 1, loc) Obs. Set oset for t = c 1. begin(); t <= c 1. end(); t. next() Real v = c 1. value (loc, t) o 1 = new Obs (t, loc, val) oset. add ( o 1 ) ts = new Time. Series ( oset ) return ts }
When did the large flood occur in Angra? When precipitation was > 10 mm/hour for 5 hours Coverage set (hourly precipitation grid) Event (precipitation > 10 mm/hour for 5 hrs)
The event data type An event is an individual episode with a beginning and end, which define its character as a whole. An event does not exist by itself. Its occurrence is defined as a particular condition of one spatiotemporal type.
The event data type Type Event [T 1: TIME, T 2: TIME] uses ST operations: new: {ST x (T 1, T 2) → Event compose: Event x Event → Event intersect: Event x Event → Event
Event composition time Exploração intensiva Forest loss > 20% Event 1 Perda >50% do dossel Loss > 50% Event 2 Event 3 Event 4 Perda >90% do dossel Loss > 90% Corte raso Clear cut Floresta
When did the large flood occur in Angra?
When did the large flood occur in Angra? Coverage prec = get. Data (weather forecast) flood = new Event() from t 0 = prec. begin(); t 0 <= prec. end(); t. next() if get. Rain (prec, t 0 + 24) > 100 strong = new Event (prec, t 0 + 24) flood. compose (strong)
When did the Aral Sea shrank to 10% of its original size? get. Water. Area (Coverage cov, Time t) area = 0 forall g inside cov. boundary() if cov. value (g, t) == "water” area = area + g return area }
When did the Aral Sea shrank to 10% of its original size? aral. Sea = new Coverage (images) find. Disaster (aral. Sea) { t 0 = aral. Sea. begin() area. Orig = get. Water. Area (aral. Sea, t 0) for t = aral. Sea. begin(); t <= aral. Sea. end(); t. next() if get. Water. Area (aral. Sea, t) < 0. 1* area. Orig disaster = new Event (aral. Sea, t, t. aral. Sea. end()) break return disaster }
From observations to events
Terra. Lib: spatio-temporal database as a basis for innovation Visualization (Terra. View) Modelling (Terra. ME) Spatio-temporal Database (Terra. Lib) Statistics (a. RT) Data Mining(Geo. DMA)
GIS technology for big data
Algebras for spatio-temporal data are a powerful way of representing change
- Slides: 57