570 likes | 582 Views
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.
E N D
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 • 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”, GeoS 2009.
Welcome to the Age of Data-intensive GIScience! Capabilities Vantage Points L1/HEO/GEO TDRSS & Commercial Satellites Far-Space Permanent LEO/MEO Commercial Satellites and Manned Spacecraft Near-Space Aircraft/Balloon Event Tracking and Campaigns Airborne Deployable Terrestrial User Community Forecasts & Predictions
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?
objectsexist, eventsoccur Mount Etna is an object Etna’s 2002 eruption was an event
A view on processes and events (Worboys & Galton) Space Time Count Mass football or game? water or lake?
A pragmatic view on objects and events Space Time Observable Abstract football or game? water or lake?
Data types for moving objects (Guting) mpoint: instant → point mregion: instant → region Frank, Kuhn, Guting – algebras are better than 1st 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: LlavesandRenschler, 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?
Observationsallowustosenseexternal reality Anobservationis a measureof a value in a location in spaceand 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, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon} 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, overlappedBy, metBy, begunBy, endedBy: TIME x TIME → Boolean
Observation data type type Obs [T: TIME, G: GEOMETRY, B: BASE] operations: new: T x G x B → Obs value: Obs → B geom: Obs → G time: Obs → T
Why do we need interpolators? Howlong do youtakefrom Frankfurt toBeaune?
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 March2007) Rodrigo Manzione, Gilberto Câmara, Martin Knotters
Estimates of water table depth for an area in Brazilian Cerrado JUNE JULY MAY AUGUST SEPTEMBER Manzione, Câmara, Knotters
Three types of interpolators IntValueInTime [T: TIME, B: BASIC] estimate: {Obs} x T → B IntSpaceInTime [T: TIME, G: GEOM] estimate: {Obs} x T → G IntInSpaceTime [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: getObs: 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 TimeSeries [T: TIME, B: BASE] uses ST operations: new: {Obs [T,S,B]} x IntValueInTime [T,B] → TimeSeries value: TimeSeries 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 type MovingObject [T: TIME, G: GEOM] uses ST operations: new: {Obs [T,G,B]} x IntSpaceInTime [T,G] → MovingObject value:MovingObject x T → G
Moving Object data type distance: MovingObject x MovingObject → TimeSeries distance (mo1, mo2) { ObsSet oset for t = mo1.begin(); t <= mo1.end(); t.next() Point p1 = mo1.value (t) Point p2 = mo2.value (t) o1 = new Obs (t, dist (p1, p2)) oset.add (o1) ts = new TimeSeries (oset) return ts }
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, G1: GEOM, G2: GEOM, B: BASE] uses ST operations: new: {Obs [T, G1, B} x IntInSpaceTime[T, G1, B] x G2 → Coverage value:Coverage x G1 x T → B
Functions on coverages getWaterArea (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 timeSeries: Coverage x S → TimeSeries timeSeries (c1, loc) ObsSet oset for t = c1.begin(); t <= c1.end(); t.next() Real v = c1.value (loc, t) o1 = new Obs (t, loc,val) oset.add ( o1 ) ts = new TimeSeries ( oset ) return ts }
When did the large flood occur in Angra? When precipitation was > 10mm/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 [T1: TIME, T2: TIME] uses ST operations: new: {ST x (T1, T2) → Event compose:Event x Event → Event intersect: Event x Event → Event
Eventcomposition Forest loss > 20% Exploração intensiva time Event 1 Perda >50% do dossel Loss > 50% Event 2 Perda >90% do dossel Loss > 90% Event 3 Corte raso Clearcut Event 4 Floresta Floresta