Describing change in the real world: from observations to events Gilberto Camara Karine Reis...
-
Upload
adela-malone -
Category
Documents
-
view
214 -
download
0
Transcript of Describing change in the real world: from observations to events Gilberto Camara Karine Reis...
Describing change in the real world: from observations to events
Gilberto CamaraKarine Reis FerreiraAntonio Miguel MonteiroINPE – National Institute for Space Research
AGILE Conference 2012, Avignon (France)
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.
Terrestrial
Airborne
Near-Space
LEO/MEO Commercial Satellites and Manned Spacecraft
Far-Space
L1/HEO/GEO TDRSS & CommercialSatellites
Dep
loyab
le
Perm
an
en
t
Forecasts & Predictions
Aircraft/Balloon Event Tracking and Campaigns
User Community
Vantage Points
Capabilities
Welcome to the Age of Data-intensive GIScience!
Data-intensive GIS = principles and applications of geoinformatics for handling very large data sets
Which data is out there?How to organize big spatial data?
How to get the data I need?
Challenges for data-intensive GIScience
How to model big data?How to access and use big data?
Data-intensive GIS is not “more maps”Spatio-temporal data that captures changeWe 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
When did the Aral Sea shrank to 10% of its original size?
Aral Sea (an object) – disaster (an event)
objects exist, events occur
Mount Etna is an objectEtna’s 2002 eruption was an event
A view on processes and events
Objects EventsMatter Processes
Space Time
Count
Mass
water or lake? football or game?
(Worboys & Galton)
A pragmatic view on objects and events
Objects EventsMatter Processes
Space TimeObservable
Abstract
water or lake? 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 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: 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, 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 → Bgeom: Obs → Gtime: Obs → 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 CerradoWells observation 50 points 50 semimonthly time series(11 Oct 2003 – 06 March2007)
Rodrigo Manzione, Gilberto Câmara, Martin Knotters
MAY JUNE JULY
AUGUST SEPTEMBER
Estimates of water table depth for an area in Brazilian Cerrado
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
type STgen [T: TIME, G: GEOM, B: BASE] operations:
getObs: ST → {Obs}begins, ends: ST → Tboundary: ST → Gafter, before: ST x T → STduring: ST x Period → ST
What do ST types have in common?
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 → TimeSeriesdistance (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}
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, 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 = 0forall g inside cov.boundary() if cov.value (g,t) == "water” area = area + greturn area}
From a coverage to a time series
From a coverage to a time series
timeSeries: Coverage x S → TimeSeriestimeSeries (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 → Eventintersect: Event x Event → Event
Exploração intensiva
Floresta
Perda >90% do dossel
Corte raso
Perda >50% do dossel
time
Event 1
Event composition Forest loss > 20%
Floresta
Loss > 90%
Clear cut
Loss > 50%
Event 2
Event 3
Event 4
When did the large flood occur in Angra?
When did the large flood occur in Angra?
Coverage prec = getData (weather forecast)flood = new Event()from t0 = prec.begin(); t0 <= prec.end(); t.next() if getRain (prec, t0, t0 + 24) > 100 strong = new Event (prec, t0, t0 + 24) flood.compose (strong)
When did the Aral Sea shrank to 10% of its original size?
getWaterArea (Coverage cov, Time t)area = 0forall g inside cov.boundary() if cov.value (g,t) == "water” area = area + greturn area}
When did the Aral Sea shrank to 10% of its original size?
aralSea = new Coverage (images)
findDisaster (aralSea) {t0 = aralSea.begin()areaOrig = getWaterArea (aralSea,t0) for t = aralSea.begin(); t <= aralSea.end(); t.next() if getWaterArea (aralSea,t) < 0.1* areaOrig disaster = new Event (aralSea, t, t.aralSea.end()) breakreturn disaster}
From observations to events
TerraLib: spatio-temporal database as a basis for innovation
Visualization (TerraView)
Spatio-temporalDatabase (TerraLib)
Modelling (TerraME)
Data Mining(GeoDMA)Statistics (aRT)
GIS technology for big data
Algebras for spatio-temporal data are a powerful way of representing change