scieee Science in your language
[en] (orig)

Acquisition and Declarative Analytical Processing of Spatio-Temporal Observation Data

Author: Villarroya Fernández, Sebastián
Year: 2018
Source: https://minerva.usc.es/bitstreams/01e66011-f02a-467e-bdde-ed0ad8b27a4d/download
TESE DE DOUTORAMENTO
ACQUISITION AND DECLARATIVE
ANALYTICAL PROCESSING OF
SPATIO-TEMPORAL OBSERVATION
DATA
Sebas ián Villa oya Fe nández
ESCOLA DE DOUTORAMENTO INTERNACIONAL
PROGRAMA DE DOUTORAMENTO EN INVESTIGACIÓN EN TECNOLOXÍAS DA INFORMACIÓN
SANTIAGO DE COMPOSTELA
ANO 2018
DECLARACIÓN
DO AUTOR DA TESE
Acquisi ion and Decla a i e Analy ical P ocessing
o Spa io-Tempo al Obse a ion Da a
D. Sebas ián Villa oya Fe nández
P esen o miña ese, seguindo o p ocedemen o adecuado ao Regulamen o, e decla o que:
1) A ese aba ca os esul ados da elabo ación do meu aballo.
2) No seu caso, na ese se ai e e encia as colabo acións que i o es e aballo.
3) A ese é a e sión de ini i a p esen ada pa a a súa de ensa e coincide ca e sión en iada en
o ma o elec ónico.
4) Con i mo que a ese non inco e en ningún ipo de plaxio de ou os au o es nin de aballos
p esen ados po min pa a a ob ención de ou os í ulos.
En San iago de Compos ela, 20 de Xullo de 2018
Asdo. Sebas ián Villa oya Fe nández
AUTORIZACIÓN
DO
DIRECTOR
/
TITOR DA TESE
Acquisi ion and Decla a i e Analy ical P ocessing
o Spa io-Tempo al Obse a ion Da a
D. José Ramón Ríos Viquei a
D. José Manuel Co os Yáñez
INFORMA/N:
Que a p esen e ese, co espóndese co aballo ealizado po D. Sebas ián Villa oya Fe nández, baixo
a miña di ección, e a
u o izo
a súa
p esen ación
, conside ando
que eúne os
equisi os
esixidos
no R
egulamen o
de Es udos de
Dou o amen o da USC,
e
que
como di ec o des a
non inco e
nas causas de
abs ención es ablecidas
na Lei
40/2015.
En San iago de Compos ela, 20 de Xullo de 2018
Asdo.
José Ramón Ríos Viquei a
Asdo. José Manuel Co os Yáñez

A Sabela, Álex y Sand a
Maybe he pa hs ha you each shall ead a e al eady
laid be o e you ee , hough you do no see hem.
Lady Galad iel
xi
I also wan o emembe my pa en s. Fo all he sac i ice hey had o do o gi e me a good
academic aining. Fo he educa ion hey ga e me. Fo so many hings. To my mo he , o
being a igh e , o ne e gi ing up, o o e coming he unbea able. To my a he , who augh
me he mos impo an lesson: o lo e li e abo e all hings.
To my g andpa en s. Al hough hey a e no di ec ly ela ed o his hesis, hey ha e always
suppo ed e e y hing I ha e wan ed o do.
To he colleagues o he COGRADE esea ch g oup. Fo making me eel an impo an
pa o he g oup om he beginning. Fo all he good imes a wo k and, specially, ou side o
i . And o all he help gi en o me so many imes. This would no be he same wi hou you.
To he Resea ch Cen e on In o ma ion Technologies (CiTIUS). Fo all he adminis a i e
help p o ided. Fo he echnical help in many p ojec s. And, abo e all, o co- unding my
a endance a he 1s Summe School on Da a Science, o ganized by ACM Sigmod.
To he Dipu ación de A Co uña. Fo g an ing me he 2012 Resea ch Schola ship.
To he Galicia Supe compu ing Cen e (CESGA). Fo all he in as uc u e and help p o-
ided du ing he execu ion o he expe imen s o his hesis. And especially I wan o hank
Ja ie Cachei o López.
Finally, I wan o hank he o ganiza ions and ins i u ions ha suppo ed, con ibu ed o
unded he ollowing esea ch p ojec s ela ed o his hesis:
–Pa imonio cul u al de la Eu o egión Galicia-No e de Po ugal: Valo ación e In-
no ación. GEOARPAD (0358_GEOARPAD_1_E). INTERREG V-A España-Po ugal
(POCTEP) P og am, 2014-2020. Eu opean Regional De elopmen Fund (ERDF). Eu-
opean Union.
–FUTURE-HDA: In e ne del Fu u o en el Hoga Digi al Asis encial (ITC-20113075).
Cen e o he De elopmen o Indus ial Technology (CDTI) and FEDER-INNTERCONECTA
P og am.
–Desa ollo de un se icio de análisis espacial y su aplicación en la implemen ación
de un sis ema de ges ión de hábi a s humanos (TIN2010-21246-C02-02). Na ional Re-
sea ch P og am, Minis y o Science and Inno a ion.
–P oyec o Minieólica: Fomen o de la ecnología eólica de pequeña po encia. Sub-
p oyec o 3.4: E aluación y diseño de un p oyec o demos ado de ene gía eólica e
hid ógeno (PS-120000-2006-5). Minis y o Science and Inno a ion.

x
–P oyec o Peixe Ve de. Subp oyec o 1: Toma de Da os (PSE-370300-2007-1). Minis y
o Educa ion and Science.
–Rede de Tecnoloxías Cloud e Big Da a pa a HPC (R2014-049). Xun a de Galicia.
–Sis ema de In o mación Xeog á ica pa a a xes ión e di usión da in o mación me eo-
olóxica e oceanog á ica de Galicia. Subp oxec o USC (09MDS034522PR). Xun a de
Galicia.
July 2018
Con en s
Abs ac 1
Resumen 3
1 In oduc ion 13
1.1 Backg ound................................... 13
1.2 P oblemdesc ip ion............................... 17
1.3 Mo i a ion.................................... 18
1.4 Objec i e and con ibu ion . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Ou lineo heThesis .............................. 22
2 Backg ound and ela ed wo k 25
2.1 In oduc ion................................... 25
2.2 Da a Acquisi ion Sys ems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 CORFUF amewo k .......................... 26
2.2.2 TOREROP ojec ............................ 26
2.2.3 Chima is and Papadopoulos, 2007 . . . . . . . . . . . . . . . . . . . 27
2.2.4 Ho sbu gh e ál., 2011 . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.5 GEOSWIFT In as uc u e . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.6 LIFE UNDER YOUR FEET (LUYF) Senso Ne wo k . . . . . . . . 29
2.2.7 SPINEF amewo k........................... 30
2.3 Da aAnalysisSys ems ............................. 30
2.3.1 OGCSWES anda ds.......................... 33
2.3.2 Obse a ion Da a Models . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.3 Geog aphic In o ma ion Sys ems (GIS) . . . . . . . . . . . . . . . . 35
x iii Con en s
2.3.4 Senso S eam P ocessing App oaches . . . . . . . . . . . . . . . . . 35
2.3.5 Spa ial and Spa io-Tempo al DBMSs . . . . . . . . . . . . . . . . . 35
2.3.6 Spa ial NoSQL Da abases . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.7 Spa ial High Pe o mance Da a Wa ehouses App oaches . . . . . . . 36
2.3.8 A ay Da a Manage s . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.9 SciQL.................................. 37
2.3.10 Dis ibu ed P ocessing F amewo ks . . . . . . . . . . . . . . . . . . 37
2.3.11 SODA.................................. 38
2.4 Dis ibu ed Spa ial Da a P ocessing Sys ems . . . . . . . . . . . . . . . . . 38
2.4.1 HadoopGIS .............................. 39
2.4.2 Spa ialHadoop ............................. 42
2.4.3 Spa ialSpa k .............................. 45
2.4.4 GeoSpa k................................ 45
2.4.5 GeoT ellis................................ 48
2.4.6 Magellan ................................ 49
2.4.7 Loca ionSpa k ............................. 49
2.4.8 Simba.................................. 51
2.5 Dis ibu ed Spa io-Tempo al Da a P ocessing Sys ems . . . . . . . . . . . . 53
2.5.1 ST-Hadoop ............................... 53
2.5.2 S a k .................................. 54
3 GeoDADIS 59
3.1 In oduc ion................................... 59
3.2 Sys emA chi ec u e .............................. 60
3.3 MainComponen s ............................... 63
3.3.1 Da aDissemina ion .......................... 63
3.3.2 Da aAcquisi ion ............................ 66
3.3.3 Con igu a ionManage ........................ 68
3.3.4 Da aManage ............................. 68
3.4 Expe imen al Implemen a ion . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 SODA Design 73
4.1 In oduc ion................................... 73
4.2 Obse a ion Da a Wa ehouse . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Con en s xix
4.2.1 Spa io- empo al Da a Model . . . . . . . . . . . . . . . . . . . . . . 74
4.2.2 Obse a ion Da a Model . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3 Obse a ion Da a Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.1 Mapping Analysis Language (MAPAL) . . . . . . . . . . . . . . . . 97
4.3.2 Analy ical P ocesses . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.3.3 Sys em Ope a o s . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.3.4 E alua ion o MAPAL Exp essions . . . . . . . . . . . . . . . . . . 116
5 MAPAL Implemen a ion 119
5.1 In oduc ion................................... 119
5.2 Da a Types Implemen a ion . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.2.1 Con en ional Da a Types Implemen a ion . . . . . . . . . . . . . . . 123
5.2.2 Tempo al Da a Types Implemen a ion . . . . . . . . . . . . . . . . . 123
5.2.3 Poin 1D Da a Type Implemen a ion . . . . . . . . . . . . . . . . . . 125
5.2.4 Poin 2D Da a Type Implemen a ion . . . . . . . . . . . . . . . . . . 125
5.2.5 Geome ic Da a Type Implemen a ion . . . . . . . . . . . . . . . . . 125
5.3 Da a S uc u es Implemen a ion . . . . . . . . . . . . . . . . . . . . . . . . 127
5.3.1 In-Memo y S uc u es Implemen a ion . . . . . . . . . . . . . . . . 127
5.3.2 Disk S uc u es Implemen a ion . . . . . . . . . . . . . . . . . . . . 132
5.4 Use -De ined Da a Types and Func ions . . . . . . . . . . . . . . . . . . . . 135
5.4.1 Use -De ined Da a Types (UDTs) . . . . . . . . . . . . . . . . . . . 135
5.4.2 Use -De ined Func ions (UDFs) . . . . . . . . . . . . . . . . . . . . 137
5.5 Da a Channels Implemen a ion . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.6 Ope a o s Implemen a ion . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.6.1 Dimension Ope a o s . . . . . . . . . . . . . . . . . . . . . . . . . . 139
5.6.2 Ex ensional MappingSe Ope a o s . . . . . . . . . . . . . . . . . . 149
5.7 Expe imen al E alua ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
5.7.1 Clus e se up .............................. 157
5.7.2 Expe imen se up............................ 158
5.7.3 E alua ion Resul s . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
5.7.4 Scalabili y ............................... 163
5.8 Op imiza ionExample ............................. 165
6 Conclusions and Fu u e esea ch 171

xx Con en s
6.1 Conclusions................................... 171
6.2 Fu u e lines o esea ch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
A P imi i e mappings 175
B Publica ions 185
B.1 In e na ionalJou nals.............................. 185
B.2 In e na ional Con e ences . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
B.3 Na ionalCon e ences.............................. 186
B.4 BookChap e s ................................. 186
B.5 O he Publica ions ............................... 187
Bibliog aphy 189
Lis o Figu es 203
Lis o Tables 205
Abs ac
A my iad o da a acquisi ion de ices is obse ing e e y day mo e a iables and gene a ing a
as amoun o da a in almos e e y applica ion domain. En i onmen al obse a ion da a is an
essen ial po ion o such gene a ed da a, whose spa io- empo al na u e has posed in e es ing
challenges in he a ea o En i onmen al Obse a ion Da a Managemen Sys ems. Two ea-
u es a e common o all hese sys ems: spa io- empo al obse a ions and he e ogenei y. In he
con ex o his Thesis, he Obse a ions and Measu emen s (O&M) concep ual schema was
adop ed as he heo e ical amewo k o he de ini ion o he concep o obse a ion. He e o-
genei y speci ically conce ns he da a acquisi ion pa o he a o emen ioned sys ems, which
need o access da a p oduced by he e ogeneous sensing ollowing di e en so wa e/ha dwa e
speci ica ions ha a e accessed h ough se e al communica ion p o ocols. A majo challenge
is o p o ide he equi ed lexibili y o enable da a acquisi ion om he e ogeneous sensing de-
ices and da a dissemina ion h ough he e ogeneous end-use applica ions. The sys em mus
p o ide simple and s aigh o wa d mechanisms o he inco po a ion o he ollowing com-
ponen s: 1) new in-si u sensing de ices, 2) new da a dissemina ion se ices, and 3) di e en
pe sis en da a s o age echnologies. Focusing on obse a ion da a managemen , a sys em
mus p o ide he ollowing gene al unc ionali ies o e ec i ely manage obse a ion da a:
1) managemen o con en ional En i y/Rela ionship da a ela ed o non-obse ed p ope ies
o en i ies, 2) managemen o sampled da a o e empo al, spa ial (1D and 2D) and spa io-
empo al domains, 3) Suppo o obse a ion da a seman ics, and 4) e icien implemen a ion
o la ge scale sha ed-no hing dis ibu ed ha dwa e a chi ec u es.
Mo eo e , he INSPIRE Di ec i e o he Eu opean Union encou ages he c ea ion o a
Spa ial Da a In as uc u e (SDI) o ensu e he in e ope abili y o spa ial in o ma ion sys ems
in Eu ope. The applica ion o INSPIRE in he Spanish legisla i e sys em o ces public admin-
is a ions o make hei geog aphic da a a ailable h ough SDI se ices. The e o e, he new
2Abs ac
en iched geog aphical knowledge allows o he appea ance o many applica ions in di e en
a eas o knowledge ha equi e spa ial analysis capabili ies.
In spi e o he abo e needs, o he bes o my knowledge, none o he a ailable echnologies
and app oaches ound in da a acquisi ion and da a managemen li e a u e p o ide suppo o
all he a o emen ioned unc ionali ies.
The e o e, he main objec i e o his Thesis is he design and implemen a ion o a gene ic
amewo k o spa io- empo al obse a ion da a acquisi ion and decla a i e analy ical p o-
cessing. This o e all goal can be di ided in o h ee independen speci ic objec i es:
– Design and implemen a ion o a gene ic obse a ion da a acquisi ion and dissemina ion
se e .
– Design o a amewo k o decla a i e spa io- empo al analysis in e y la ge spa io-
empo al da a wa ehouses.
– E icien implemen a ion o spa io- empo al on-line analy ical p ocessing in la ge scale
dis ibu ed sha ed-no hing ha dwa e a chi ec u es.
The main con ibu ions o his Thesis may be summa ized as ollows:
– Gene aliza ion o a da a acquisi ion and dissemina ion se e , wi h g ea applicabili y
in many scien i ic and indus ial domains, p o iding lexibili y in he inco po a ion o
di e en echnologies o da a acquisi ion, da a pe sis ence and da a dissemina ion.
– De ini ion o a new hyb id logical- unc ional pa adigm o o malize a no el da a model
o he in eg a ed managemen o en i y and sampled da a.
– De ini ion o a no el spa io- empo al decla a i e da a analysis language o he p e ious
da a model.
– De ini ion o a da a wa ehouse da a model suppo ing obse a ion da a seman ics, in-
cluding applica ion o he abo e language o he decla a i e de ini ion o obse a ion
p ocesses execu ed du ing obse a ion da a load.
– Column-o ien ed pa allel and dis ibu ed implemen a ion o he spa ial analysis decla -
a i e language. The huge amoun o da a o be p ocessed o ces he exploi a ion o
cu en mul i-co e ha dwa e a chi ec u es and mul i-node clus e in as uc u es.
Resumen
Una eno me can idad de disposi i os de adquisición de da os obse an cada día más a iables
y gene an ingen es can idades de da os en la p ác ica o alidad de dominios de aplicación. Al
mismo iempo, cada día más á eas de in es igación cen an sus es ue zos en la adquisición
y ges ión e icien e de los da os (p. ej., Redes de Senso es, In e ne de las Cosas), y en el
ap o echamien o in eligen e de la in o mación (p. ej., Mine ía y Análisis de da os).
Los da os de obse aciones medioambien ales cons i uyen una pa e undamen al de di-
chos da os y, debido a su na u aleza espacio- empo al, p esen an algunos desa íos in e esan es
en el á ea de la ges ión de da os. De hecho, du an e las úl imas décadas se ha ealizado un g an
es ue zo en la in es igación de Sis emas de Ges ión de Da os de Obse aciones Medioam-
bien ales. Dichos sis emas p esen an dos ca ac e ís icas comunes: obse aciones espacio-
empo ales y he e ogeneidad.
Obse aciones espacio- empo ales
La localización de cada obse ación en un de e minado espacio de e e encia y el ins an e
empo al en el que el alo obse ado de una obse ación se aplica a la p opiedad obse -
ada son elemen os undamen ales de los me ada os, imp escindibles du an e la ejecución del
análisis. En el con ex o de es a Tesis, el esquema concep ual de inido po el es ánda Ob-
se a ions & Measu emen s (O&M) del Open Geospa ial Conso ium (OGC) ha sido adop-
ado como ma co eó ico pa a la de inición del concep o de obse ación y o os concep os
elacionados (p. ej., p opiedad obse ada, alo obse ado). Una obse ación con iene un
alo obse ado y los me ada os que p opo cionan la semán ica de obse ación necesa ia
pa a in e p e a lo co ec amen e. Así, po ejemplo, un alo obse ado (25) con una unidad
de medida especí ica (ºC) de una p opiedad obse ada ( empe a u a) es á p opo cionado po
una de e minada en idad obse ada (es ación_me eo ológica). Una en idad obse ada puede
10 Resumen
a ob eniendo. La ap oximación clien e/se ido pe mi e a los clien es consul a di ec amen e
los da os almacenados en el sis ema. La lexibilidad se consigue en GeoDADIS g acias al uso
de di e en es pa ones de diseño so wa e an o en la implemen ación como en el diseño de
sus di e en es componen es. El pa ón Adap e acili a la inco po ación de nue os se icios
de da os, se icios de con ol emo o y canales de adquisición de da os con cambios mínimos
en los componen es in e nos del sis ema. La inco po ación de dichos elemen os equie e úni-
camen e de ac ualizaciones de la in o mación de con igu ación. La lexibilidad, escalabilidad
y ex ensibilidad han sido alidadas du an e el desa ollo de un p o o ipo pa a adquisición y
diseminación de da os basado en GeoDADIS que pe mi e la moni o ización del es ado de
salud en en o nos educa i os.
El diseño de SODA se ha di idido en di e en es a eas. En p ime luga , se ha de inido un
modelo de da os espacio- empo al que incluye nue os ipos (espaciales y empo ales), y es-
uc u as de da os (Dimensiones, Ex ensional MappingSe s, In ensional Mappings) necesa ias
pa a la co ec a ep esen ación de da os de En idades y da os Ras e de o ma in eg ada. So-
b e es e p ime modelo de da os se ha cons uido un modelo de da os que do a al sis ema de
la semán ica de obse ación eque ida g acias a la de inición de un nue o lenguaje llamado
XODDL. A con inuación, se ha de inido un lenguaje decla a i o espacio- empo al pa a el
análisis de da os llamado MAPAL. Además de la especi icación de da os y a eas de análi-
sis, es e lenguaje pe mi e la de inición de p ocesos analí icos. Es os p ocesos se ejecu an de
o ma in e na y p opo cionan nue as obse aciones a pa i de obse aciones ex e nas egis-
adas po los di e en es canales de adquisición. Finalmen e, se han de inido los ope ado es
de sis ema que se enca gan de ejecu a las a eas de inidas po el usua io en MAPAL. Las
en ajas p incipales de SODA se pun ualizan a con inuación:
– Tan o el modelo de da os de obse aciones espaciales como la de inición decla a i a de
los p ocesos analí icos inco po an y dan sopo e a la semán ica de da os de obse a-
ciones.
– Se p opo ciona sopo e di ec o a la ep esen ación y análisis in eg ado an o de da os
E/R con encionales como da os espaciales, empo ales y espacio- empo ales mues ea-
dos.
– Los nue os ipos de da os espaciales y empo ales pe mi en la ep esen ación y ans-
o mación en e di e en es esoluciones an o en el dominio espacial como empo al.

Resumen 11
– El concep o ma emá ico de unción se u iliza pa a ep esen a an o da os (median e la
nue a es uc u a de da os Ex ensional MappingSe ) como compo amien o (median e
la nue a es uc u a de da os In ensional Mapping). Así pues, es a solución debe ía se
de ácil uso pa a usua ios del ámbi o cien í ico. Adicionalmen e, es a ap oximación
uncional acili a la de inición y eu ilización de esul ados in e medios.
– La inco po ación de los nue os lenguajes p opues os, MAPAL y XODDL, en se icios
web es muy sencilla debido a que es án basados en el lenguaje decla a i o XML.
– La implemen ación e icien e de SODA se ha is o bene iciada po las es uc u as de
da os no anidadas que se han de inido en el modelo de da os.
Se ha p opues o ambién la implemen ación de un p o o ipo de o ma que se pueda com-
pa a a SODA con las soluciones exis en es en el es ado del a e pa a el análisis de da os es-
paciales y espacio- empo ales. Los bene icios de los modelos de da os y ope ado es de inidos
se han demos ado en los esul ados de endimien o ob enidos po el p o o ipo implemen-
ado. Los iempos de ejecución ob enidos pa a la ope ación de join espacial, implemen ada
pa a es a compa a i a, mejo an los ob enidos po las soluciones exis en es ac ualmen e (p.
ej., GeoSpa k, Loca ionSpa k, S a k). Dichos iempos de ejecución son ó denes de magni ud
in e io es a los ob enidos po los compe ido es. Además, los es de escalabilidad demues an
un endimien o simila al de las mejo es soluciones ac uales.
El p incipal incon enien e de SODA iene dado po la adopción de un nue o pa adigma
uncional de ges ión de da os po pa e de los usua ios de bases de da os adicionales. Sin
emba go, el o malismo uncional se ha combinado con el bien conocido o malismo lógico
a la ho a de de ini MAPAL. Po an o, los cons uc o es de MAPAL son muy simila es a los
cons uc o es que es án p esen es en o os lenguajes disponibles ac ualmen e como XQue y.
Pa a inaliza es e esumen, se an a comen a las líneas de abajo u u o que se pueden
de i a de es a Tesis.
Respec o a GeoDADIS, las u u as líneas de in es igación debe ían es a elacionadas
con la ampliación del sis ema de o ma que se pueda da sopo e pa a la adquisición y dise-
minación de las obse aciones complejas que p oducen los senso es emo os (p. ej., lida ,
ada ).
En cuan o a SODA, se pueden iden i ica di e en es ías de abajo u u o. A con inuación,
se de allan las más ele an es:
12 Resumen
– Inco po ación de nue as écnicas de op imización de consul as.
– De inición de nue as es uc u as de indexación.
– Diseño e implemen ación de nue as es a egias de pa icionamien o pa a Dimensiones,
Ex ensional MappingSe s y da os espaciales.
– Inco po ación de écnicas de p ocesamien o ap oximado de consul as sob e Ex ensional
MappingSe s almacenados.
CHAPTER 1
INTRODUCTION
1.1 Backg ound
A my iad o da a acquisi ion de ices is obse ing e e y day mo e a iables and gene a ing
a as amoun o da a in almos e e y applica ion domain, e.g., heal h ca e, home au oma-
ion, clean ene gy p oduc ion, wea he o ecas , na u al disas e p edic ion. Fu he mo e, an
inc easing numbe o esea ch a eas a e in ol ed in he e icien acquisi ion and managemen
o da a, e.g., Senso Ne wo ks, Da a Logging, In e ne o Things (IoT), la ge scale da a man-
agemen , and in he in elligen exploi a ion o in o ma ion, e.g., Da a Analy ics and Mining.
En i onmen al obse a ion da a is an essen ial po ion o such gene a ed da a, whose
spa io- empo al na u e has posed in e es ing da a managemen challenges. Mo e speci ically,
impo an esea ch e o s ha e been de o ed o En i onmen al Obse a ion Da a Manage-
men Sys ems o decades. Two ea u es a e common o all hese sys ems: spa io- empo al
obse a ions and he e ogenei y.
Spa io- empo al obse a ions
The loca ion o each obse a ion in some e e ence space and he ime when he obse ed
alue o an obse a ion applies o he obse ed p ope y a e impo an pieces o me ada a
ha mus be used du ing he analysis. In he con ex o his Thesis, he Obse a ions and
Measu emen s (O&M) concep ual schema [30] o he Open Geospa ial Conso ium (OGC)
was adop ed as he heo e ical amewo k o he de ini ion o he concep o obse a ion
and o he ela ed concep s (e.g., obse ed p ope y, obse ed alue). An obse a ion en-
14 Chap e 1. In oduc ion
: OM_Obse a ion
+phenomenonTime: TM_Objec = 07/02/2018 11:49
: Measu e
+ alue = -15
+uom = ºC
+obse edValue
empe a u e_senso : OM_P ocess
+se ial_numbe = LXA5506000EM00
+model = TM09-BELL
+ igge _ ype = ime- igge ed
+ ime_ equency = 10 min
+ esolu ion = 0.5
ai _ empe a u e: GFI_P ope yType
+obse edP ope y
+obse a ionP ocess
EOAS_wea he _s a ion: Wea he _S a ion
+name: S ing = EOAS-San iago
+owne : S ing = Xun a de Galicia
+geome y: GM_Objec = Poin (536101 , 4747354, 23029)
+obse edEn i y
Wea he _S a ion
+name: S ing
+owne : S ing
+geome y: GM_Objec
+ai _ empe a u e: Measu e
+ai _humidi y: Measu e
+soil_ empe a u e: Measu e
+soil_humidi y: Measu e
+wind_speed: Measu e
+sola _ adia ion: Measu e
«ins anceO »
Figu e 1.1: OGC Obse a ion example.
closes bo h an obse ed alue and he ele an obse a ion me ada a ha p o ides obse a-
ion seman ics equi ed o adequa ely in e p e i . An example o an obse a ion is shown in
Fig. 1.1. An obse ed alue (-15) wi h a speci ic uni o measu e (ºC) o an obse ed p ope y
(ai _ empe a u e) is p o ided by an obse ed en i y (EOAS_wea he _s a ion). An ob-
se ed en i y may ha e bo h con en ional p ope ies (name,owne ,geome y) and obse ed
p ope ies (ai _ empe a u e,ai _humidi y,soil_ empe a u e,soil_humidi y,
wind_speed,sola _ adia ion). Values o con en ional p ope ies a e usually assigned
by some au ho i y whe eas alues o obse ed p ope ies a e es ima ed by some obse a ion
p ocess ( empe a u e_senso ). I is manda o y o egis e p ope ies (se ial_numbe ,
model, igge _ ype, ime_ equency, esolu ion) o he speci ic obse a ion p o-
cess used o gene a e he obse ed alue.Obse a ion p ocesses may be o e y di e en na-
u e, including physical de ices (e.g., empe a u e senso s), asks pe o med by people (e.g.,
da a egis e ed by an ope a o ) and da a p ocessing algo i hms (e.g., wea he o ecas ). I is
also manda o y o egis e he phenomenonTime (07/02/2018 11:49), i.e., he ime ins an
when he obse ed alue applies o he obse ed p ope y. No ice o example ha he wea he
o ecas (obse a ion p ocess) migh ake in o accoun his o ic da a alues ob ained some ime
ago. The ype o obse a ion da a p oduced by an obse a ion p ocess is de e mined by wo
cha ac e is ics: i) whe he he p ocess is execu ed pe iodically ( ime_ igge ed) o ig-
ge ed by speci ic e en s (e en _ igge ed); ii) he ela i e posi ion o he p ocess wi h
1.1. Backg ound 15
Figu e 1.2: Obse a ion da a ypes.
espec o he obse ed en i y (in-si u o emo e). Di e en a ailable da a ypes ob ained
by combining such cha ac e is ics a e shown in Fig. 1.2.
T igge ype
E en - igge ed p ocesses s a a some ime ins an de e mined by a speci ic e en . Fo
ins ance, a Ligh De ec ion and Ranging (LIDAR) image aken a some speci ic ime ins an .
Time- igge ed p ocesses a e execu ed a some p ede ined ime equency p oducing egula
samplings in he empo al domain. As an example, we migh egis e ai empe a u e alues
ob ained by he empe a u e senso o a wea he s a ion e e y en minu es.
Senso loca ion
Focusing on senso s (one o he a o emen ioned obse a ion p ocess ypes), in-si u sen-
so s a e loca ed a he spa ial posi ion o he obse ed en i y. They p oduce a single obse a-

16 Chap e 1. In oduc ion
Soda Uni
Acous ic Pulse
Echo
Spa ial esolu ion
Sca e ing olume
(a) SODAR (s a ic pla o m)
VIIRS
Suomi NPP
Spa ial esolu ion
(b) VIIRS (mobile pla o m)
Figu e 1.3: Illus a ion o 1D and 2D spa ial samplings.
ion alue a each ime ins an . Examples o such senso s a e a empe a u e senso ins alled
in a me eo ological s a ion (s a ic pla o m) and a GPS de ice ins alled in a ca (mobile pla -
o m). Unlike in-si u senso s, emo e senso s a e loca ed a away om he obse ed en i y.
They p o ide se e al obse ed alues (one o each obse ed en i y) a each ime ins an . An
example o s a ic emo e senso is he Sonic De ec ion And Ranging (SODAR), Fig. 1.3(a),
used o egis e wind speed a di e en heigh s abo e he g ound by measu ing he sca e -
ing o sound wa es p oduced by a mosphe ic u bulence. SODAR gene a es a 1D sampling
o wind speed along consecu i e disc e e loca ions o a e ical line p o ile. An example o
a emo e senso ins alled in a mobile pla o m is he Visible In a ed Imaging Radiome e
Sui e (VIIRS) ins alled in he Suomi NPP sa elli e (Fig. 1.3(b)). VIIRS allows high esolu-
ion images o be acqui ed bo h in isible and in a ed spec um, p o iding a whole iew o
he Ea h e e y wo days wi h a spa ial esolu ion o 750 me e s. Gene a ed da a include 2D
1.2. P oblem desc ip ion 17
egula samplings (called Ras e s in he a ea o Geog aphic Da a Managemen ) o colo and
empe a u e o he sea su ace.
He e ogenei y
He e ogenei y speci ically conce ns he da a acquisi ion pa o he a o emen ioned sys ems,
which need o access da a p oduced by he e ogeneous sensing de ices (e.g., humidi y senso s,
GPS de ices, ada , lida , mul ispec al scanne senso s) ollowing di e en so wa e/ha d-
wa e speci ica ions ha a e accessed h ough se e al communica ion p o ocols (e.g., WiFi,
RS-485, E he ne ).
Gene al sys em a chi ec u es o ele an Da a Acquisi ion and Moni o ing Applica ions
[62, 102, 76, 78, 63], and Non Real-Time Supe iso y Con ol Sys ems [26, 32] a e usually
composed o h ee main componen s, namely, End-Use Applica ions,Da a Se e s and Sens-
ing De ices.End-Use applica ions a e in cha ge o da a analysis and isualiza ion. Sensing
de ices un he obse a ion p ocess and a e highly he e ogeneous bo h in unc ionali y and
communica ion capabili ies, as al eady s a ed. Ac ing as a ga eway be ween he he e oge-
neous speci ic domains o End-Use Applica ions and he he e ogeneous collec ion o Sensing
De ices, one o mo e Da a Se e s a e added o he sys em in o de o p o ide homogeneous
da a access.
1.2 P oblem desc ip ion
Based on he abo e, se e al challenging p oblems a ise du ing he design and implemen a ion
o En i onmen al Obse a ion Da a Acquisi ion and Managemen Sys ems. Speci ic issues
ela ed o bo h obse a ion da a acquisi ion and obse a ion da a managemen a e de ailed
below.
Rega ding obse a ion da a acquisi ion, gene aliza ion e o s in sensing de ices p og am-
ming and end-use applica ion de elopmen end o be wo hless because o he s ong condi-
ioning on endo speci ica ions and he high dependency on speci ic domain and use p e e -
ences, espec i ely. On he o he hand, he unc ionali y and a chi ec u e o da a se e s end
o be e y simila in he b oad majo i y o applica ions. A majo challenge howe e is o p o-
ide he equi ed lexibili y o enable da a acquisi ion om he e ogeneous sensing de ices and
da a dissemina ion h ough he e ogeneous end-use applica ions. The sys em mus p o ide
simple and s aigh o wa d mechanisms o he inco po a ion o he ollowing componen s:
18 Chap e 1. In oduc ion
– New in-si u sensing de ices.
– New da a dissemina ion se ices.
– Di e en pe sis en da a s o age echnologies o di e en obse ed p ope ies.
Focusing on obse a ion da a managemen , a sys em mus p o ide he ollowing gene al
unc ionali ies o e ec i ely manage obse a ion da a:
– Managemen o con en ional En i y/Rela ionship (ER) da a ela ed o non-obse ed
p ope ies o en i ies.
– Managemen o sampled da a o e empo al, spa ial (1D and 2D) and spa io- empo al
domains.
– Suppo o obse a ion da a seman ics. Rele an obse a ion me ada a o obse ed
p ope ies o en i ies mus be p o ided.
– E icien implemen a ion o la ge scale sha ed-no hing dis ibu ed ha dwa e a chi ec-
u es.
1.3 Mo i a ion
In e ms o spa ial da a so wa e a chi ec u es o GIS, ecen de elopmen s and ends p o-
pose he decomposi ion o sys ems in o simple and well-de ined se ices, which a e o en
web-based and whose in e aces ollow in e na ional in e ope abili y s anda ds o he OGC
and he In e na ional O ganiza ion o S anda diza ion (ISO). Thus, Spa ial Da a In as uc-
u es (SDI) in eg a ed by dis ibu ed se ices h ough he In e ne can be made a ailable o
GIS de elope s.
Beyond he p e ious echnological conside a ion, ele an policies a e being adop ed o
imp o e he a ailabili y o spa ial da a se s gene a ed by di e en public adminis a ions. In
pa icula , he INSPIRE Di ec i e o he Eu opean Union (2007/2/CE, Ma ch 14 h 2007) en-
cou ages he c ea ion o a SDI o ensu e he in e ope abili y o spa ial in o ma ion sys ems in
Eu ope. The applica ion o INSPIRE in he Spanish legisla i e sys em o ces public admin-
is a ions o make hei geog aphic da a a ailable h ough SDI se ices. The e o e, he new
en iched geog aphical knowledge allows o he appea ance o many applica ions in di e en
a eas o knowledge ha equi e spa ial analysis capabili ies.
1.3. Mo i a ion 19
In spi e o he abo e needs, o he bes o my knowledge, none o he a ailable echnologies
and app oaches ound in da a acquisi ion and da a managemen li e a u e p o ide suppo o
all he unc ionali ies equi ed in Sec ion 1.2. Mo e de ails ela ed o he his asse ion a e
gi en in he ollowing pa ag aphs.
Mos o da a acquisi ion sys ems p o ide high lexibili y o ob ain obse a ion da a om
he e ogeneous sensing de ices bu lack he equi ed lexibili y in da a s o age and dissemina-
ion capabili ies. As opposed o [79], in [17, 26, 53, 67, 89, 96] lexible mechanisms o a ach
new sensing de ices a e p o ided. Howe e , [96] lacks lexibili y o ex end implemen ed
da a s o age echnologies whe eas [17, 26, 53, 67, 89] p o ide limi ed capabili ies. Flexible
ways o a ach new dissemina ion se ices a e p o ided in [79] as s o ed p ocedu es and use -
de ined unc ions accessible h ough web- o m in e aces. Such lexibili y is no a ailable in
[89, 96] and is e y limi ed in [17, 26, 53, 67].
A huge amoun o esea ch e o de o ed o obse a ion da a managemen may be ound
in da a managemen li e a u e. The a ea o spa ial da abases [46, 68] is one o he mos ac i e
esea ch a eas p o iding many esea ch app oaches. E en he ISO SQL s anda d [58], im-
plemen ed by well known DBMSs [83] has been ex ended wi h ele an spa ial unc ionali y.
These ools cu en ly enable decla a i e que ying o e spa ial da a, including suppo o 2D
as e s. High pe o mance Da a Wa ehouse [54] and NoSQL [77] ools implemen spa ial
ex ensions al hough as e da a a e no suppo ed. Reco ding and p ocessing o con en ional
and spa ial da a, including as e s, a e cu en ly suppo ed by a ailable GIS ools [81]. Decla -
a i e da a analysis, no p o ided by such GIS solu ions, is suppo ed by a ay da a manage s
[15, 22] o e y la ge collec ions o a ay as e da a. E en hough decla a i e analysis o
ela ional da a h ough a ay da a s uc u es is no e y use iendly, an a emp o in eg a ed
managemen o ela ional and a ay da a was ied in [111] bu he use has o deal wi h bo h
ela ional and a ay seman ics. Sys ems p o iding decla a i e analysis o da a s eams o sen-
so da a ha e been de eloped in [40, 71]. Howe e , as e da a a e no suppo ed. Finally,
obse a ion da a seman ics a e only suppo ed by s anda ds o OGC, Senso Web Enablemen
(SWE) ini ia i e [30, 84, 23] and speci ic obse a ion da a models and on ologies [20, 29, 72],
al hough decla a i e analysis o obse a ion da a is no suppo ed.
26 Chap e 2. Backg ound and ela ed wo k
2.2.1 CORFU F amewo k
A Common Objec -o ien ed Real- ime F amewo k o he Uni ied (CORFU) de elopmen
o dis ibu ed IPMCS (Indus ial P ocess Measu emen and Con ol Sys ems) applica ions is
de ined in [96]. The CORFU amewo k adop s he unc ion block concep de ined by IEC
s anda ds [55, 56] and p oposes a new ne wo k opology o ieldbus in e connec ion. The
co e elemen in he p oposed ne wo k opology, called in e wo king uni , is composed o he
ollowing building blocks.
–Vi ual Field Bus (VFB): he main componen o he in e wo king uni abs ac s any
comme cial ieldbus o he IEC 61499 [55] le el. This abs ac ion allows o in e ope -
abili y in ieldbus le el.
–Fieldbus W appe : allows o w apping di e en ieldbus speci ica ions o he VFB.
–Indus ial P ocess-Con ol P o ocol (IPCP): each in e wo king uni implemen s he
IPCP on op o TCP/UDP laye s. The IPCP has been de ined o he de elopmen ,
dis ibu ion, and ope a ion o unc ion block based indus ial p ocess measu emen and
con ol applica ions.
In his solu ion he in e wo king uni s a e loca ed be ween each ielbus and a backbone
ne wo k ha p o ides eal ime in e connec ion o ieldbus segmen s. The a chi ec u e o he
in e wo king uni adop s he Adap e pa e n [41] o ease he inco po a ion o new w appe s
ha enable he in e connec ion o he e ogeneous ieldbuses o he selec ed backbone. Sim-
ila ly, GeoDADIS implemen s he Adap e pa e n o access da a acquisi ion channels, da a
se ices and con ol clien s.
2.2.2 TORERO P ojec
The esea ch p ojec TORERO ( o al li e cycle web-in eg a ed con ol) speci ies a new DCS
en i onmen . The main elemen o he TORERO DCS [89] is a mecha onic componen ,
called o e o de ice, p o iding in elligen con ol. In a TORERO en i onmen he equi ed
con ol unc ionali y is ealized by all o e o de ices wo king in collabo a ion. The a chi ec-
u e o a o e o de ice is di ided in o h ee laye s:
–Physical laye : senso /ac ua o elemen s.

2.2. Da a Acquisi ion Sys ems 27
–Ha dwa e laye : p ocesso , s o age, RAM, E he ne in e ace, connec o s o he sen-
so /ac ua o elemen s, e c.
–So wa e laye : Ope a ing Sys em, Ja a Vi ual Machine, FTP, HTTP, he con ol ap-
plica ion, e c.
The con ol applica ion can only access ha dwa e componen s ia so called de ice unc-
ions. A de ice unc ion is an abs ac ion o he unde lying ha dwa e, i.e., a w appe ha
allows he e ogeneous ha dwa e o be con olled by he same con ol applica ion so wa e. As
s a ed in Subsec ion 2.2.1, GeoDADIS also implemen s he Adap e pa e n.
2.2.3 Chima is and Papadopoulos, 2007
A gene ic componen -based amewo k ha can be used o build elecon ol applica ions was
de ined and implemen ed in [26]. The main componen s o his amewo k, called emo e
uni s, a e small in elligen subsys ems. Each emo e uni mus pe o m he ollowing asks.
– Handle e e y connec ed de ice (ala ms, ligh s, hea ing, e c.).
– Moni o he connec ed de ices and ansmi da a changes and message ale s o he
con ol cen e .
– Change i s beha io based on ecei ed upda e and con ol messages.
– Suppo secu e and consis en communica ion.
– Ensu e he a ailabili y and e iciency o he communica ion channel.
Based on he abo e, a emo e uni may include con ol unc ionali y ha goes beyond he
con ol capabili ies o GeoDADIS. Howe e , he lexibili y equi emen s imposed du ing he
design o GeoDADIS o da a dissemina ion, da a s o age and emo e con ol a e no p esen
in [26].
2.2.4 Ho sbu gh e ál., 2011
An en i onmen al obse a o y in o ma ion sys em ha suppo s collec ion, o ganiza ion, s o -
age, analysis and publica ion o hyd ologic obse a ions is desc ibed in [53]. The a chi ec u al
and p ocedu al componen s a e desc ibed as ollows.
28 Chap e 2. Backg ound and ela ed wo k
–Da a Obse a ion and Communica ion: senso s and eleme y sys ems used o collec
obse a ions.
–Da a S o age and Me ada a: da a models, da abase sys ems and so wa e equi ed o
c ea e a pe sis en da a eposi o y.
–Quali y Assu ance, Quali y Con ol and P o enance: so wa e and p ocedu es o ans-
o ming aw da a in o publishable da a p oduc s.
–Da a Publica ion and In e ope abili y: so wa e, p o ocols, o ma s and ocabula ies
used o publishing da a in in e ope able o ma s.
–Disco e y and P esen a ion: ools p o ided o da a consume s o isualiza ion and
analysis pu poses.
Rela ed o GeoDADIS a e he Da a S o age and Me ada a and Da a Publica ion and
In e ope abili y componen s. The o me enables pe sis en s o age o bo h senso da a and
me ada a. An impo an added- alue s ep in his componen in ol es he media ion ac oss
he a ie y o so wa e suppo ing senso and communica ion sys ems. Such a media ion
is achie ed in GeoDADIS by he implemen a ion o w appe s o di e en da a acquisi ion
channels, as al eady men ioned. The la e p o ides da a dissemina ion unc ionali y, achie ed
in GeoDADIS by he implemen a ion o da a se ices.
2.2.5 GEOSWIFT In as uc u e
GeoSWIFT is a dis ibu ed geospa ial in as uc u e o he Senso Web1p oposed in [67].
The co e componen o GeoSWIFT is he open geospa ial sensing se ice, which se e as
a single que yable global senso o Senso Web use s. Each sensing se ice ole and i s
beha io a e explained below.
–Sensing Se e : p o ides a web-enabled in e ace o senso sys ems and hei geospa-
ial in o ma ion. The s anda d o senso da a access exposed by GeoSWIFT is based
on he speci ica ions p o ided by he Senso Web Enablemen (SWE) ini ia i e [19] o
he OGC.
1“A Senso Web is a sys em o in a-communica ing spa ially dis ibu ed senso pods ha can be deployed o
moni o and explo e new en i onmen s” [61].
2.2. Da a Acquisi ion Sys ems 29
–Sensing Regis y: plays a cen al ole in publishing, inding, and binding o ne wo k-
accessible se ices by p o iding a common mechanism o classi y, egis e , desc ibe,
sea ch, main ain, and access in o ma ion abou Senso Webs and o he Web Se ices.
–Viewe : GeoSWIFT Viewe is based on GeoSe Ne Viewe 2.
As in he case o GeoDADIS, he Sensing Se e o GeoSWIFT ac s as a ga eway ha
hides he di e en communica ion p o ocols, da a o ma s and s anda ds o senso sys ems
and p o ides a s anda d in e ace o clien s o collec and access senso obse a ions. Despi e
o he simila i ies be ween GeoSWIFT and GeoDADIS, GeoSWIFT does no achie e he
lexibili y equi emen s imposed du ing he design o GeoDADIS.
2.2.6 LIFE UNDER YOUR FEET (LUYF) Senso Ne wo k
A da a access ga eway is implemen ed in [79] o ga he da a om a Wi eless Senso Ne wo k
(WSN) o soil moni o ing. Co e componen s o LUYF a e de ailed below.
–Da a Collec ion Subsys em: composed o mo es and a base s a ion. Each mo e is con-
nec ed o a da a acquisi ion boa d p o iding ambien ligh , empe a u e and soil mois-
u e senso s. Mo es sample da a a some p ede ined empo al esolu ion, ypically e e y
minu e, and s o e hem in local memo y. The base s a ion eques s s o ed da a om
mo es once e e y wo weeks and s o es he e ie ed measu emen s in he da abase.
–Da abase: aw measu emen s a i e om he base s a ion as ASCII iles. Fi s , ecei ed
da a a e loaded in o a empo a y able. Nex , duplica es a e emo ed and da a a e s o ed
as aw da a. A mul i-s ep pipeline is equi ed o con e ing aw da a o scien i ically
meaning ul alues. Such p ocess is au oma ically pe o med by a s o ed p ocedu e o
all senso s wi hin he da abase. S o ed p ocedu es and use de ined unc ions, accessible
h ough web- o m in e aces, p o ide access o agg ega ed da a.
The majo d awback o LUYF, when compa ed o GeoDADIS, is he lack o lexibili y
ha allows use s o add new da a acquisi ion w appe s.
2GeoSe Ne Viewe is a 2D/3D Web GISe ice iewe designed o s eaming la ge amoun o spa ial da a ia
In e ne .
30 Chap e 2. Backg ound and ela ed wo k
2.2.7 SPINE F amewo k
The gene al a chi ec u e o he SPINE amewo k [17] is composed o a collec ion o senso
nodes connec ed o he coo dina o node ha manages he ne wo k, collec s and analyzes
he e ie ed da a, and ac s as a ga eway o connec senso s and wide a ea ne wo ks. The
senso node manages and abs ac s senso s (p o iding a s anda d in e ace o di e se senso
d i e s), and is esponsible o sampling and s o ing senso da a in p ope ly de ined bu e s.
Two majo di e ences may be ound be ween SPINE and GeoDADIS. Fi s , SPINE enables
he inco po a ion o signal p ocessing unc ionali y ha is ou o he scope o GeoDADIS.
Second, he lexibili y in he inco po a ion o new da a dissemina ion and emo e con ol
se ices o GeoDADIS is no p esen in SPINE.
2.3 Da a Analysis Sys ems
In his sec ion a compa ison be ween di e en solu ions in he a ea o da a analysis is p o-
ided. Based on gene ic unc ionali ies equi ed o all obse a ion managemen sys ems, he
compa ison c i e ia a e speci ied below.
1. Di ec suppo o obse a ion seman ics3: he ep esen a ion o e ms ela ed o an
obse a ion is equi ed. Obse ed en i ies allow o he ep esen a ion o en i ies wi h
con en ional and obse a ion p ope ies. E ec i e analysis and co ec in e p e a ion
o obse ed alues o some obse ed p ope y equi e ele an me ada a o be eco ded.
Speci ically, impo an me ada a o be eco ded a e he obse a ion p ocess and he
phenomenon ime.Obse a ion p ocess and obse a ion en i y ins ances ha e o be
classi ied in o p ocess ypes and en i y ypes espec i ely. Mo eo e , he eco ding o
obse a ion p ocess p ope ies should be also suppo ed.
2. Suppo o he managemen o sampled da a: i is no only o classical E/R da a ha an
obse a ion da a managemen sys em mus suppo e icien p ocessing. Da a s uc u es
and ope a ions ha e o be p o ided o enable e ec i e p ocessing o sampled da a. As
a o emen ioned in Sec ion 1.1, ime- igge ed p ocesses gene a e empo al sampling
da a and emo e senso s usually p oduce spa ial sampling da a ( as e da a). As we will
see below, ei he highly ine icien app oaches o complex nes ed models a ise when
applying he classical ela ional-based models o sampled da a.
3We e e he e o obse a ion seman ics p o ided by [30] and de ailed in Sec ion 1.1
2.3. Da a Analysis Sys ems 31
3. Suppo o mul i- esolu ion empo al and spa ial da a:obse a ion da a is cu en ly
gene a ed wi h di e en empo al and spa ial esolu ions by a huge amoun o a ailable
senso s. Because o ha , e alua ion o ope a ions o en implies ans o ma ions be-
ween di e se empo al and spa ial esolu ions. An app op ia e da a ype sys em should
be p o ided by obse a ion da a managemen sys ems in o de o simpli y hese ans-
o ma ions.
4. Simple da a modeling app oach: o e alua ion pu poses in he con ex o his The-
sis, we a e conside ing as non-simple da a models hose ha ul ill one o wo o he
ollowing ea u es:
– mo e han one non-nes ed da a s uc u e.
– nes ed da a s uc u es including eco ds and collec ions.
I is clea ha simple da a models ha e some ad an ages o e non-simple ones, e.g.,
an e icien implemen a ion o a simple model is a mo e s aigh o wa d han a nes ed
da a model implemen a ion, and implemen a ion o di e en seman ics in di e se da a
s uc u es o en esul s in no use iendly in e aces.
5. Model based on a well known pa adigm: a apid p og ession up he lea ning cu e is
enabled when da a models a e de ined based on well known pa adigms on accoun o
many yea s o use expe ience.
6. S eam p ocessing app oach: s eam p ocessing app oaches a e equi ed when eal
ime p e equisi es a e p esen and he e is no a la ge amoun o da a o be eco ded.
These sys ems implemen small s o ed da a s uc u es and e icien ly p ocess inpu da a
s eams in o de o p oduce ou pu da a s eams. S eam p ocessing app oaches a e
commonly known as Complex E en P ocessing4(CEP) and hey ely on he e alua-
ion o Con inuous Que y Language (CQL) exp essions [13, 59].
7. On Line T ansac ion P ocessing (OLTP) app oach: OLTP app oaches a e equi ed
when eal ime p e equisi es a e p esen wi h simple empo al pa e ns and he e is a
la ge amoun o da a o be eco ded. This app oach is adi ionally suppo ed by con-
en ional DBMSs o easonably la ge da a collec ions and p o ided by bo h NoSQL
[77, 8] and NewSQL [105] solu ions in he new e a o Big Da a Managemen .
4Also known as In o ma ion Flow P ocessing Sys ems [31]

32 Chap e 2. Backg ound and ela ed wo k
8. On Line Analy ical P ocessing (OLAP) app oach: OLAP app oaches a e equi ed when
eal ime p e equisi es a e no p esen and he e is a la ge amoun o da a o be eco ded.
We usually iden i y hese sys ems in Da a Wa ehouse solu ions implemen ed by Bussi-
nes In elligence (BI) applica ions. Examples o high pe o mance implemen a ions a e
Hewle -Packa d Ve ica [99], which is an e olu ion o C-S o e [93], and he open
sou ce Mone DB da abase [54]. Recen esea ch solu ions on column-o ien ed ech-
nologies se e as a basis o e icien implemen a ions o hose Big Da a solu ions. In-
deed, he column-based s o age o ela ional da a, ins ead o he adi ional ow-based
s o age, is he majo con ibu ion o hese app oaches. Main ea u es a e:
– e icien comp ession echniques.
– p ocessing o e comp essed da a.
– columns no in ol ed in compu a ions a e no e ie ed om s o age.
As majo d awback we can men ion he ine icien pe o mance o inse ions, upda es
and dele ions o da a. This makes hem sui able o da a wa ehouses.
9. Suppo o decla a i e p ocessing: aking in o accoun ha p ocedu al solu ions a e
dominan in applica ion domains such as en i onmen al applica ions handling sampled
obse a ion da a, and ha p ocedu al app oaches ha e well known disad an ages com-
pa ed o decla a i e languages, i is clea he mo i a ion o applying decla a i e da a
managemen echnologies o hese en i onmen al applica ions.
10. Suppo o agg ega ed que ies: e ec i e obse a ion da a analysis in OLAP sys ems
canno be accomplished wi hou s a is ical me hods p o iding agg ega ion unc ional-
i y.
11. Suppo o i e a i e p ocessing: ecu si e que ies a e equi ed in only ew da a man-
agemen applica ions. This is he eason why such unc ionali ies we e ou o he scope
o i s SQL implemen a ions. Cu en ISO SQL s anda d and DBMSs endo s suppo
a kind o limi ed ecu sion. Rega ding he analysis o obse a ion da a in en i onmen al
applica ions, such unc ionali ies a e commonly equi ed o pe o m many simula ions.
Examples o hese a e o es i e p opaga ion, oil spills, and looding. Thus, al hough i
is no a key unc ionali y, suppo o i e a i e p ocessing is a desi able ea u e.
2.3. Da a Analysis Sys ems 33
12. Da a p ocessing based on a well known language: as s a ed o da a models, a clea
ad an age o da a managemen sys ems is ha he de ini ion o que y languages is
based on well known pa adigms.
13. Dis ibu ed p ocessing o spa ial, empo al and spa io- empo al da a: adi ional ech-
nologies a e no longe sui able o p ocessing he la ge amoun o spa ial, empo al
and spa io- empo al da a cu en ly gene a ed. In ac he e is a g owing demand o
solu ions ha suppo high pe o mance que ies on such da a. This makes dis ibu ed
and pa allel p ocessing o spa ial, empo al and spa io- empo al da a no longe desi -
able bu equi ed. Hence, da a managemen sys ems cu en ly c ea ed ha e as essen ial
equi emen such clus e -based p ocessing.
14. A ailabili y o e icien implemen a ion: a da a managemen app oach is eally use ul
i i can be e icien ly implemen ed. A p o o ype implemen a ion demons a es he ap-
p oach easibili y and i s use in eal applica ion domains shows i s ma u i y.
The deg ee o compliance wi h he p e ious e alua ion c i e ia is now de ailed o se e al
ela ed esea ch solu ions and a ailable echnologies, including also he SODA amewo k.
Table 2.1 p o ides an o e iew o such e alua ion. Fo each app oach, P ep esen s ha he
ele an c i e ion is pa ially suppo ed andY ep esen s ha is comple ely suppo ed. A mo e
de ailed discussion is gi en below.
2.3.1 OGC SWE S anda ds
The Senso Web Enablemen (SWE) o he OGC p o ides s anda ds o in e aces o web se -
ices ha a e ela ed o he managemen o en i onmen al obse a ion da a. In pa icula , he
Obse a ions and Measu emen s (O&M) [30] and Senso Model Language (Senso ML) [84]
we e al eady men ioned in Chap e 1. The Senso Obse a ion Se ice (SOS) [23] de ines a
web se ice in e ace o que y obse a ion da a collec ions, ei he s o ed o di ec ly ob ained
om de ices. Da a is ans e ed be ween clien and se e in s anda d XML encodings o
O&M and Senso ML models. Que y capabili ies o SOS a e limi ed o jus il e ing. Re-
ga ding da a p ocessing, OGC de ines he Web P ocessing Se ice (WPS)[88] in e ace ha
enables he in oca ion o da a p ocessing algo i hms h ough he web. Va ious implemen a-
ions o he abo e s anda ds al eady exis in he ma ke , bo h wi h comme cial and open sou ce
licenses. In gene al i is ob ious ha O&M p o ides app op ia e suppo o he modeling o
34 Chap e 2. Backg ound and ela ed wo k
Obs. Seman ics
Sampled Da a
Mul i esolu ion
Simple Model
Well Known Model
S eam P oc.
OLTP
OLAP
Decla a i e P oc.
Agg ega ion
I e a i e P oc.
Well Known Lang.
Impl. A ailable
OGC SWE S ds. Y Y Y Y
Obs. Da a Models Y Y Y
GIS Y Y Y Y
Senso S eam Y Y Y P P P Y
Spa . and ST DBMSs Y Y Y Y P P P P Y
Spa ial NoSQL Y Y Y
Spa ial HP DW Y Y Y P P P Y
A ay Da a Manage s Y Y Y Y Y Y
SciQL Y P Y Y Y P Y
Dis . P oc. Sys ems Y Y Y Y Y Y
SODA Y Y Y Y Y Y Y
Table 2.1: Compa ison o ela ed echnologies.
obse a ion seman ics and sampled da a. Di e en spa ial and empo al esolu ions a e sup-
po ed bu ans o ma ions a e a use ma e . The unde lying objec o ien ed da a modeling
app oach wi h XML encodings is well known. Howe e , nes ed s uc u es a e equi ed o sup-
po sampled da a. Decla a i e da a p ocessing is no suppo ed a all as WPS jus p o ides
means o emo e p ocedu e calls.
2.3.2 Obse a ion Da a Models
Beyond he abo e O&M OGC s anda ds, se e al da a models and on ologies ha e been p o-
posed o suppo obse a ion da a seman ics [20, 29, 72]. They a e based on well known
pa adigms and p o ide obse a ion da a seman ics wi h simple da a modeling app oaches.
2.3. Da a Analysis Sys ems 35
Howe e , sampled da a and mul i- esolu ion is ou o he scope o hese models as well as any
kind o da a p ocessing.
2.3.3 Geog aphic In o ma ion Sys ems (GIS)
Cu en ly, a wide a ie y o GIS ools, bo h wi h comme cial and open sou ce licenses, a e
a ailable. A ep esen a i e example o hem is GRASS [81], which suppo s he managemen
o any kind o geog aphic da a, including as e s, eco ded in many di e en well known mod-
els and o ma s. Ras e da a managemen is usually o malized wi h ele an as e algeb as
[24]. Obse a ion seman ics a e no conside ed in GIS and al hough he managed da a may
ha e many di e en spa ial esolu ions, ans o ma ions be ween hem ha e o be explici ly
done by he use o pe o m ope a ions. Spa ial da a p ocessing is a s eng h o ools like
GRASS. Howe e , i is pe o med by he execu ion o a e y la ge amoun o di e en com-
mands. The e o e, a decla a i e language is missing. No ice ha he use mus know which
is he unc ionali y o each command and how o combine hem, hus only expe use s may
ake eal ad an age o spa ial da a analysis wi h GIS ools.
2.3.4 Senso S eam P ocessing App oaches
Va ious S eam P ocessing app oaches ha e been explici ly p oposed o he managemen o
da a gene a ed by senso ne wo ks [40, 71]. Al hough hey we e de ined o senso da a man-
agemen , obse a ion da a seman ics a e no explici ly inco po a ed and a e delega ed o use
in e p e a ion. Any kind o spa ial da a managemen is ou o he scope o hese app oaches.
They suppo decla a i e eal- ime p ocessing o s eams wi h agg ega ion unc ionali y based
on SQL like languages. Real- ime equi emen s o hese app oaches a e clea ly in con lic
wi h he suppo o i e a i e p ocessing.
2.3.5 Spa ial and Spa io-Tempo al DBMSs
Many empo al ex ensions ha e been p oposed o he classical ela ional model [33, 91].
Recen ly, some cha ac e is ics ha e been inco po a ed in o ISO SQL s anda d [64]. Va ious
spa ial [46, 68, 98] and spa io- empo al [47, 104] ex ensions o classical models ha e been
p oposed in he li e a u e. Spa ial unc ionali y has al eady been added o ISO SQL s anda d
[58], which is cu en ly implemen ed by mos o he a ailable DBMSs (see [83] o an ex-
ample). Di ec suppo o obse a ion seman ics is ou o he scope o spa ial DBMSs. They
42 Chap e 2. Backg ound and ela ed wo k
Figu e 2.2: A chi ec u e o Spa ialHadoop.
sou ce: Eldawy and Mokbel, in ICDE, 2015 [37].
2.4.2 Spa ialHadoop
Spa ialHadoop [37] is a MapReduce amewo k wi h na i e suppo o spa ial da a. Unlike
p e ious app oaches (e.g., Pa allel-Secondo [69], M D-HBase [82], Hadoop GIS), Spa ial-
Hadoop do no ely on Hadoop as a black box. Such a di e en app oach p e en s Spa ial-
Hadoop om su e ing he limi a ions and pe o mance bo lenecks o Hadoop. The main
a ibu es ha allow Spa ialHadoop o o e come he limi a ions o p e ious app oaches a e
de ailed below.
– P o ision o buil -in code. Spa ialHadoop code is buil inside he Hadoop base code o
ex end Hadoop co e wi h spa ial da a unc ionali y. This ea u e allows Spa ialHadoop
o be mo e powe ul and e icien han p e ious solu ions.
– Suppo o skewed spa ial da a dis ibu ions by implemen ing a se o spa ial index
s uc u es.
– Use s a e enabled o de elop a huge amoun o spa ial unc ions, e.g, spa ial join, ange
que ies.
As shown in Fig. 2.2, he Spa ialHadoop a chi ec u e is di ided in o ou main laye s. A
de ailed desc ip ion o each laye is p o ided below.

2.4. Dis ibu ed Spa ial Da a P ocessing Sys ems 43
Language Laye . A no el high le el SQL-based language, called Pigeon [36], is im-
plemen ed in his laye . Se e al languages ha e been ecen ly de ined o educe coding e o
when wo king wi h MapReduce-based pa adigms, e.g., Hi eQL [52], Pig La in [85], SCOPE
[112], and YSma [65]. Pigeon is an ex ension o Pig La in p o iding OGC-complian spa ial
da a ypes, unc ions and ope a ions. S anda d spa ial da a ypes (e.g., Poin ,LineS ing,
and Polygon) a e suppo ed. Use -de ined unc ions (UDFs) a e ha nessed o de ine spa ial
agg ega ions (e.g., Union), spa ial p edica es (e.g., O e laps), and o he spa ial unc ions
(e.g., Bu e ). A new kNN (knea es neighbo s) s a emen has been added o suppo kNN-
que ies. In addi ion, wo Pig La in s a emen s ha e been o e idden. Spa ialHadoop o e ides
he Fil e s a emen o suppo ange que ies, and he Join s a emen o suppo spa ial
joins.
S o age Laye . As poin ed ou in [37], se e al challenges a ise when applying adi-
ional spa ial indexes (e.g., G id ile, R- ee [48]) in Hadoop. To o e come hese limi a ions,
Spa ialHadoop ollows a wo-laye indexing app oach. A global index, s o ed in he mas e
node, allows Spa ialHadoop o spli da a ac oss a se o pa i ions s o ed in sla e nodes. A
local index, s o ed in each pa i ion, enables local da a o be a anged. Rega dless o he un-
de lying spa ial index s uc u e, Spa ialHadoop de ines an index building algo i hm composed
o h ee main phases.
1. Pa i ioning. Spa ial pa i ioning o he inpu ile in o npa i ions pe o med h ough
he ollowing s eps.
a) Compu e he numbe o pa i ions, n.
b) De ine pa i ion bounda ies, i.e., he spa ial a ea co e ed by each single pa i ion.
This p ocess s ongly depends on he unde lying index being cons uc ed.
c) Pe o m he physical pa i ion o he inpu ile, gi en he abo e pa i ion bound-
a ies, h ough a MapReduce job.
2. Local Indexing. A educe unc ion is used o build a local index on he s o ed da a o
each physical pa i ion. To make his happen, he educe unc ion s o es he eco ds o
each pa i ion in a spa ial index, w i en in a local index ile.
3. Global Indexing. Once local indexing is pe o med, he mas e node builds a global
index ha indexes all pa i ions. Fi s , conca ena es all local index iles in o one inal
44 Chap e 2. Backg ound and ela ed wo k
Figu e 2.3: Map phase in Hadoop and Spa ialHadoop.
sou ce: Eldawy and Mokbel, in ICDE, 2015 [37].
indexed ile. Second, indexes all ile blocks using hei ec angula bounda ies as he
index key o build he in-memo y global index.
MapReduce Laye . This laye is esponsible o unning he MapReduce jobs ha p o-
cess he equi ed que ies. Fig. 2.3 shows he Map phase o he MapReduce plan in bo h
Hadoop and Spa ialHadoop, highligh ing he di e ences be ween hem. In Hadoop, he File-
Spli e akes he inpu ile and di ides he da a in o nspli s, whe e nis de e mined based on
he numbe o a ailable sla e nodes. Then, he Reco dReade ex ac s eco ds as key- alue
pai s and passes hem o he Map unc ion. Spa ialHadoop en iches adi ional Hadoop sys-
ems modi ying he FileSpli e and Reco dReade componen s. The new Spa ialFileSpli e
ea ly p unes ile blocks no con ibu ing o he answe and gene a es da a spli s by exploi ing
he global spa ial index s o ed on inpu iles. And he new Spa ialReco dReade e icien ly
p ocess he p e ious spli s using local indexes.
Ope a ions Laye . The language laye is p o ided wi h a my iad o spa ial ope a ions
(e.g., ange que ies,kNN-que ies,spa ial joins). The ope a ions laye is esponsible o he
e icien implemen a ion o all hese spa ial ope a ions.
2.4. Dis ibu ed Spa ial Da a P ocessing Sys ems 45
2.4.3 Spa ialSpa k
Spa ialSpa k [107] is a p o o ype sys em o p ocess la ge-scale spa ial join que ies o e Spa k,
and suppo s indexed spa ial joins based on poin -in-polygon es and poin - o-polyline dis-
ance compu a ion. The ollowing main goals ha e been de ined o Spa ialSpa k.
– Iden i y limi a ions and ad an ages o Spa k o spa ial da a p ocessing in clus e en i-
onmen s om an a chi ec u al poin o iew.
– De e mine he po en ial pe o mance o mode n ha dwa e o la ge-scale spa ial join
que y p ocessing.
Di e en indexing echniques o spa ial il e ing ha e been implemen ed in Spa ialSpa k.
Fo spa ial e inemen , Spa ialSpa k elies on he well known Ja a Topology Sui e (JTS) pack-
age [60]. To make Spa ialSpa k compa ible wi h Hadoop-based sys ems, s ings a e used o
ep esen geome ies. Al hough highe e iciency could be possible by ep esen ing geome-
ies as bina y, a oiding s ing pai ing o e heads and allowing lexible disk accesses, his
op ion is le o u u e wo k in Spa ialSpa k. As all in e media e da a a e memo y esiden
in Spa k, highe pe o mance is achie ed in Spa ialSpa k by minimizing expensi e disk I/Os,
and u ilizing ine g ained da a pa allelism.
2.4.4 GeoSpa k
GeoSpa k [108] is an in-memo y clus e compu ing amewo k o p ocessing la ge-scale spa-
ial da a, p o iding suppo o spa ial da a ypes, indexes, and ope a ions by ex ending he
co e o Spa k. Speci ically, GeoSpa k enhances he esilien dis ibu ed da ase s (RDDs) o
suppo spa ial da a (SRDDs). The key ea u es o GeoSpa k a e he ollowing.
– Suppo o loading, p ocessing, and analyzing la ge-scale spa ial da a o e Spa k.
– Suppo o geome ical and dis ance ope a ions is gi en by he de ini ion o a se o
SRDD ypes, e.g., Poin RDD and PolygonRDD. Mo eo e , Spa k p og amme s may
easily de elop spa ial analysis applica ions by using he Applica ion P og amming In-
e ace (API) p o ided by SRDDs.
– Suppo o di e en global spa ial da a indexing echniques. Inpu SRDDs a e pa -
i ioned using a g id s uc u e. Then, hese esul ing g ids a e assigned o compu ing
machines o pa allel execu ion.
46 Chap e 2. Backg ound and ela ed wo k
Figu e 2.4: A chi ec u e o GeoSpa k.
sou ce: Yu e ál., in P oc. SIGSPATIAL, 2015 [108].
The a chi ec u e o GeoSpa k is composed o h ee laye s, as depic ed in Fig. 2.4. Apache
Spa k Laye se es as he basis whe e GeoSpa k is buil on, Spa ial RDD Laye p o ides
suppo o geome ical and spa ial objec s and ope a ions, and Spa ial Que y P ocessing
Laye execu es e icien spa ial que y p ocessing algo i hms.
Apache Spa k Laye . Comp ises he basic unc ions na i ely p o ided by Spa k such
as loading/s o ing da a om/ o pe sis en s o age and egula RDD ope a ions.
Spa ial RDD Laye . E icien pa i ion o spa ial da a elemen s ac oss clus e nodes is
enabled by he de ini ion o he ex ended spa ial e sion o he Spa k RDD. To w i e spa ial
da a analy ics applica ions, no el pa allelized spa ial ans o ma ions and ac ions in SRDDs
p o ide use s wi h an in ui i e in e ace. Main ea u es o his laye a e poin ed ou below.
–Spa ial Objec s. Th ee new SRDDs (Poin RDD,Rec angleRDD, and PolygonRDD),
implemen ed in his laye , allow he s o age o di e en spa ial objec s. Fu he mo e,
GeoSpa k p o ides a Geome ical Ope a ions Lib a y which na i ely suppo s geome -
ical ope a ions such as O e lap(),MinimumBoundingRec angle()and Union().
–SRDD Pa i ioning. GeoSpa k au oma ically pa i ions e e y SRDD using a global g id
ile. The algo i hm o pa i ioning he SRDDs is as ollows. Fi s , a global g id ile
2.4. Dis ibu ed Spa ial Da a P ocessing Sys ems 47
is c ea ed by spli ing he spa ial space in o a numbe o equal geog aphical size g id
cells. Then, each elemen in he SRDD is assigned o e e y o e lapping g id cell, i.e.,
i an elemen in e sec s wi h wo o mo e g id cells, i is duplica ed and di e en g id
IDs a e assigned o i s copies.
–SRDD Indexing.Spa ial IndexRDDs which inhe i om SRDDs a e implemen ed in
GeoSpa k o p o ide spa ial indexes such as Quad-T ee [39] and R-T ee [48]. Fu he -
mo e, a local spa ial index may be adap i ely c ea ed on a SRDD pa i ion o ind an
op imal ade-o be ween he un ime pe o mance and he memo y/cpu usage in he
clus e .
Spa ial Que y P ocessing Laye . Once geome ical objec s a e p e-p ocessed and s o -
ed in he Spa ial RDD Laye , use s may in oke spa ial que ies (e.g., Range Que y,Join Que y)
suppo ed by his laye o e la ge-scale spa ial da ase s. Que y execu ion is pa allelized in
GeoSpa k by using ea u es such as pa i ioned SRDDs, spa ial indexing, and as in-memo y
compu a ion. GeoSpa k’s algo i hms o spa ial ange, spa ial join, and kNN que ies a e de-
sc ibed as ollows.
–Spa ial Range Que y. The ange que y algo i hm is execu ed by GeoSpa k ollowing
he s eps below.
1: Load a ge da ase
2: Pa i ion da a
3: C ea e a spa ial index on each SRDD pa i ion (op ional)
4: B oadcas he que y window o each SRDD pa i ion
5: Check he spa ial p edica e in each pa i ion
6: Remo e duplica e spa ial objec s gene a ed in da a pa i ioning phase
–Spa ial Join Que y. The algo i hm o p ocessing spa ial join que ies in GeoSpa k is
gi en below.

48 Chap e 2. Backg ound and ela ed wo k
1: Load wo inpu SRDDs
2: Pa i ion da a
3: C ea e a spa ial index on each SRDD pa i ion (op ional)
4: Join he wo SRDDs by hei keys (g id IDs)
5: Calcula e spa ial ela ions o spa ial objec s ha ha e he same g id ID
6: Keep in he inal esul s only he elemen s sa is ying he spa ial ela ion
7: G oup esul s by g id ID
8: Remo e duplica e esul s
–Spa ial kNN Que y. GeoSpa k implemen s he ollowing heap based op-k algo i hm
[87] o p ocess spa ial kNN que ies.
1: Load a pa i ioned SRDD (pSRDD), a poin (P), and a numbe (k)
2: o pa i ion in pSRDD do
3: Calcula e dis ances om he gi en poin P o e e y objec wi hin pa i ion
4: Main ain a local heap con aining he nea es kobjec s a ound he poin Pbased
on he calcula ed dis ances
5: end o
6: Me ge esul s om each pa i ion
2.4.5 GeoT ellis
Geo ellis [43] is a high pe o mance geop ocessing engine and p og amming oolki . The
main objec i e o GeoT ellis is he inco po a ion o geospa ial analysis unc ionali ies o eal
ime in e ac i e web applica ions. Focused on as e da a p ocessing, he ollowing co e p ob-
lems a e behind he de elopmen o GeoT ellis.
– C ea e scalable high pe o mance geop ecessing web se ices.
– Pa allelize geop ocessing ope a ions o ha ness mul i-co e a chi ec u es.
– C ea e la ge-scale dis ibu ed geop ocessing se ices.
GeoT ellis helps de elope s o c ea e simple, s anda d REST [38] se ices ha e u n
geop ocessing models esul s. These geop ocessing models a e au oma ically pa allelized
and op imized. Bo h c ea ing new ope a o s and composing new ope a o s wi h exis ing ones
a e easy asks in GeoT ellis.
2.4. Dis ibu ed Spa ial Da a P ocessing Sys ems 49
2.4.6 Magellan
Magellan [73] is a dis ibu ed execu ion engine o geospa ial analy ics on big da a imple-
men ed on op o Spa k. Mode n da abase echniques a e exploi ed o op imize geospa ial
que ies. Once he applica ion de elope has w i en s anda d SQL o da a ame que ies
o e alua e geome ic exp essions, he execu ion engine e icien ly lays da a ou in mem-
o y, picks he igh que y plan, and op imizes he que y execu ion wi h e icien spa ial in-
dexes. Magellan suppo s mul iple spa ial da a ypes (e.g., Poin ,LineS ing,Polygon,
Mul iPoin ,Mul iPolygon) and se e al spa ial p edica es (e.g., In e sec s,Con ains,
Wi hin). Spa ial indexes in Magellan suppo he so called Z-O de cu es [49] and a e
mainly used o speed up he spa ial join pe o mance.
2.4.7 Loca ionSpa k
Loca ionSpa k [95] is a spa ial da a p ocessing sys em buil as a lib a y on op o Spa k,
p o iding spa ial que y APIs on op o he s anda d da a low ope a o s. The main ea u es o
Loca ionSpa k a e shown nex .
– Suppo o spa ial que ying, spa ial da a upda es, and spa ial analy ics. A ich se o
spa ial que y ope a o s (e.g., spa ial ange,spa ial kNN,spa ial join, and kNN join) is
p o ided. Loca ionSpa k suppo s da a upda es and spa io- ex ual ope a ions. Mo e-
o e , spa ial da a analysis unc ions such as spa ial da a clus e ing, spa ial da a skyline
compu a ion, and spa io- ex ual opic summa iza ion a e p o ided by Loca ionSpa k.
– Suppo o global and local in-memo y spa ial da a indexes. Fu he mo e, an e icien
spa ial Bloom il e has been embedded in o Loca ionSpa k’s indexes o a oid unnec-
essa y ne wo k communica ion o e head.
– T acking o equen ly accessed spa ial da a and dynamic lushing o less equen ly
accessed da a in o disk.
– S o ing spa ial da a as key- alue pai s, whe e he key is a spa ial geome ic key (e.g.,
la i ude-longi ude alue, line segmen , polyline, ec angle, polygon) and he alue ype
can be speci ied by he use (e.g., ex ype).
The laye ed sys em a chi ec u e o Loca ionSpa k is depic ed in Fig. 2.5. A de ailed dis-
cussion o main laye s o such a chi ec u e is p o ided below.
50 Chap e 2. Backg ound and ela ed wo k
Figu e 2.5: A chi ec u e o Loca ionSpa k.
sou ce: Tang e ál., in P oc. VLDB Endow., 2016 [95].
Que y Schedule . This laye is esponsible o managing que y skew7 o mi iga e un-
ime pe o mance deg ada ion o spa ial que ies. Fi s , Loca ionSpa k dynamically collec s
s a is ical in o ma ion om each pa i ion and de ec s ho spo da a pa i ions. Then, in o de o
choose a se o pa i ions o be u he ealloca ed o op imal wo ke s, a cos model e alua es
he o e head o epa i ioning he ho spo pa i ions.
Que y Execu o . Speci ic que y e alua ion plans a e execu ed in sla e nodes once spa-
ial que ies and ela ed da a ha e been scheduled. Fo a ious al e na i e execu ion plans,
Loca ionSpa k e alua es he un ime and memo y usage ade-o s. The bes execu ion plan
is selec ed and execu ed on each sla e node.
Spa ial Indexing. Two laye s o spa ial indexes (global and local) a e p o ided by Lo-
ca ionSpa k. The global index is esponsible o pa i ioning da a among wo ke nodes. Based
on he unde lying da a dis ibu ion in space, he global index is buil o ensu e ha each da a
pa i ion has he same amoun o da a. A g id index and a egion Quad- ee a e p o ided
as global indexes in Loca ionSpa k. Fu he mo e, o ma ch he needs o di e en scena ios,
use s can speci y he ype o he local index (e.g., g id local index, R- ee, a a ian o he
Quad- ee, o an IR- ee) o be execu ed on each da a pa i ion.
7Simila ly o da a skew, que y skew occu s in a dis ibu ed compu ing en i onmen when some que ies a e
une enly dis ibu ed in space and a numbe o da a pa i ions a e o e whelmed.
2.4. Dis ibu ed Spa ial Da a P ocessing Sys ems 51
Memo y Managemen . I is e y common o spa ial da a analysis sys ems ha ce ain
pa i ions a e que ied mo e equen ly han o he s. To deal wi h his issue, Loca ionSpa k
eco ds access equencies and co esponding ime s amps in he spa ial index. Then, access
equencies a e agg ega ed o de ec he mos equen ly accessed da a. Finally, he mos
equen ly accessed da a is cached in o memo y and he less equen ly used da a is s o ed
in o disk.
2.4.8 Simba
Simba [106] is a scalable dis ibu ed in-memo y analy ics engine suppo ing e icien spa ial
que ies and analy ics o e big spa ial da a. The main objec i es o Simba a e poin ed ou
below:
– Simple and exp essi e p og amming in e aces.
– Low que y la ency.
– High analy ics h oughpu .
– Excellen scalabili y.
Nex , key ea u es o Simba a e highligh ed:
– Suppo o ich spa ial que ies and analy ics by ex ending Spa k SQL [14] wi h co e
spa ial ope a ions. An exp essi e p og amming in e ace o hese ope a ions is o e ed
in bo h SQL and Da aF ame API.
– Suppo o spa ial indexing o p o ide low que y la ency.
– Execu ion o mul iple spa ial que ies in pa allel o imp o e analy ical h oughpu .
– Selec ion o good spa ial que y plans by using cos -based op imiza ions (CBO).
– Supply o no el algo i hms o e icien and scalable execu ion o spa ial ope a o s.
The a chi ec u e o Simba, depic ed in Fig. 2.6, shows he no el componen s added o he
Apache Spa k s ack. A b ie explana ion o hese componen s is p o ided below.

CHAPTER 3
GEODADIS
3.1 In oduc ion
Acco ding o he In e na ional Ene gy Agency (IEA), ene gy e iciency is “a mains eam ool
o economic and social de elopmen ”, wi h po en ial “ o suppo economic g ow h, enhance
social de elopmen , ad ance en i onmen al sus ainabili y, ensu e ene gy-sys em secu i y and
help build p ospe i y” [4]. To each a signi ican imp o emen o ene gy e iciency in ish-
ing essels, he G een Fish p ojec 1[11] a emp ed o cha ac e ize he gene a ion and con-
sump ion o ene gy du ing ishing ac i i ies. Di e en da a acquisi ion sys ems [102] we e
de eloped and deployed in se e al ishing essels.
To le e age he backg ound on designing and deploying he p e ious da a acquisi ion
sys ems, GeoDADIS [100] enables da a acquisi ion and da a dissemina ion in in-si u senso
pla o ms. A wide ange o echnologies mus be suppo ed o da a dissemina ion asks. Da a
acquisi ion mus ul ill he ollowing equi emen s.
– Any senso ype mus be suppo ed.
– Any communica ion channel ype mus be suppo ed.
– Addi ion o new senso s and new communica ion channels wi h a minimum e o .
The e o equi ed o add new senso s ha measu e new pa ame e s h ough new da a
acquisi ion channels mus be minimum. Bo h synch onous and asynch onous da a acquisi ion
1Founded by he Spanish and Galician public adminis a ions.
60 Chap e 3. GeoDADIS
channels mus be suppo ed. Fo he o me , measu es a e pulled om he senso s by he
amewo k. Fo he la e , senso s push measu emen s o he amewo k. Two special da a
acquisi ion channels used o (1) p o ide he geog aphic loca ion o he pla o m and (2) syn-
ch onize he clock, mus be speci ied by he sys em con igu a ion. Fu he mo e, addi ional
me ada a mus be s o ed in sys em con igu a ion o enable he speci ica ion o he ange o
his o ic eco ded measu emen s and he equency o he sampling p ocess, o each obse ed
pa ame e .
Bo h clien /se e (i.e., se ices que y he amewo k o pull da a) and publish/subsc ibe
(i.e., he amewo k pushes da a o he se ices) da a se ices mus be suppo ed. Simila ly
o da a acquisi ion channels, a minimum e o in he implemen a ion o new da a se ices is
equi ed. New emo e adminis a ion se ices mus be implemen ed wi h a minimum e o
as well.
A minimum e o is also equi ed in he implemen a ion o new da a s o age echnolo-
gies o dis inc measu ed pa ame e s. No ice o example he di e en s o age capabili ies
equi ed by a single empe a u e alue and a complex sa elli e image.
The emainde o his Chap e is o ganized as ollows. Sec ion 3.2 p o ides a de ailed
desc ip ion o he gene al laye ed a chi ec u e o GeoDADIS, in oducing he ele an unc-
ionali y o each laye and co esponding componen s. An in-dep h desc ip ion o main com-
ponen s o GeoDADIS a chi ec u e is gi en in Sec ion 3.3. Thus, ele an de ails abou s uc-
u e and unc ionali y o componen s Da aDissemina ion, Da aAcquisi ion, Con igu a ion-
Manage and Da aManage a e p o ided in Sec ion 3.3.1, Sec ion 3.3.2, Sec ion 3.3.3, and
Sec ion 3.3.4, espec i ely. Finally, Sec ion 3.4 in oduces an expe imen al implemen a ion
o GeoDADIS de eloped o moni o people heal h s a us in educa ional en i onmen s.
3.2 Sys em A chi ec u e
The gene al componen a chi ec u e o GeoDADIS, Fig. 3.1, is composed o h ee main so -
wa e laye s. Gene al pu pose unc ionali y ela ed o sys em con ol, senso da a managemen
and con igu a ion me ada a managemen is p o ided by h ee main componen s in laye Da a
and Con ol Managemen .Da aManage p o ides pe sis en s o age unc ionali y equi ed by
componen Da aAcquisi ion and da a que y unc ionali y demanded by componen Da aDis-
semina ion. Componen Con igu a ionManage enables he emainde componen s o access
3.2. Sys em A chi ec u e 61
Remo eAdm
Da aDissemina ion
Da aSubsc ibe
iDa aDisQue y
Da aClien AdmClien
iRemo eCon ol
iDa aMan
Da aManage
iDa aDisPublish
Con igu a ionManage
iSysCon ol
DATA ACQUISITION
Da aAcquisi ion
Sys emCon ol
AsynchChannelManage SynchChannelManage
iDa aAcqInse
iS Re esh
iS amp
S ampManage
DATA AND CONTROL
MANAGEMENT
EXTERNAL
INTERACTION
Figu e 3.1: GeoDADIS componen a chi ec u e.
con igu a ion se ings. Func ionali y enabling o s a up, s op and es a di e en compo-
nen s is p o ided by Sys emCon ol.
Ex e nal da a acquisi ion channels enable he e ogeneous senso s o p o ide measu es o
he sampling p ocesses implemen ed in laye Da a Acquisi ion a he bo om o GeoDADIS
a chi ec u e, Fig. 3.1. Fo each measu ed pa ame e o each senso , adminis a ion s a con-
igu e bo h he ime ange and he equency o he sampling p ocess. Rega ding igge p op-
e ies o a ailable senso s, he p oposed a chi ec u e enables bo h he ime- igge ed app oach
(i.e., sampling equency is de e mined by he sys em) and he e en - igge ed app oach (i.e.,
senso s deli e measu es o be sampled independen ly o he sys em). As shown in Fig. 3.1,
62 Chap e 3. GeoDADIS
each da a acquisi ion channel mus be associa ed o an ex e nal channel manage componen .
AsynchChannelManage s enable he communica ion wi h e en - igge ed senso s whe eas
SynchChannelManage s enable o que y ime- igge ed senso a con igu ed sampling a e.
E e y new measu e gene a ed by an e en - igge ed senso is deli e ed o GeoDADIS by he
ele an AsynchChannelManage h ough he iDa aAcqInse in e ace. A bu e loca ed in
he Da aAcquisi ion componen empo a ily eco ds he las measu e o each senso . Geo-
DADIS que ies SynchChannelManage s o ime- igge ed senso s o sample new measu es
a ele an sampling a e. A spa io- empo al s amp (i.e,. a ime alue oge he wi h he ge-
og aphic loca ion o he pla o m) is eques ed o S ampManage h ough in e ace iS amp
o each sampled measu e. Then, in e ace iDa aMan o componen Da aManage is used o
deli e he sampled measu e and ele an ime s amp. Componen S ampManage pe iodi-
cally eques s he cu en alue o he spa io- empo al s amp by using he in e ace iS Re esh.
Loca ion and ime o s amps a e p o ided by senso s, hus ex e nal da a acquisi ion channels
mus be used o ob ain such alues. Con igu a ion da a p o ided by Con igu a ionManage
mus s o e he e esh a e and he da a acquisi ion channels used o ge he s amp componen s.
Use s and adminis a ion s a in e ac ion wi h GeoDADIS is enabled by he unc ionali y
p o ided by he laye Ex e nal In e ac ion. Componen Da aDissemina ion is esponsible o
he p ope communica ion be ween he Da aManage and he a ailable da a se ices. Two
di e en communica ion app oaches a e enabled he e. The clien /se e app oach enables
communica ion wi h Da aClien s whe eas publish/subsc ibe app oach is used in communica-
ion wi h Da aSubsc ibe s. No ice ha bo h Da aClien and Da aSubsc ibe da a se ices a e
ex e nal o GeoDADIS. In e ace iDa aDisQue y is used by Da aClien s o deli e que ies
o e s o ed measu es. Da aDissemina ion delega es such que ies o Da aManage h ough
in e ace iDa aMan. Componen Da aManage no i ies he componen Da aDissemina ion
h ough in e ace iDa aDisPublish e e y ime a new measu e is eco ded. Then, he new mea-
su e is deli e ed o app op ia e Da aSubsc ibe s which in u n may use in e ace iDa aDis-
Que y o eques que ies o e s o ed measu es. Con igu a ion and con ol unc ionali y is
p o ided o adminis a ion s a by componen Remo eAdmin which delega es ac ual eques s
o Con igu a ionManage and Sys emCon ol espec i ely.
3.3. Main Componen s 63
3.3 Main Componen s
P io o he de ailed desc ip ion o GeoDADIS’ main componen s, a b ie in oduc ion o h ee
well known design pa e ns [41] and how hey ela e o GeoDADIS is p o ided below.
–Single on pa e n: used o enable coo dina ed access o sha ed esou ces by es ic ing
he ins an ia ion o a class o only one objec . Con igu a ion da a, da a acquisi ion chan-
nels, da a se ices and con ol clien s a e examples o such esou ces in GeoDADIS.
–Adap e (w appe ) pa e n: ansla es one in e ace o one class in o a compa ible in e -
ace o enable he coope a ion o classes implemen ing di e en in e aces. GeoDADIS
uses adap e s o uni o mly access he speci ic in e aces o con ol clien s, da a se ices
and da a acquisi ion channels.
–Obse e (publish/subsc ibe ) pa e n: no i ies changes in he s a e o an objec (sub-
jec ) o a lis o objec s (obse e s). The publish/subsc ibe communica ion be ween
componen Da aDissemina ion and componen Da aSubsc ibe implemen s his pa -
e n in GeoDADIS.
3.3.1 Da aDissemina ion
Componen Da aDissemina ion combines he h ee abo e design pa e ns o p o ide lexi-
ble ex e nal da a access. Bo h da a clien s, ollowing a clien /se e app oach h ough he
iDa aDisQue y in e ace, and da a subsc ibe s, ollowing a publish/subsc ibe p o ocol, may
access he Da aDissemina ion componen . By using he Adap e design pa e n, he e o o
add a new da a se ice is es ic ed o he implemen a ion o a new da a subsc ibe o da a
clien adap e class. The Single on design pa e n is used o coo dina e he access o he a ail-
able da a se ices.
The main class o he componen (Da aSe icesManage ) implemen s he h ee in e aces
o Da aDissemina ion, Fig. 3.2. Pseudocode desc ibing he implemen a ion o ele an me h-
ods o he in e aces ha enable he que ying (iDa aDisQue y)and publishing (iDa aDisPub-
lish) o measu es is depic ed in he igu e as well. Me hods ge Pa ame e s and ge Measu es
o he in e ace iDa aDisQue y enable ex e nal da a se ice componen s o que y he eco ded
da a. Implemen a ion o such me hods is delega ed o ele an me hods o componen s Con-
igu a ionManage and Da aManage espec i ely. The implemen a ion o me hod publish-
Measu e o in e ace iDa aDisPublish, which is used by componen Da aManage o deli e

64 Chap e 3. GeoDADIS
iDa aSe iceAdap e
+s a Da aSe ice()
+s opDa aSe ice()
Da aSe icesManage
+ge Ins ance(): Da aSe icesManage
Da aClien Adap e Da aSubsc ibe Adap e
Da aSubsc ibe
iDa aDisPublish
+publishMeasu e(m: Measu eVO)
iDa aDisQue y
+ge Pa ame e s(): pa ame e VO[0..*]
+ge Measu es(pa amId: S ing, : STlFil e [0..1]): Measu eVO[0..*]
iCon Man
iDa aMan
Da aClien
iDa aSubsc ibe Adap e
+publishMeasu e(m: Measu eVO)
-ins ance
IDa aDisCon ol
-con Man
-da aMan
-da aSubsc ibe s 1..*
-pa amId
-da aSe ices
ge Pa ame e s(){
e u n (con Man.ge Pa ame e s());
}
ge Measu es(pa amId, ){
e u n (da aMan.ge Measu es(pa amId, ))
}
publishMeasu e(m){
pa amId=m.ge Pa am().ge Pa amId();
o each s in da aSubc ibe s[pa amId]{
s.publishMeasu e(m);
}
}
«in e ace»
«in e ace» «in e ace»
«in e ace»
«in e ace»
«in e ace»
«in e ace»
Figu e 3.2: UML Class Diag am o componen Da aDissemina ion.
measu es o app op ia e ex e nal da a subsc ibe s, ollows a combina ion o he Obse e and
Adap e design pa e ns. When a new measu e is ecei ed, Da aSe icesManage (subjec
class o he Obse e pa e n) uses he measu es’ pa amId o no i y app op ia e Da aSub-
sc ibe Adap e s (bo h Obse e class and Adap e class) by calling me hod publishMeasu e
o in e ace iDa aSubsc ibe Adap e . The lis o Da aSubsc ibe Adap e names o each
pa amId as well as he name o he Da aClien Adap e o each da a se ice is pa o he
componen con igu a ion me ada a. Adap e classes a e also equi ed o enable GeoDADIS
o access con ol unc ionali y (s a , es a and s op) o da a clien s.
3.3. Main Componen s 65
Da aAcqManage
+ge Ins ance(): Da aAcqManage
iDa aAcqInse
+inse Measu e(m: Measu eVO)
+inse Cu en Time( : TimeS amp)
+inse Cu en Loca ion(p: Poin )
AsynchChannelManage
« h ead»
Pa ame e Sample
-pa amId: S ing
-samplingIn e al: Floa
+Run()
+sample s
-pa amId
iS Re esh
+ge S amp(): S amp
iDa aMan -da aMan
iS amp
+ge Cu en S amp(): S amp
-s ampMan
iCon Man
-con Man
iDa aAcqCon ol
AsynchDa aAcqChannelAdap e
-ins ance
AsynchInpu Bu e
-cu en Time: TimeS amp
-cu en Loca ion: Poin
+ge Ins ance(): AsynchDa aReci e
+ge Measu e(pa am: pa amId): Measu eVO
+ge Cu en Time(): TimeS amp
+ge Cu en Loca ion(): Poin
Measu eComponen VO
-componen Name: S ing
-componen Value: Objec
-componen s
Measu eVO
-measu eTime: TimeS amp
-measu eLoca ion: Poin
-measu eSimpleValue: Objec
-componen Name
-measu es
-pa amId
AsynchDa aAcqChannel
SynchChannelManage
SynchDa aAcqChannel
-channelAdap e
SynchDa aAcqChannelAdap e
iSynchDa aAcqChannelAdap e
+ge Measu e(pa amId: S ing): Measu eVO
+ge Cu en Time(): TimeS amp
+ge Cu en Loca ion(): Poin
-ins ance
-bu e
iDa aAcqChannelAdap e
+da aChannelS a ()
+da aChannelS op() -dacChannels
-dacChannelId
-da aChannel
- imeSou ce
Abs ac Da aAcqChannel
+ge Measu e(pa amId: S ing): Measu eVO
+ge Cu en Time(): TimeS amp
+ge Cu en Loca ion(): Poin
-loca ionSou ce
ge S amp(){
s.se Time( imeSou ce.ge Cu en Time());
s.se Loca ion(loca ionSou ce.ge Cu en Loca ion()):
e u n(s);
}
Run(){
While( ue){
sleep(samplingIn e al);
m = da aChannel.ge Measu e(pa amId);
s = s ampMan.ge Cu en S amp();
m.se Time(s.ge Time());
m.se Pla o mLoca ion(s.ge Loca ion());
da aMan.inse Measu e(m);
}
}
«in e ace» «in e ace»
«in e ace»
«in e ace»
«in e ace»
«in e ace»
«in e ace»
«in e ace»
Figu e 3.3: UML Class Diag am o componen Da aAcquisi ion.
66 Chap e 3. GeoDADIS
3.3.2 Da aAcquisi ion
Componen Da aAcquisi ion p o ides gene al pu pose unc ionali y o enable da a acquisi-
ion o e bo h synch onous and asynch onous da a communica ion channels. Simila ly o
Da aDissemina ion componen , he e o o add a new channel is es ic ed o he implemen-
a ion o a new da a acquisi ion channel adap e class due o he use o he Adap e design
pa e n.
The unc ionali y o he Da aAcquisi ion componen (see Fig. 3.3 o a g aphical ep e-
sen a ion o i s in e nal s uc u e) is accessed h ough he Da aAcqManage class. In e ace
iDa aAcqCon ol p o ides componen con ol unc ionali y whe eas in e ace iS Re esh is
used o ob ain he cu en spa io- empo al s amp om he app op ia e da a acquisi ion chan-
nels. The implemen a ion o he class ollows a Single on design pa e n in o de o coo dina e
he concu en access o bo h he sampling h eads and he da a acquisi ion channels. As i is
shown in pseudocode gi en in he igu e o class Da aAcqManage , he implemen a ion o
me hod ge S amp o he in e ace iS Re esh access di ec ly he da a channels (class Abs ac -
Da aAcqChannel) con igu ed as loca ion and ime sou ces. Rega ding he da a acquisi ion
p ocess, each sensed pa ame e is sampled by a di e en Pa ame e Sample h ead. This im-
plemen a ion is also illus a ed wi h pseudocode in he igu e. Fi s , he h ead sleeps du ing a
gi en samplingIn e al ha is ob ained om he con igu a ion da a o he speci ic pa ame e .
A e waking up, he h ead uses i s da a acquisi ion channel, which is also ob ained om he
con igu a ion da a, o ob ain he nex measu e o he pa ame e . Nex , he cu en s amp ob-
ained om he iS amp in e ace is used o associa e cu en ime and loca ion o he measu e.
Finally, he s amped measu e is deli e ed o he componen Da aManage h ough in e ace
iDa aMan.
A da a acquisi ion channel (Abs ac Da aAcqChannel) may access measu es o ei he a
synch onous (SynchDa aAcqChannel) o an asynch onous (AsynchDa aAcqChannel) ex e -
nal channel manage componen . Measu es o synch onous channel manage s a e accessed
di ec ly h ough a ele an adap e class (SynchDa aAcqChannelAdap e ), which is ob ained
om con igu a ion da a and ha implemen s he in e ace iSynchDa aAcqChannelAdap e .
On he o he hand, measu es o asynch onous channel manage s a e ob ained om a bu e
(AsynchInpu Bu e ), ha is popula ed wi h he las measu e o each pa ame e h ough he
in e ace iDa aAcqInse . Coo dina ed access o he bu e is achie ed h ough he use o he
Single on design pa e n o i s implemen a ion. No ice ha an adap e class is s ill equi ed
3.3. Main Componen s 67
«in e ace»
iCon Man
Con igu a ionManage Facade
+ge Ins ance(): Con igu a ionManage Facade
-ins ance
Senso VO
-senso Id: S ing
-senso Name: Va cha
-senso Desc: S ing
DacqChannelVO
-dacqChannelId: S ing
-dacqChannelName: S ing
-dacqChannelDesc: S ing
-dacqChannelType: DacChannelType
-dacqChannelAdap e ClassName: S ing
-channel
1..*
Pa ame e VO
-pa amId: S ing
-pa amName: S ing
-pa amDesc: S ing
-samplingIn e al: Floa
- eco dRange: Floa
-da aAccessClass: S ing
-senso
1..*
Da aSe iceVO
-da aSe iceId: S ing
-da aSe iceName: S ing
-da aSe iceDesc: S ing
-da aSe iceType: Da aSe iceType
-da aSe iceAdap e ClassName: S ing
-pa ams
-pa amId
simplePa ame e VO
-uni s: S ing
-da aType: S ing
compoundPa ame e VO
pa amComponen VO
-componen Name: S ing
-uni s: S ing
-da aType: S ing
-componen s1..*
Da aSubsc ibe VO
«in e ace»
iCon ManCon ol
-dacqChannels
-dacqChannelId
-da aSe ices
-da aSe iceId
-pa ame e s
-pa amId
- imeSou ce
-locSou ce
Figu e 3.4: UML Class Diag am o componen Con igu a ionManage .
o asynch onous channel manage s in o de o access hei con ol unc ionali y (s a , s op
and es a ) om GeoDADIS.
74 Chap e 4. SODA Design
s o ed da a. Finally, equi ed ope a o s mus be de ined o ac ually pe o m he analysis asks
de ined by use s hough MAPAL que ies.
The emainde o his chap e is o ganized as ollows. Sec ion 4.2 is de o ed o he de -
ini ion o he Obse a ion Da a Wa ehouse in SODA. Spa io- empo al and obse a ion da a
models a e desc ibed in Sec ion 4.2.1 and Sec ion 4.2.2, espec i ely. The obse a ion da a
analysis sys em p oposed in SODA is explained in Sec ion 4.3. Fi s , MAPAL language is
ully desc ibed in Sec ion 4.3.1. Then, he p oposed syn ax o de ine in e nal p ocesses is
explained in Sec ion 4.3.2. Nex , Sec ion 4.3.3 de ines he equi ed ope a o s o pe o m ob-
se a ion da a analysis. And inally, Sec ion 4.3.4 shows an example o how a MAPAL que y
is ansla ed in o a sequence o SODA ope a o s.
4.2 Obse a ion Da a Wa ehouse
Based on gene al unc ionali ies o an obse a ion da a managemen sys em speci ied in Sec-
ion 1.2, an obse a ion da a wa ehouse should mee he ollowing equi emen s.
– Suppo o he ep esen a ion o da a coming om he in eg a ion o empo al, spa ial
and spa io- empo al samplings wi h classical E/R da a.
– Di ec suppo o obse a ion seman ics, h ough he ep esen a ion o app op ia e e-
qui ed me ada a (in oduced in Sec ion 1.1), mus be p o ided.
– Sys em da a ypes mus enable he ep esen a ion o empo al and spa ial da a wi h
pa ame ic esolu ion. Addi ionally, implici and explici cas ings should be p o ided
o ease he ans o ma ion be ween hese esolu ions.
F om he abo e equi emen s, an unde lying spa io- empo al da a model is i s de ined.
Capabili ies o his da a model go beyond hose o an obse a ion da a model and enable
he p ocessing o any ype o spa io- empo al da a. To build he de ini i e da a model o he
obse a ion da a wa ehouse, s uc u es o obse a ion me ada a a e hen added on op o such
unde lying da a model.
4.2.1 Spa io- empo al Da a Model
I is well known ha ela ional o malism applied o sampled da a p ocessing esul s in highly
ine icien app oaches. On he o he hand, unc ional models, which i well sampled da a,

4.2. Obse a ion Da a Wa ehouse 75
ha e al eady been used o manage E/R da a in he a ea o Func ional Da abases [45]. A no el
spa io- empo al da a model based on he well known ma hema ical concep o unc ion is de-
ined in his sec ion. De ini ion and s o age o a ious da a ypes (con en ional, empo al and
spa ial), unc ions o manipula e da a alues (In ensional Mappings), unc ions o eco d da a
alues (Ex ensional Mappings and Ex ensional MappingSe s), and da a single ons (Cons an s)
a e suppo ed.
Da a ypes
Con en ional da a ypes
They consis o he da a ypes usually suppo ed by gene al pu pose da a managemen
sys ems, including Boolean,CS ing ( a iable size cha ac e s ing), In ege , and Real. In sci-
en i ic applica ions, he use knowledge abou he p ecision and scale o nume ic da a is e y
impo an o choose he mos app op ia e physical ep esen a ion o eal numbe s. Hence,
a ixed poin nume ic ep esen a ion is suppo ed by he pa ame ic da a ype FixedP eci-
sion(P,S), wi h con en ional seman ics o P(p ecision, i.e., maximum o numbe o decimal
digi s) and S(scale, i.e., numbe o decimal digi s in he ac ional pa ). De aul and maxi-
mum alues o Pand Sa e sys em de ined: DP (de aul P), DS (de aul S), MP (maximum
P), and MS (maximum S). E e y alue No ype FixedP ecision(P, S) may be w i en in he
o m
N=n·10−S
whe e nis he in ege alue in he ange (−10P,10P) ha ac ually will be s o ed, oge he
wi h Pand S. Thus, Pde e mines he unde lying p imi i e1in ege da a ype used o s o e n.
Addi ionally, all da a ypes enable he ep esen a ion o a special unde ined alue deno ed
by ⊥.
Tempo al da a ypes
TimeIns an (R)
 =n·R|n∈Z;−10MP <n<10MP ∪{⊥}
1Conside ed p imi i e da a ypes a e: by e,sho ,in and long.
76 Chap e 4. SODA Design
n=0
n=-1
5 seconds
n=1 n=10MP-1n=-10MP+1
··· ···
R
1970/01/01
T 00:00:00.000Z
(a) TimeIns an (5).
n=0 n=1 n=2 n=17279
5 seconds
···
00:00:00.000
R
(b) Time(5).
Figu e 4.1: Example o TimeIns an (R) and Time(R) da a ypes whe e R=5s.
Time(R)
 =n·R|n∈Z; 0 ≤n·R<24 hou s ·3600 seconds
hou ∪{⊥}
Da e(R)
TimeIns an (86400)
The abo e empo al da a ypes ha e been de ined o enable he ep esen a ion o disc e e
mul i- esolu ion ime alues, whe e R( empo al esolu ion) is a alue o da a ype Double and
nis he co esponding index in he de ined empo al sampling. Simila ly o FixedP ecision
alues, only Rand n alues a e s o ed2. No ice ha he disc e e empo al alue 1=n1·R
ac ually ep esen s he con inuous ime in e al de ined by he ollowing se o ins an s
{ |n1·R≤ <(n1+1)·R}
The seman ics o a TimeIns an alue is a posi i e o nega i e ime shi in seconds om an
absolu e e e ence ime ins an , =0. The mos commonly used alue o his e e ence ime
ins an in cu en DBMS, and also in SODA, is 1970-01-01 T 00:00:00.000000Z.
The seman ics o a Time alue is a posi i e ime shi in seconds om a ela i e e e ence
ime ins an , =0. The alue used o his ime ins an in SODA is he beginning o each day
in ci il ime h oughou he wo ld, i.e., 00:00:00.000000.
As an example, he a ailable alues ha can be ep esen ed by da a ypes TimeIns an (5)
and Time(5) a e depic ed in Fig. 4.1(a) and Fig. 4.1(b), espec i ely.
2The p imi i e in ege da a ype used o s o e empo al alues is long.
4.2. Obse a ion Da a Wa ehouse 77
Spa ial da a ypes
Poin 1D(P,R)
x=nx·R|nx∈Z;−10P<nx<10P∪{⊥}
Poin 2D(P,R)
(x,y) = (nx·R,ny·R)|nx,ny∈Z;−10P<nx,ny<10P∪{⊥}
To enable use s o ep esen disc e e mul i- esolu ion spa ial alues, he abo e spa ial da a
ypes ha e been de ined, whe e P(p ecision) is o ype In ege and R(spa ial esolu ion) is
o ype Double. No ice ha he disc e e Poin 1D alue x1=n1·Rac ually ep esen s he
con inuous 1D spa ial in e al
x|x∈R;x1−R
2≤x<x1+R
2
and he disc e e Poin 2D alue (x1,y1)=(nx1·R,ny1·R) ep esen s he ollowing 2D ec angle
(x,y)|(x,y)∈R2;x1−R
2≤x<x1+R
2;y1−R
2≤y<y1+R
2
Simila ly o ime ins an alues, a Poin 1D alue is a 1D posi i e o nega i e spa ial shi
in me e s om a speci ic o igin poin , x=0. In ac , Poin 1D(P,R) da a ype de ines a 1D
spa ial sampling in Rand p o ides a 1D ca esian coo dina e sys em. Fig. 4.2 depic s easible
alues, nx, o Poin 1D(1,1) and Poin 1D(1,0.5).
Likewise, a Poin 2D alue is a posi i e o nega i e 2D spa ial shi in me e s om a spe-
ci ic o igin poin , x= (0,0).Poin 2D(P,R) da a ype de ines a 2D spa ial sampling in R2and
p o ides a 2D Ca esian coo dina e sys em. Fig. 4.3 depic s all possible alues, (nx,ny), o
Poin 2D(1,1) and Poin 2D(1,0.5).
Simila ly o p e ious da a ypes, only P,Rand in ege indexes nia e s o ed. As FixedP e-
cision alues, Pde e mines he unde lying p imi i e in ege da a ype used o s o e he in ege
index alue.
Geome ic da a ypes
Based on Poin 2D(P,R) da a ype and on he s anda d speci ica ion de ined in [58], he
ollowing da a ypes enable he modeling o geome ies in 2D euclidean spaces:
78 Chap e 4. SODA Design
x
0
-1 1
R2
xxxx xxx xx xx xx x x xx
0
3
2456 7 8 9
-2
-3-4
-5
-6-7-8
-9
-1
-2
-3-4
-5
-6-7-8-9 123 4 56 7 8 9
R1
- Poin 1D(1,0.5), R2=0.5m- Poin 1D(1,1), R1=1m
x
x
Figu e 4.2: Spa ial da a ypes Poin 1D(1,1) and Poin 1D(1,0.5).
–LineS ing(P,R): ec o polylines de ined by sequences o elemen s o Poin 2D(P,R).
–Polygon(P,R): ec o polygons, possibly wi h holes, whose bo de s a e de ined by se-
quences o elemen s o Poin 2D(P,R).
–Geome yCollec ion(P,R): he e ogeneous collec ions o geome ies o any o he ol-
lowing da a ypes: Poin 2D(P,R),Polyline(P,R) and Polygon(P,R).
–Mul iPoin (P,R): homogeneous collec ions o Poin 2D(P,R) geome ies.
–Mul iLineS ing(P,R): homogeneous collec ions o LineS ing(P,R) geome ies.
–Mul iPolygon(P,R): homogeneous collec ions o Polygon(P,R) geome ies.
–Geome y(P,R): abs ac ype ha enables he ep esen a ion o geome ies o geome y
collec ions o any o he abo e 2D da a ypes.
Da a S uc u es
The ollowing da a s uc u es, Dimensions,Ex ensional MappingSe s and Cons an s enable
he modeling and eco ding o spa io- empo al en i y and sampled da a.
Dimensions
ADimension is a ini e se o elemen s o a gi en da a ype. Mo e o mally, a Dimension
do e da a ype T, deno ed d:T, is de ined as a non-emp y ini e subse o T−{⊥}.Dimen-
sions may be de ined only o e con en ional, empo al and spa ial da a ypes, and no o e
geome ic da a ypes.
Tempo al and spa ial Samplings a e special cases o Dimensions o majo in e es o he
modeling o sampled spa io- empo al da a. Thus, i min and max a e wo alues o he same
4.2. Obse a ion Da a Wa ehouse 79
x
x
x
x
x
x
x
x
x
x
x
- Poin 2D(1,0.5), R2=0.5m- Poin 2D(1,1), R1=1m
x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx x
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
x xxxx xxx xx xx xx x x xx
(0,0)
(9,-9)(-9,-9)
(-9,9) (9,9)
(-9,9) (9,9)
(9,-9)(-9,-9)
R2
R1
Figu e 4.3: Spa ial da a ypes Poin 2D(1,1) and Poin 2D(1,0.5).
Time,TimeIns an ,Da e o Poin 1D da a ype Twhe e min <max, hen a 1D Sampling S om
min o max, deno ed S(min,max), is de ined as he ollowing Dimension o e T
S(min,max) = {s∈T|min ≤s≤max }
Likewise, i sm= (xm,ym)and sM= (xM,yM)a e wo alues o he same Poin 2D da a ype
Twhe e xm<xMand ym<yM, hen a 2D Sampling S om sm o sM, deno ed S(sm,sM), is
de ined as he ollowing Dimension o e T:
S(sm,sM) = {(x,y)∈T|xm≤x≤xM,ym≤y≤yM}

80 Chap e 4. SODA Design
No ice ha , in gene al, a Dimension is s o ed by he explici eco ding o each o i s ele-
men s. Howe e , Samplings a e implici ly eco ded by he s o age o hei limi and pa ame ic
alues.
Ex ensional MappingSe s
An Ex ensional MappingSe is a ini e se o mappings, Ex ensional Mappings, wi h a
common domain de ined by he Ca esian p oduc o Dimensions.
I d1,d2,...,dnis a sequence o no necessa ily dis inc Dimensions and Tis a da a ype,
hen an Ex ensional Mapping wi h signa u e M(d1,d2,...,dn):Tis de ined as a unc ion
M:d1,d2,...,dn→T.
An Ex ensional MappingSe wi h signa u e EM(d1,d2,...,dn|M1:T1,M2:T2,...,Mm:
Tm)is de ined as he ollowing ini e se o Ex ensional Mappings:
EM(d1,d2,...,dn|M1:T1,M2:T2, ... , Mm:Tm) =
{M1(d1,d2,...,dn):T1,M2(d1,d2,...,dn):T2, ... , Mm(d1,d2,...,dn):Tm}
An Ex ensional MappingSe EM is ex ensionally de ined by a ini e se o nes ed uples o
he o m (d,m), whe e d∈d1×d2×...×dnand m∈T1×T2×...×Tm.
Cons an s
ACons an C o ype T, deno ed by C:T, is de ined as an a omic alue o ype T.
Following a unc ional da abase app oach [45], Dimensions and Ex ensional MappingSe s
enable he modeling o En i ies and Rela ionships be ween hem. Hence o example, Dimen-
sions S a ionId and MunCode in Fig. 4.4 eco d iden i ie s and codes o wea he s a ions
and municipali ies, espec i ely. The emainde p ope ies o s a ions and municipali ies a e
modeled by ele an Ex ensional MappingSe s S a ion and Municipali y.
Beyond classical ER da a, his model in eg a es he ep esen a ion o empo al and spa ial
1D and 2D sampled da a. Fo example, Dimensions ObsDa a and Loc5m in Fig. 4.4 a e
espec i ely a empo al Sampling and a 2D spa ial Sampling. These Samplings a e used o
model he phenomenonTime o empe a u e, humidi y and wind speed obse a ions a each
wea he s a ion in Ex ensional MappingSe Obse a ion, and he geoloca ion o ele a ion
obse a ions in Ex ensional MappingSe Topo.
4.2. Obse a ion Da a Wa ehouse 81
2014/01/01
S a
2015/07/08
End
ObsDa e
P1
S a
PN
End
Loc5m
...
10092
10093
...
S a ionId
...
15077
15078
...
MunCode
S a ionId Name
S a ion
...
10092
10093
...
...
Pun a Candiei a
Malpica
...
Loc
...
P3
P4
...
S a ionId ObsDa e
Obse a ion
...
10092
10092
...
...
2014/01/01
2014/01/02
...
Tempe a u e
...
10.93
12.02
...
Humidi y
...
90
89
...
Wind Speed
...
19.13
15.66
...
MunCode
Municipali y
...
15077
15078
...
Name
...
San a Comba
San iago de Compos ela
...
Geo
...
PG1
PG2
...
Dimensions
MappingSe s
P4
P3
Loc5m Ele a ion
Topo
432.13
P1
P5
PN
...
... ...
...
P1
PN
Figu e 4.4: Da a S uc u es.
Image in Fig. 4.4 depic s he ollowing geoloca ed Ex ensional Mappings:S a ion.Loc
(g een s a ed loca ions), Municipali y.Geo ( ed line geome ies) and Topo.Ele a ion
(g ay-scale as e ).
In ensional Mappings
An In ensional Mapping is a unc ion de ined o e he a ailable da a ypes, ei he by an
algo i hm o an analy ical exp ession.
I T1,T2,...,Tnis a possibly emp y sequence o no necessa ily dis inc da a ypes and T
is also a da a ype, hen an In ensional Mapping wi h signa u e M(T1,T2,...,Tn):Tis de ined
as a unc ion M:T1,T2,...,Tn→T.
P imi i e in ensional mappings. De ined by algo i hms, p imi i e mappings may be
al eady inco po a ed in o he sys em o p o ided by he use h ough use -de ined unc ions.
82 Chap e 4. SODA Design
(9,-9)(-9,-9)
(-9,9) (9,9)
(0,0)
Figu e 4.5: Poin 2D Space Filling Cu e.
They include con en ional, empo al and spa ial unc ions like hose suppo ed by SQL and
ele an ex ensions [58]. Compa ison and a i hme ic ope a o s a e also suppo ed and de ined
e en o empo al and spa ial da a ypes. Fig. 4.5 depic s he speci ic space illing cu e used
in SODA o de ining a o al o de ing in Poin 2D da a ype. Implici ype cas ings a e au o-
ma ically applied be ween da a ypes o he same amily du ing he e alua ion o unc ions
and ope a ions. Fo illus a ion pu poses, p imi i e in ensional mappings de ined o all MA-
PAL da a ypes a e shown in Table 4.1. A comple e lis o in ensional mappings de ined o
speci ic da a ypes is p o ided in Appendix A.
A gumen da a ypes mus be compa ible o he unde lying ope a ion o unc ion o suc-
cess ully execu e each mapping. Thus, o e loaded mappings (i.e., di e en a gumen e sions
o each mapping) ha e been de ined o each da a ype in SODA. Fo ins ance, he o e loaded
mappings de ined in SODA o mapping equal(o1,o2)a e desc ibed below.
equal(Boolean b1,Boolean b2): e u ns he Boolean alue ue i (a∧b)∨(¯a∧¯
b).
equal(CS ing s1,CS ing s2): e u ns he Boolean alue ue i s1is lexicog aphically
equal o s2, i.e., ep esen s he same sequence o cha alues.
4.2. Obse a ion Da a Wa ehouse 83
P imi i e mapping Desc ip ion
dis inc (o1,o2)Re u ns ue i o16=o2and e u ns alse o he wise.
equal(o1,o2)Re u ns ue i o1=o2and e u ns alse o he wise.
ge Da aType(o)Re u ns he da a ype o o.
g ea e Than(o1,o2)Re u ns ue i o1>o2and e u ns alse o he wise.
g ea e ThanO EqualTo(o1,o2)Re u ns ue i o1≥o2and e u ns alse o he wise.
isDe ined(o)Re u ns ue i ois no null and e u ns alse o he -
wise.
lowe T han(o1,o2)Re u ns ue i o1<o2and e u ns alse o he wise.
lowe T hanO EqualTo(o1,o2)Re u ns ue i o1≤o2and e u ns alse o he wise.
se Unde ined(o)Se s o o null.
Table 4.1: Desc ip ion o p imi i e common mappings.
equal(Nume ic n1,Nume ic n2): e u ns he Boolean alue ue i n1and n2 ep esen he
same Nume ic alue. I n1and n2ha e di e en Nume ic da a ypes an implici cas ing
is applied be o e he compa ison ollowing he nex ules.
– i one a gumen (n ) is a Real alue and he o he a gumen (ni) is an In ege alue,
hen n is cas o an In ege alue yielding unc(n ).
– i one a gumen (n ) is a Real alue and he o he a gumen (n p) is a FixedP eci-
sion(P,S) alue, hen n p is cas o a Real alue.
– i one a gumen (ni) is an In ege alue and he o he a gumen (n p) is a Fixed-
P ecision(P,S) alue, hen n p is cas o an In ege alue yielding unc(n p).
equal(Tempo al 1,Tempo al 2): e u ns he Boolean alue ue i 1and 2 ep esen he
same Tempo al alue. I 1and 2ha e di e en Tempo al da a ypes o ha e he same
da a ype bu di e en esolu ion an implici cas ing is i s applied. No ice ha he
cas ing p ocess may in oduce unca ion e o s. Once bo h a gumen s ha e he same
da a ype and esolu ion, 1=i1·Rand 2=i2·R, he Boolean alue ue is e u ned i
and only i i1=i2. Rules o he implici cas ing a e de ailed below.
– i bo h a gumen s ha e he same Tempo al da a ype bu di e en esolu ion ( hus,
Da e da a ype does no apply he e), hen he a gumen wi h highe esolu ion is
90 Chap e 4. SODA Design
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema a ibu eFo mDe aul ="unquali ied" elemen Fo mDe aul ="quali ied"
a ge Namespace="es.usc.ci ius.de.soda.xoddl"
e sion="1.0.0" xmlns="es.usc.ci ius.de.soda.xoddl"
xmlns:xs="h p://www.w3.o g/2001/XMLSchema">
<xs:elemen name="Obse a ionSchema">
<xs:complexType>
<xs:sequence>
<xs:elemen name="P ocessType" ype="P ocessType_Type" maxOccu s="unbounded"/>
<xs:elemen name="Fea u eType" ype="Fea u eType_Type" maxOccu s="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:elemen >
<xs:complexType name="Fea u eType_Type" >
<xs:sequence>
<xs:elemen name="KeyP ope y" ype="KeyP ope y_Type" maxOccu s="unbounded"/>
<xs:elemen name="P ope y" ype="Fea u eP ope y_Type" minOccu s="0"
maxOccu s="unbounded"/>
</xs:sequence>
<xs:a ibu e name="name" ype="xs:QName" use=" equi ed"/>
</xs:complexType>
<xs:complexType name="P ocessType_Type" >
<xs:sequence>
<xs:elemen name="P ope y" ype="P ocessP ope yType" minOccu s="0"
maxOccu s="unbounded"/>
</xs:sequence>
<xs:a ibu e name="name" ype="xs:QName" use=" equi ed"/>
<xs:a ibu e name=" ype" ype="P ocessTypeEnum" use=" equi ed"/>
<xs:a ibu e name=" igge edBy" ype="T igge edByType" use=" equi ed"/>
<xs:a ibu e name=" imeResolu ion" ype="xs:s ing" use="op ional"/>
</xs:complexType>
<xs:simpleType name="P ocessTypeEnum">
<xs: es ic ion base="xs:s ing">
<xs:enume a ion alue="In e nal"/>
<xs:enume a ion alue="Ex e nal"/>
</xs: es ic ion>
</xs:simpleType>
<xs:simpleType name="T igge edByType">
<xs: es ic ion base="xs:s ing">
<xs:enume a ion alue="Time"/>
<xs:enume a ion alue="E en "/>
</xs: es ic ion>
</xs:simpleType>

4.2. Obse a ion Da a Wa ehouse 91
<xs:complexType name="KeyP ope yType">
<xs:a ibu e name="name" ype="xs:NCName" use="op ional"/>
<xs:a ibu e name=" ype" ype="xs:s ing" use="op ional"/>
<xs:a ibu e name="sampling" ype="xs:boolean" use="op ional" de aul =" alse"/>
</xs:complexType>
<xs:complexType name="Fea u eP ope yType">
<xs:a ibu e name="name" ype="xs:NCName" use=" equi ed"/>
<xs:a ibu e name=" ype" ype="xs:s ing" use=" equi ed"/>
<xs:a ibu e name="sou ceP ocessType" ype="xs:QName" use="op ional"/>
</xs:complexType>
<xs:complexType name="P ocessP ope yType">
<xs:a ibu e name="name" ype="xs:NCName" use=" equi ed"/>
<xs:a ibu e name=" ype" ype="xs:s ing" use=" equi ed"/>
</xs:complexType>
</xs:schema>
Code 4.1: XML schema de ini ion o XODDL.
A mo e de ailed desc ip ion o main elemen s in he obse a ion da a model, Fea u e Type
and P ocess Type (and associa ed Dimensions and Ex ensionalMappingSe s gene a ed o s o e
hei da a), a e p o ided below. The UML objec diag am o Fig. 4.9 shows a unning example
used o ease he unde s anding o he abo e concep s.
Fea u e Type
Fea u e Type has been de ined o enable he in eg a ed modeling o en i ies and samplings. In
he unning example, h ee Fea u e Types ha e been de ined.
Topo: used o model a geog aphic sampling. The spa ial Dimension o Topo is modeled by
Key P ope y Loc5m which de ines a sampling Dimension o da a ype Poin 2D(9,5).
The ele a ion abo e he sea le el a each poin o Loc5m is p o ided by Fea u e P ope y
Ele a ion.
Municipali y: used o model municipal en i ies. Each municipali y is uniquely iden i ied
by non sampling Key P ope y MunCode.Fea u e P ope ies Name and Geo p o ide he
name and geome y o each municipali y espec i ely.
S a ion: models me eo ological acili ies (en i ies). Simila ly o Municipali y, a Key
P ope y S a ionId uniquely iden i ies each me eo ological s a ion. Non obse ed
92 Chap e 4. SODA Design
: KeyP ope y
name = MunCode
da aType = CS ing
sampling = False
: Fea u eP ope y
name = Name
da aType = CS ing
: Fea u eP ope y
name = Geo
da aType = Mul iPolygon(9,0.01)
: Fea u eP ope y
name = Loca ion
da aType = Poin 2D(9,0.01)
: Fea u eP ope y
name = Name
da aType = CS ing
: Fea u eP ope y
name = Ele a ion
da aType = FixedP ecision(7,2)
: KeyP ope y
name = S a ionId
da aType = In ege
sampling = False
: Fea u eType
name = Municipali y
: Fea u eType
name = S a ion
: Fea u eType
name = Topo
: KeyP ope y
name = Loc5m
da aType = Poin 2D(9,5)
sampling = T ue
: Fea u eP ope y
name = Tempe a u e
da aType = Double
: P ocessType
name = Humidi yTempP obe
ype = Ex e nal
igge edBy = Time
imeResolu ion = 10 minu es
: P ocessP ope y
name = Desc ip ion
da aType = CS ing
: Fea u eP ope y
name = F os Ale
da aType = CS ing
: P ocessType
name = F os Con ol
ype = In e nal
igge edBy = E en
imeResolu ion = 10 minu es
: P ocessP ope y
name = Desc ip ion
da aType = CS ing
: Fea u eP ope y
name = Humidi y
da aType = In ege
: Fea u eP ope y
name = WindSpeed
da aType = Double
: P ocessType
name = Anemome e
ype = Ex enal
igge edBy = Time
imeResolu ion = 5 seconds
: P ocessP ope y
name = Desc ip ion
da aType = CS ing
Figu e 4.9: Running example (UML objec diag am)
p ope ies Name and Loca ion p o ide he name and loca ion o each s a ion. Ob-
se ed p ope ies Tempe a u e,Humidi y,WindSpeed and F os Ale model ob-
se ed alues p o ided by ele an obse a ion p ocesses. Tempe a u e and ela i e hu-
midi y obse a ions a e p o ided by an ex e nal p ocess o ype Humidi yTempP obe,
wind speed obse a ions a e p o ided by an ex e nal p ocess o ype Anemome e and
he os isk index o each wea he s a ion is gene a ed by an in e nal p ocess o ype
F os Con ol acco ding o empe a u e and ela i e humidi y obse a ion alues p o-
ided by an ex e nal p ocess o ype Humidi yTempP obe.
4.2. Obse a ion Da a Wa ehouse 93
A de ailed desc ip ion o Dimensions and Ex ensional MappingSe s gene a ed wi hin he
sys em o each Fea u e Type FT is p o ided below.
a) Le KP be a Key P ope y o da a ype DT . Di e en Dimensions will be gene a ed de-
pending on he alue o a ibu e sampling.
– i sampling= ue, a sampling Dimension FT.KP(lo,hi)is gene a ed, whe e lo and
hi o da a ype DT de ine he bounda ies o he gene a ed sampling.
– i sampling= alse, a non sampling Dimension FT.KP :DT is gene a ed.
The unning example gene a es he ollowing Dimensions:
Topo.Loc5m(lo:Poin 2D(9,5), hi:Poin 2D(9,5))
Municipali y.MunCode:CS ing
S a ion.S a ionId:In ege
No ice ha duplica e names a e no allowed, hus he name o he Fea u e Type is added
as a p e ix o he name o he ele an p ope y in o de o a oid name con lic s.
b) Le KP1,...,KPnbe he Key P ope ies o FT. The ollowing Ex ensional MappingSe is
also gene a ed
FT(FT.KP1,...,FT.KPn|M1:DT1,...,Mm:DTm)
whe e
Mi:DTi=FT.FPi(FT.KP1,...,FT.KPn):DTi
is he Ex ensional Mapping gene a ed o he non obse ed Fea u e P ope y FPio FT .
The Ex ensional MappingSe s gene a ed in he unning example a e he ollowing:
Topo(
Topo.Loc5m |
Ele a ion:FixedP ecision(7,2)
Municipali y(
Municipali y.MunCode |
Geo:Mul iPolygon(9,0.01))
S a ion(
S a ion.S a ionId |
Name:CS ing,
Loca ion:Poin 2D(9,0.01))
94 Chap e 4. SODA Design
Simila ly o Key P ope ies, he name o he Fea u e Type is added as a p e ix o he name
o he ele an Ex ensional Mapping o a oid name con lic s.
c) Le FP1:DT1,...,FPn:DTnbe he Fea u e P ope ies gene a ed by an obse a ion sou ce
p ocess o ype PT. Le KP1,...,KPnbe he Key P ope ies o FT. The ollowing Ex en-
sional MappingSe is s o ed o enable he eco ding o gene a ed obse a ion alues.
FT.PT(FT.KP1,...,FT.KPn,PT.Time |FP1:DT1,...,FPn:DTn,P ocess :In ege )
whe e
FPi:DTi=FPi(FT.KP1,...,FT.KPn,PT.Time):DTi
is he Ex ensional Mapping eco ding he obse a ion alues o FPi,
P ocess(FT.KP1,...,FT.KPn,PT.Time):In ege
eco ds he iden i ie o he speci ic obse a ion p ocess used a each ime ins an o gen-
e a e obse a ions, and
PT.Time
is a Dimension gene a ed by PT o s o e he ime ins an s o obse a ion alues.
In he unning example he ollowing Ex ensional MappingSe s a e gene a ed:
S a ion.Humidi yTempP obe(
S a ion.S a ionId,
Humidi yTempP obe.Time |
Tempe a u e:Double,
Humidi y:In ege ,
P ocess:In ege )
S a ion.Anemome e (
S a ion.S a ionId,
Anemome e .Time |
WindSpeed:Double,
P ocess:In ege )
S a ion.F os Con ol(
S a ion.S a ionId,
F os Con ol.Time |
F os Ale :CS ing,
P ocess:In ege )
4.2. Obse a ion Da a Wa ehouse 95
P ocess Type
Sou ce P ocesses me ada a o Obse ed P ope ies a e s o ed by P ocess Type objec s. Each
P ocess Type may be ei he Time- igge ed o E en - igge ed a a gi en imeResolu ion
R.Time- igge ed p ocesses gene a e Tempo al samplings a esolu ion R, i.e., a new ob-
se ed alue is gene a ed e e y Rseconds since lo o hi (lo and hi a e espec i ely he lowes
and highes TimeIns an (R) alues de ined in he sys em o obse a ion imes gene a ed by
he ele an p ocess). The seman ics o imeResolu ion in E en - igge ed p ocesses is
sligh ly di e en , meaning ha he ime a which he e en is i ed will be s o ed as a TimenIn-
s an (R) alue. In he unning example, p ocess Humidi yTempP obe gene a es empe a u e
and humidi y obse a ions e e y 10 minu es, whe eas p ocess Anemome e gene a es wind
speed obse a ions e e y 5 seconds. Owing o he ex e nal na u e o hese p ocesses, obse a-
ion alues mus be p o ided by ex e nal sys ems. On he con a y, in e nal F os Con ol
p ocess compu es he os isk alue acco ding o me eo ological obse a ions p o ided by
Humidi yTempP obe. To gene a e calcula ed Fea u e P ope ies, he sys em execu es in-
e nal p ocesses du ing ETL asks.
Fo each P ocess Type PT , he ollowing Dimensions and Ex ensional MappingSe s a e
eco ded.
a) Since he sou ceP ocess ha ac ually gene a es obse a ion alues o PT may change
o e ime, iden i ie s o such p ocesses a e au oma ically gene a ed by he sys em and
eco ded in a Dimension PT :In ege . No ice ha hese iden i ie s a e used in Ex ensional
Mappings P ocess, de ined in he abo e subsec ion, o iden i y he sou ceP ocess ha
gene a es each obse a ion. Following Dimensions a e gene a ed wi hin he sys em o
eco d all he equi ed p ocess iden i ie s in he unning example:
Humidi yTempP obe:In ege
Anemome e :In ege
F os Con ol:In ege
b) Le PP1,...,PPnbe he P ocess P ope ies o PT. The ollowing Ex ensional MappingSe
is eco ded
PT.P ope ies(dPT |M1:PPT1,...,Mn:PPTn)
whe e
dPT =PT :In ege

96 Chap e 4. SODA Design
is he Dimension o PT iden i ie s, and
Mi:PPTi=PT.PPi(PT):PPTi
is he Ex ensional Mapping ha enables he eco ding o he PPi alues o each PT in-
s ance.
Fo he unning example, he ollowing Ex ensional MappingSe s a e gene a ed:
Humidi yTempP obe.P ope ies(
Humidi yTempP obe |
Desc ip ion:CS ing)
Anemome e .P ope ies(
Anemome e |
Desc ip ion:CS ing)
F os Con ol.P ope ies(
F os Con ol |
Desc ip ion:CS ing)
c) I PT is a ime- igge ed P ocess o esolu ion R hen a Sampling
PT.Time(lo :TimeIns an (R),hi :TimeIns an (R))
is eco ded, whe e lo and hi a e espec i ely he lowes and highes ime ins an s con ig-
u ed in SODA o obse a ions gene a ed by PT . I PT is an e en - igge ed P ocess o
esolu ion R hen a non-sampling Dimension
PT.Time :TimeIns an
is s o ed. These Dimensions s o e he ime ins an assigned o each obse a ion alue
and a e, he e o e, added o he domain o he ele an Ex ensional MappingSe ha s o es
such obse a ion alues. As shown in he abo e subsec ion, Dimensions Humidi yTemp-
P obe.Time,Anemome e .Time and F os Con ol.Time ha e been added o he do-
main o Ex ensional MappingSe s S a ion.Humidi yTempP obe,S a ion.Anemo-
me e and S a ion.F os Con ol, espec i ely.
4.3 Obse a ion Da a Analysis
Gi en he abo e da a models o he ep esen a ion o bo h spa io- empo al and obse a ion
da a, a no el XML based language, called MAPAL (Mapping Analysis Language) is p o ided
4.3. Obse a ion Da a Analysis 97
o he analysis o he p oposed da a s uc u es. Such a language should ul ill he ollowing
equi emen s based on he gene ic unc ionali y o an obse a ion da a managemen sys em.
– Follow a decla a i e pa adigm.
– Suppo o OLAP o e la ge da a wa ehouses o spa ial obse a ion da a.
– Suppo he de ini ion o In e nal P ocesses.
– Suppo he in eg a ed analysis o bo h en i y da a and spa ial, empo al and spa io-
empo al sampled da a.
– Suppo o agg ega ion unc ionali y.
4.3.1 Mapping Analysis Language (MAPAL)
Owing o he unc ional na u e o he p oposed da a models, ex ensions o well known lan-
guages like SQL and XQue y canno be di ec ly used. Howe e , cons uc s o hese well
known languages a e used by he hyb id logical- unc ional pa adigm o MAPAL. The combi-
na ion o such cons uc s wi h he XML syn ax enables hei inse ion in cu en ly domina ing
web se ices in e aces. Th ee ypes o exp essions (Func ional,Condi ional and Agg ega e)
may be used o de ine de i ed Cons an s,In ensional Mappings and Ex ensional MappingSe s.
Addi ionally, Sampling and Dimension exp essions a e used o de ine de i ed Dimensions.
MAPAL syn ax and seman ics, wi h illus a i e examples, a e p o ided below.
The XML Schema de ini ion o MAPAL is shown in Code 4.2. No ice ha , o illus a ion
pu poses, pieces o code de ining Dimensions,In ensional Mappings,Cons an s and Ex en-
sional MappingSe s a e explained sepa a ely and co esponding e e ences ha e been inse ed
in Code 4.2.
An abs ac supe ype De ini ionType is de ined o encapsula e he equi ed common a -
ibu e name. As i is shown in ollowing code snippe s, all de ini ions ex end De ini ionType.
Ex e nalRe e enceType speci ies he syn ax equi ed o access inpu and ou pu da a channels
in o de o impo and expo Cons an s,Dimensions and Ex ensional MappingSe s. Two e-
qui ed a ibu es, da aChannel and name, ha e been de ined o speci y he da a channel and
he name o he Cons an ,Dimension o Ex ensional MappingSe in he da a channel, espec-
i ely. Code 4.3 shows he DimensionType schema ha enables he de ini ion o sampling and
non sampling Dimensions.Cons an Type schema ha enables he de ini ion o Cons an s is
depic ed in Code 4.4. In Code 4.5 he In ensionalMappingType schema ha enables he de i-
98 Chap e 4. SODA Design
<?xml e sion="1.0" encoding="UTF-8"?>
<xs:schema a ibu eFo mDe aul ="unquali ied"
elemen Fo mDe aul ="quali ied"
a ge Namespace="es.usc.ci ius.de.mapal"
e sion="1.0.0"
xmlns="es.usc.ci ius.de.mapal"
xmlns:xs="h p://www.w3.o g/2001/XMLSchema" >
<!-- ***************************** -->
<!-- DEFINITION -->
<!-- ***************************** -->
<xs:complexType abs ac =" ue" name="De ini ionType">
<xs:a ibu e name="name" ype="xs:NCName" use=" equi ed"/>
</xs:complexType>
<xs:elemen abs ac =" ue" name="De ini ion" ype="De ini ionType"/>
<!-- ***************************** -->
<!-- EXTERNAL REFERENCES -->
<!-- ***************************** -->
<xs:complexType name="Ex e nalRe e enceType">
<xs:a ibu e name="da aChannel" ype="xs:NCName" use=" equi ed"/>
<xs:a ibu e name="name" ype="xs:QName" use=" equi ed"/>
</xs:complexType>
<!-- DIMENSION DEFINITION: Code 4.3 -->
<!-- INTENSIONAL MAPPING DEFINITION: Code 4.5 -->
<!-- CONSTANT DEFINITION: Code 4.4 -->
<!-- EXTENSIONAL MAPPING DEFINITION: Code 4.6 -->
</xs:schema>
Code 4.2: XML schema de ini ion o MAPAL.
ni ion o In ensional Mappings is shown. Code 4.6 shows he Ex ensionalMappingSe Type
schema ha enables he de ini ion o Ex ensional MappingSe s.
Dimensions
DimensionType, Code 4.3, speci ies he syn ax o de ine Dimensions. Such Dimensions may
be de ined by using he elemen <Dimension>.DimensionType ex ends De ini ionType wi h
an op ional a ibu e s o eName. I his a ibu e is de ined, he Dimension is pe sis ed o disk
wi h he name s o eName and added o he sys em ca alog in o de o be accessible o subse-
quen ope a ions. No ice ha he common a ibu e name e e s o he name o he Dimension
in main memo y. The new gene a ed Dimension may be expo ed o a speci ic numbe o da a
channels by adding one op ional elemen <Ou pu > o ype Ex e nalRe e enceType o each
4.3. Obse a ion Da a Analysis 99
<xs:g oup name="DimensionSpeci ica ion">
<xs:sequence>
<xs:elemen name="Fo Each" ype="Fo EachType" maxOccu s="unbounded"/>
<xs:elemen name="Whe e" ype="xs:s ing" minOccu s="0"/>
<xs:elemen name="Re u n" ype="xs:s ing"/>
</xs:sequence>
</xs:g oup>
<xs:complexType name="Fo EachType">
<xs:simpleCon en >
<xs:ex ension base="xs:s ing">
<xs:a ibu e name=" a " ype="xs:NCName" use=" equi ed"/>
</xs:ex ension>
</xs:simpleCon en >
</xs:complexType>
<xs:complexType name="DimensionType">
<xs:complexCon en >
<xs:ex ension base="De ini ionType">
<xs:sequence>
<xs:choice>
<xs:elemen name="Inpu " ype="Ex e nalRe e enceType"/>
<xs:elemen name="Sampling" ype="SamplingSpeci ica ionType"/>
<xs:g oup e ="DimensionSpeci ica ion" />
</xs:choice>
</sequence>
<xs:a ibu e name="s o eName" ype="xs:QName" use="op ional"/>
</xs:ex ension>
</xs:complexCon en >
</xs:complexType>
<xs:elemen name="Dimension" subs i u ionG oup="De ini ion" ype="DimensionType"/>
<xs:complexType name="SamplingSpeci ica ionType">
<xs:sequence>
<xs:elemen name="S a " ype="xs:s ing"/>
<xs:elemen name="End" ype="xs:s ing"/>
</xs:sequence>
<xs:a ibu e name=" ype" ype="xs:s ing"/>
</xs:complexType>
Code 4.3: XML schema de ini ion o MAPAL Dimension.
ou pu da a channel. Fo he <Ou pu > elemen , da aChannel is he da a channel o which
he Dimension is expo ed and name is he s o age name o he Dimension in he da a channel.
As al eady s a ed, a Dimension may be ei he a sampling Dimension o a non sampling
Dimension. Mo eo e , each non sampling Dimension may be ei he de i ed om Dimensions
p e iously loaded in he sys em o loaded om ex e nal da a channels.
106 Chap e 4. SODA Design
<In ensionalMapping name="me eoP ope y" domain="m, s, ">
<When> m="Tempe a u e" </When>
<ThenRe u n> :Obse a ion.Tempe a u e(s, ) </ThenRe u n>
<When> m="Humidi y" </When>
<ThenRe u n> :Obse a ion.Humidi y(s, ) </ThenRe u n>
<When> m="WindSpeed" </When>
<ThenRe u n> :Obse a ion.WindSpeed(s, ) </ThenRe u n>
</In ensionalMapping>
<In ensionalMapping name="IDW" domain="m,p, ">
<Fo Each a ="s">S a ionId </Fo Each>
<Whe e> dis ance(S a ion.Loc(s), p) < IDWDis ance </Whe e>
<Agg ega e> sum(me eoP ope y(m,s, )/dis ance(S a ion.Loc(s), p)^2) /
sum(1/dis ance(S a ion.Loc(s), p)^2)
</Agg ega e>
</In ensionalMapping>
An In ensional Mapping may be de ined by a Condi ional Exp ession ha enables he
in oduc ion o i - hen-else s uc u es. An unbounded numbe o <When> and <ThenRe u n>
elemen s enable he de ini ion o condi ions and co esponding esul s. An op ional elemen
<ElseRe u n> enables he de ini ion o he de aul esul . In p e ious code, In ensional
Mapping me eoP ope y e u ns empe a u e, humidi y o wind speed obse a ions h ough
aCondi ional Exp ession.
Ex ensional MappingSe s
The schema de ini ion o an Ex ensional MappingSe o ype Ex ensionalMappingSe Type
is shown in Code 4.6. Simila ly o Dimensions and Cons an s, an Ex ensional MappingSe
may be impo ed om an ex e nal da a channel and expo ed o se e al ex e nal da a chan-
nels. O cou se, i may also be pe sis ed in o local ca alog. The ollowing code shows he
de ini ion o Ex ensional MappingSe Obse a ion impo ed om Ex ensional MappingSe
Obse a ion in da a channel Pos gis, pe sis ed o local ca alog as :Obse a ion
and expo ed o da a channel Ne CDF as Obse a ionF omPos gis.
<Ex ensionalMappingSe name="Obse a ion" s o eName=" :Obse a ion">
<Inpu da aChannel="Pos gis" name="Obse a ion"/>
<Ou pu da aChannel="Ne CDF" name="Obse a ionF omPos gis"/>
</Ex ensionalMappingSe >
An op ional a ibu e domain may be used o speci y a lis o Dimensions so ha he
Ca esian p oduc o such Dimensions is he domain o he esul ing Ex ensional MappingSe .

4.3. Obse a ion Da a Analysis 107
<xs:complexType name="Ex ensionalMappingType">
<xs:simpleCon en >
<xs:ex ension base="xs:s ing">
<xs:a ibu e name="name" ype="xs:NCName" use=" equi ed"/>
</xs:ex ension>
</xs:simpleCon en >
</xs:complexType>
<xs:complexType name="Ex ensionalMappingSe Type">
<xs:complexCon en >
<xs:ex ension base="De ini ionType">
<xs:sequence>
<xs:choice>
<xs:elemen name="Inpu " ype="Ex e nalRe e enceType"/>
<xs:elemen name="Ex ensionalMapping" ype="Ex ensionalMappingType"
minOccu s="0" maxOccu s="unbounded"/>
</xs:choice>
<xs:elemen name="Ou pu " ype="Ex e nalRe e enceType"
minOccu s="0" maxOccu s="unbounded"/>
</xs:sequence>
<xs:a ibu e name="s o eName" ype="xs:QName" use="op ional"/>
<xs:a ibu e name="domain" ype="xs:s ing" use="op ional"/>
</xs:ex ension>
</xs:complexCon en >
</xs:complexType>
<xs:elemen name="Ex ensionalMappingSe " subs i u ionG oup="De ini ion"
ype="Ex ensionalMappingSe Type"/>
Code 4.6: XML schema de ini ion o MAPAL Ex ensional Mapping.
Since an Ex ensional MappingSe is composed o Ex ensional Mappings ha p o ide an ou -
pu alue o each domain elemen , <Ex ensionalMapping> enables he de ini ion o an
Ex ensional Mapping h ough a Func ional Exp ession. In he example below, a o es i e
isk index is p o ided by Ex ensional MappingSe Fo es Fi e o each combina ion o
ime ins an (wi hin :ObsDa e) and loca ion (wi hin :Loc5m). Resul ing Ex ensional
MappingSe is expo ed o da a channel Ne CDF as Fo es Fi e.
<In ensionalMapping name="no malize" domain=" , min, max">
<When> < min </When> <ThenRe u n>0</ThenRe u n>
<When> > max </When> <ThenRe u n>1</ThenRe u n>
<ElseRe u n> ( -min)/(max-min) </ElseRe u n>
</In ensionalMapping>
<Ex ensionalMappingSe name="Fo es Fi e" domain="p :Loc5m, :ObsDa e">
<Ex ensionalMapping name="Risk">
no malize(IDW("Tempe a u e",p, ), minTempe a u e, maxTempe a u e)*Tempe a u eWeigh +
108 Chap e 4. SODA Design
(IDW("Humidi y", p, )/100)*Humidi yWeigh +
no malize(IDW("WindSpeed",p, ), minWindSpeed, maxWindSpeed)*WindSpeedWeigh +
no malize(slope(p), 0, maxSlope)*SlopeWeigh
</Ex ensionalMapping>
<Ou pu da aChannel="Ne CDF" name=" as:Fo es Fi e"/>
</Ex ensionalMappingSe >
4.3.2 Analy ical P ocesses
An app op ia e syn ax o de ine in e nal analy ical Obse a ion p ocesses execu ed du ing
ETL asks is now de ined. Simila ly o MAPAL and XODDL, a decla a i e XML-based
syn ax has been de ined o ease he de ini ion o in e nal p ocesses.
Elemen <P ocess> enables he de ini ion o such p ocesses. A equi ed a ibu e <p o-
cessType> speci ies he p ocess da a ype. An op ional elemen <Desc ip ion> wi hin
<P ocess> may p o ide a ex ual p ocess desc ip ion. A equi ed elemen <De ini ion>
comp ises he equi ed MAPAL elemen s o p ope ly de ine he in e nal p ocess.
– Fi s , a numbe o op ional Dimensions and In ensional Mappings may be de ined o be
used in emainde elemen s.
– Nex , he empo al Dimension o he esul ing p ocess is de ined by using ei he an el-
emen <T igge edByTime> o an elemen <T igge edByE en >. Recall ha each
P ocess Type PT has a Dimension PT.Time, which is ei he a sampling Dimension o
ime- igge ed p ocesses o a non sampling Dimension o e en - igge ed p ocesses.
The empo al Dimension o a ime- igge ed in e nal P ocess Type PT wi h empo al
esolu ion Ris de ined wi h an exp ession o he ollowing o m:
<T igge edByTime> PT1.Time,...,PTn.Time </T igge edByTime>
whe e each PTi.Time is he empo al Dimension o a P ocess Type PTi. The seman ics
a e hose o he 1D Sampling S(m,M), whe e
m=cas (min{ | ∈PT1.Time ∪PT2.Time ∪...∪PTn.Time}as TimeIns an (R))
M=cas (max{ | ∈PT1.Time ∪PT2.Time ∪...∪PTn.Time}as TimeIns an (R))
An exp ession o he ollowing o m enables he de ini ion o he empo al Dimension
o an e en - igge ed in e nal P ocess Type PT o ime esolu ion R:
4.3. Obse a ion Da a Analysis 109
<T igge edByE en >
<E en a =" ">PT1.Time, PT2.Time, ... , PTn.Time </E en >
<Condi ion> c( ) </Condi ion>
</T igge edByE en >
whe e each PTi.Time is he empo al Dimension o a P ocess Type PTiand c( )is a
unc ional exp ession o Boolean ype. The seman ics a e hose o he non sampling
Dimension de ined by he se
{cas ( as TimeIns an (R)) | ∈PT1.Time ∪PT2.Time ∪... ∪PTn.Time ∧c( )}
– Finally, an <Ex ensionalMapping> MAPAL elemen has o be used o de ine a Fea-
u e P ope y FT.FP obse ed by an in e nal P ocess Type PT. This Ex ensional Map-
ping is au oma ically added o he ele an Ex ensional MappingSe eco ding FP ob-
se a ion alues. The e alua ion o each Ex ensional Mapping du ing ETL asks is
es ic ed o he e alua ion o he elemen s o PT.Time o be impo ed, a oiding e-
e alua ion o he Ex ensional Mapping o he whole empo al ex ension o he da a
wa ehouse.
De ini ion o P ocess Type F os Con ol o unning example is p o ided below o illus-
a ion pu poses.
<?xml e sion="1.0" encoding="u -8"?>
<pd:P ocessDe ini ions
xmlns:xsi="h p://www.w3.o g/2001/XMLSchema-ins ance"
xsi:schemaLoca ion="es.usc.ci ius.de.soda.P ocessDe ini ion Soda_P ocessDe ini ion.xsd"
xmlns="es.usc.ci ius.de.mapal"
xmlns: ish="es.usc.ci ius.de. ish"
xmlns:pd="es.usc.ci ius.de.soda.P ocessDe ini ion">
<pd:P ocess p ocessType="F os Con ol">
<pd:Desc ip ion>
Calcula es he os isk index o each S a ion om Tempe a u e and Humidi y
obse a ion alues.
</pd:Desc ip ion>
<pd:De ini ion>
<In ensionalMapping name="F os Ale " domain=" , h">
<When> < 0 AND h > 95 </When>
<ThenRe u n> VERY HIGH </ThenRe u n>
<When> < 0 AND h > 85 AND h <= 95 </When>
<ThenRe u n> HIGH </ThenRe u n>
110 Chap e 4. SODA Design
<When> < 0 AND h > 75 AND h <= 85 </When>
<ThenRe u n> MEDIUM </ThenRe u n>
<When> < 0 AND h > 65 AND h <= 75 </When>
<ThenRe u n> LOW </ThenRe u n>
<When> < 0 AND h > 55 AND h <= 65 </When>
<ThenRe u n> VERY LOW </ThenRe u n>
<ElseRe u n> VERY LOW </ElseRe u n>
</In ensionalMapping>
<In ensionalMapping name="S a ionsInRisk" domain=" ">
<Fo Each a ="s">S a ion.S a ionId </Fo Each>
<Whe e> S a ion.Humidi yTempP obe.Tempe a u e(s, ) < 0
AND S a ion.Humidi yTempP obe.Humidi y(s, ) > 85
</Whe e>
<Agg ega e> no EMPTY(s) </Agg ega e>
</In ensionalMapping>
<pd:T igge edByE en >
<pd:E en a =" ">Humidi yTempP obe.Time </pd:E en >
<pd:Condi ion> S a ionsInRisk( )</pd:Condi ion>
</pd:T igge edByE en >
<Ex ensionalMapping name="F os Ale "
domain="S a ion.S a ionId s, F os Con ol.Time ">
<Re u n> F os Ale (S a ion.Humidi yTempP obe.Tempe a u e(s, ),
S a ion.Humidi yTempP obe.Humidi y(s, ))
</Re u n>
</Ex ensionalMapping>
</pd:De ini ion>
</pd:P ocess>
</pd:P ocessDe ini ions>
An accu a e implemen a ion o a os isk ale sys em is ou o he scope o his Thesis,
hus some simpli ica ions a e made o an easy unde s anding. Fo his example, he os isk
is calcula ed based on he ollowing ules:
– i T<0∧RH >95, hen os isk is VERY HIGH
– i T<0∧85 <RH ≤95, hen os isk is HIGH
– i T<0∧75 <RH ≤85, hen os isk is MEDIUM
– i T<0∧65 <RH ≤75, hen os isk is LOW
– i T<0∧55 <RH ≤65, hen os isk is VERY LOW
4.3. Obse a ion Da a Analysis 111
whe e Tis he measu ed empe a u e in Celsius deg ees and RH is measu ed ela i e humidi y
in pe cen age uni s.
E e y ime ha F os Con ol code is execu ed a new p ocess iden i ie is au oma i-
cally gene a ed by he sys em. This iden i ie is s o ed in bo h Dimension F os Con ol
and Ex ensional Mapping P ocess o Ex ensional MappingSe S a ion.F os Con ol.
P ocess F os Con ol is de ined as an e en - igge ed p ocess ha is i ed e e y ime a s a-
ion is in isk VERY HIGH o HIGH, i.e., measu ed empe a u e is below 0ºC and measu ed
ela i e humidi y is abo e 85%. Such condi ions a e implemen ed by In ensional Mapping
S a ionsInRisk.Fea u e P ope y S a ion.F os Ale gene a es ou pu obse a ions
applying he abo e ules (implemen ed by In ensional Mapping F os Ale ) o e empe a-
u e and ela i e humidi y alues.
4.3.3 Sys em Ope a o s
Que y p ocessing pe o ms he e alua ion o he abo e MAPAL exp essions. A many-so ed
algeb a o e h ee di e en da a s uc u es (Dimensions,Cons an s and Ex ensional Map-
pingSe s) ha enables he e alua ion o MAPAL que ies is de ined nex . Ope a ions o his
algeb a a e classi ied in o h ee di e en g oups acco ding o he esul s uc u e ha hey
p oduce. The gene al syn ax o such ope a ions is he ollowing:
ope a o Name[pa amLis ]...[pa amLis ](a gumen Lis )
whe e pa amLis is a comma sepa a ed lis o pa ame e s and a gumen Lis is a comma sep-
a a ed lis o a gumen s.
Dimension Ope a o s
–Impo Dimension[Name][channelName][s o ageName]. Impo s a Dimension om an
ex e nal da a channel. Pa ame e Name is he name o he new Dimension. Pa ame e
channelName is he name o he ex e nal da a channel. Pa ame e s o ageName is he
name, in he ex e nal da a channel, o he Dimension o impo .
–ScanDimension[Name]. Reads a Dimension om local ca alog. Pa ame e Name is he
name o he Dimension o ead.
–SamplingDimension[Name](k1,k2). Gene a es an new in-memo y sampling Dimension
wi h all he alues o Sampling S(k1,k2). Pa ame e Name is a CS ing con aining he

112 Chap e 4. SODA Design
name o he gene a ed Dimension. Ope ands k1and k2a e Cons an s wi h iden ical
empo al o spa ial da a ype, ob ained om some Cons an ope a o .
–Union(d1,d2). Compu es he Union o Dimensions as de ined in 4.3.1. Ope ands d1
and d2a e Dimensions p oduced by some o he ope a o .
–In e sec ion(d1,d2). Compu es he In e sec ion o Dimensions as de ined in 4.3.1.
Ope ands d1and d2a e Dimensions p oduced by some o he ope a o .
–P ojec Dimension[d][c](MS). Gene a es a esul Dimension con aining all he dis inc
elemen s o pa ame e dwhe e Ex ensional Mapping c has a ue alue. Ope and MS
is an Ex ensional MappingSe p oduced by a ele an ope a ion. Pa ame e dis he
name o ei he a Dimension o an Ex ensional Mapping o MS. Op ional pa ame e
cis he name o a Boolean Ex ensional Mapping o MS. No ice ha i dis a sam-
pling Dimension and cis p o ided, hen he esul ing Dimension will no be a sampling
Dimension anymo e.
–S o eDimension[Name](d). Sa es Dimension d o disk using Name as i s s o age name.
Pa ame e Name is a CS ing and pa ame e dis a Dimension gene a ed by some ope -
a o . I dis a sampling Dimension only he me ada a and i s limi s a e w i en in o he
local ca alog.
–Expo Dimension[channelName][s o ageName](d). Expo s he Dimension d o an ex-
e nal da a channel. Pa ame e dis a Dimension gene a ed by some ope a o . Pa ame e
channelName is he name o he ex e nal da a channel. Pa ame e s o ageName is he
name, in he ex e nal da a channel, o he new expo ed Dimension.
Ex ensional MappingSe Ope a o s
–Impo MappingSe [Name][channelName][s o ageName][domain]. Impo s an ex e nal
Ex ensional MappingSe om a da a channel. Pa ame e Name is he name o he new
Ex ensional MappingSe . Pa ame e channelName is he name o he ex e nal da a
channel. Pa ame e s o ageName is he name, in he ex e nal da a channel, o he Ex-
ensional MappingSe o impo . Pa ame e domain is a comma sepa a ed lis o Di-
mensions, i.e., he domain o he Ex ensional MappingSe . No ice ha all Dimensions
wi hin he domain mus be al eady impo ed be o e impo ing he Ex ensional Map-
pingSe .
4.3. Obse a ion Da a Analysis 113
–P oduc [Name](d1,...,dn). Gene a es a new Ex ensional MappingSe , wi hou Ex en-
sional Mappings, whose domain is he Ca esian p oduc d1×...×dn. Pa ame e Name
is he name o he new Ex ensional MappingSe . Each ope and diis a Dimension p o-
duced by some ope a o .
–P oduc (MS,d). Gene a es a esul Ex ensional MappingSe whose domain is he
Ca esian p oduc o dwi h he domain o MS. All Ex ensional Mappings o MS a e
kep in he esul ing Ex ensional MappingSe .
–P ojec MappingSe [Name][s1,...,sn](MS). Gene a es a new Ex ensional MappingSe
whose domain is equal o he domain o MS and wi h one Ex ensional Mapping o each
si. Ope and MS is an Ex ensional MappingSe p oduced by some ope a o . Pa ame e
Name is he name o he new Ex ensional MappingSe . Each pa ame e siis ei he a
Dimension o an Ex ensional Mapping o MS.
–E alua eIn ensionalMappings[m1,...,mn](MS). Adds new Ex ensional Mappings o
MS. Ope and MS is an Ex ensional MappingSe p oduced by some ope a o . Each mi
is an in ensional mapping exp ession o he o m newMappingName =pm(s1,...,sm),
whe e pm is he name o a p imi i e mapping and each siis he name o ei he a Di-
mension o an Ex ensional Mapping o MS. The ac ual exp ession o miis gene a ed
om he exp ession o each siob ained om MS. I some Ex ensional Mapping o MS
has been al eady compu ed by an exp ession equi alen o he ac ual exp ession o mi,
he new name newMappingName is added o he lis o names e e encing such Ex en-
sional Mapping. O he wise, he p imi i e mapping is e alua ed o each elemen o he
domain o MS o p oduce a new Ex ensional Mapping called newMappingName.
–E alua eEx ensionalMapping[m](MS). Appends a new Ex ensional Mapping o MS
(an Ex ensional MappingSe p oduced by some ope a o ). Pa ame e mis an ex ensional
mapping exp ession o he o m newMappingName =ems.em(s1,...,sm), whe e ems
e e ences an Ex ensional MappingSe ,em e e ences an Ex ensional Mapping o ems,
and each siis he name o ei he a Dimension o an Ex ensional Mapping o MS. The
domain o ems mus be de ined by he Ca esian p oduc o mdimensions d1×d2×...×
dmin such a way ha he da a ype o each siis compa ible wi h he da a ype o each di.
I some Ex ensional Mapping o MS has been compu ed by an exp ession equi alen o
m, hen he name newMapping will be added o he names o such Ex ensional Mapping,
o he wise em will be e alua ed.
114 Chap e 4. SODA Design
–E alua eCons an [Name](MS,k). Gene a es a new Ex ensional Mapping om he ex-
p ession o k. Pa ame e Name is he name o he new Ex ensional Mapping. Ope and
MS is an Ex ensional MappingSe p oduced by some ope a o . Ope and kis a Cons an
alue. I he exp ession o kis al eady p esen in some Ex ensional Mapping o MS,
hen he name newMapping will be added o such Ex ensional Mapping. O he wise, a
new Ex ensional Mapping called newMapping is added o MS, which eco ds he alue
ob ained om k o each elemen o he domain. The da a ype and exp ession o he
new mapping will be ob ained om k. The domain o he new mapping in MS will be
emp y.
–E alua eAgg ega eMappings[Name][g oupBy][o de By][c][ag1,...,agn](MS).MS is
an Ex ensional MappingSe ob ained om some ope a o . Pa ame e g oupBy is a
lis o names o Dimensions o MS. Pa ame e o dSpec is an op ional o de ing spec-
i ica ion composed o a lis o pai s (s,o), whe e each sis he name o ei he a Di-
mension o an Ex ensional Mapping o MS, and ois an o de ing di ec ion, ei he as-
cending o descending. Op ional pa ame e cis he name o an Ex ensional Mapping
o MS o Boolean da a ype. Each agiis an exp ession o he o m newMappingi=
AggMappingi(s1,s2,...,sn), whe e AggMappingiis he name o a p imi i e agg ega e
mapping and each sjis he name o ei he a Dimension o an Ex ensional MappingSe
o MS. The esul Ex ensional MappingSe will ha e as domain he lis o Dimensions
e e enced in g oupBy and as Ex ensional Mappings he lis o mappings o MS whose
domain does no con ain Dimensions no p esen in g oupBy, oge he wi h he new
mappings gene a ed by ag1,ag2,...,agn. To achie e his, i s MS is g ouped by Di-
mensions in g oupBy and Ex ensional Mappings whose domain does no con ain Di-
mensions ou o g oupBy. Nex , he sequence o uples o each g oup is il e ed using
c. Then, he esul is o de ed acco ding o o dSpec. Finally, each agg ega e mapping is
e alua ed in he o de ed sequence o uples o p oduce jus one alue o each g oup. I
some Ex ensional Mapping o MS al eady has he same exp ession o one o he agg e-
ga es aggMappingi o be e alua ed, hen newMapping will be added o he names o
such Ex ensional Mapping and aggMappingiwill no be e alua ed again.
–S o eMappingSe [Name](MS). Pa ame e Name is a CS ing and ope and MS is an
Ex ensional MappingSe ob ained om some ope a ion. The me ada a o MS and he
da a o each o i s Ex ensional Mappings is sa ed o disk. This ope a ion has no e ec
i MS does no ha e any Ex ensional Mapping.
4.3. Obse a ion Da a Analysis 115
–Expo MappingSe [channelName][Name](MS). Expo s he Ex ensional MappingSe
MS o an ex e nal da a channel. Pa ame e MS is an Ex ensional MappingSe gene a ed
by some ope a o . Pa ame e channelName is he name o he ex e nal da a channel. Pa-
ame e Name is he name, in he ex e nal da a channel, o he new expo ed Ex ensional
MappingSe .
Cons an Ope a o s
–Li e al[Name][l]. T ans o ms a li e al in o a da a alue ha is eco ded in he esul
Cons an . Pa ame e Name is he name o he new gene a ed Cons an . Pa ame e lis
he CS ing ep esen a ion o a li e al. The exp ession associa ed o he Cons an will
be l.
–Impo Cons an [Name][channelName][s o ageName]. Impo s a Cons an om an ex-
e nal da a channel. Pa ame e Name is he name o he new Cons an . Pa ame e
channelName is he name o he ex e nal da a channel. Pa ame e s o ageName is he
name, in he ex e nal da a channel, o he Cons an o impo .
–ScanCons an [Name]. Reads a Cons an om local ca alog. Pa ame e Name is he
name o he Cons an o ead.
–E alua eIn ensionalMapping[Name][m](k1,...,kn). Each ope and kiis a Cons an ob-
ained om some ope a ion and mis he name o a p imi i e mapping. Mapping mis
e alua ed using he alues o kias pa ame e s o ob ain he alue o he esul Cons an .
The exp ession o he esul will also be gene a ed om mand he exp ession o each
ki.
–E alua eEx ensionalMapping[Name][m](k1,...,kn). I is simila o he abo e ope a-
ion, howe e now m e e ences an Ex ensional Mapping o an Ex ensional MappingSe .
The da a o bo h mand he Dimensions o he domain o mha e o be accessed o ob-
ain he esul alue. The exp ession o he esul will be gene a ed om mand he
exp ession o each ki.
–E alua eAgg ega eMapping[Name][o de By][c][agg](MS).MS is an Ex ensional Map-
pingSe ob ained om some ope a ion. Pa ame e o dSpec is an o de ing speci ica ion
composed o ei he Dimensions o Ex ensional Mappings o MS and o de ing di ec ions
(ascending o descending). Pa ame e cis an Ex ensional Mapping o MS o Boolean
122 Chap e 5. MAPAL Implemen a ion
MapalValue
+dis inc (o2): BooleanValue
+equal(o2): BooleanValue
+ge Da aType(): Da aTypeMe ada a
+g ea e Than(o2): BooleanValue
+g ea e ThanO EqualTo(o2): BooleanValue
+isDe ined(): BooleanValue
+lowe Than(o2): BooleanValue
+lowe ThanO EqualTo(o2): BooleanValue
+se Unde ined()
BooleanValue
- alue: Boolean[0..1]
+BooleanValue( : Boolean)
+and(o: BooleanValue): BooleanValue
+ge Value(): Boolean
+no (): BooleanValue
+o (o: BooleanValue): BooleanValue
+ oCS ing(): CS ingValue
CS ingValue
- alue: S ing[0..1]
+CS ingValue( : S ing)
+conca (s: CS ing): CS ingValue
+ge Value(): S ing
+leng h(): FixedP ecisionValue
+lowe (): CS ingValue
+ oBoolean(): BooleanValue
+ oDa e(): Da eValue
+ oFixedP ecision(): FixedP ecisionValue
+ oFixedP ecision(p: in ege , s: in ege ): FixedP ecisionValue
+ oIn ege (): In ege Value
+ oReal(): RealValue
+ oTime(): TimeValue
+ oTime( : FixedP ecisionValue): TimeIns an Value
+ oTimeIns an (): TimeIns an Value
+ oTimeIns an ( : FixedP ecisionValue): TimeIns an Value
+uppe (): CS ingValue
Nume icValue
+abs(): Nume icValue
+acos(): Nume icValue
+asin(): Nume icValue
+a an(): Nume icValue
+a an2(y: Nume icValue): Nume icValue
+ceil(): In ege Value
+cos(): Nume icValue
+di ide(n: Nume icValue): Nume icValue
+ loo (): In ege Value
+ln(): Nume icValue
+log(): Nume icValue
+mod(a: Nume icValue): In ege Value
+mul iply(n: Nume icValue): Nume icValue
+powe (e: Nume icValue): Nume icValue
+ ound(): In ege Value
+ ound(n: In ege Value): FixedP ecisionValue
+sin(): Nume icValue
+sq (): Nume icValue
+sub ac (n: Nume icValue): Nume icValue
+sum(n: Nume icValue): Nume icValue
+ an(): Nume icValue
RealValue
- alue: Double[0..1]
+RealValue( : Double[0..1])
+ge Value(): Double
+ oBoolean(): BooleanValue
+ oCS ing(): CS ingValue
+ oFixedP ecision(): FixedP ecisionValue
+ oFixedP ecision(p: In ege Value, s: In ege Value): FixedP ecisionValue
+ oIn ege (): In ege Value
+ oPoin 1D(): Poin 1DValue
+ oPoin 1D(p: In ege Value, : RealValue): Poin 1DValue
FixedP ecisionValue
- alue: Numbe [0..1]
-p ecision: in ege
-scale: in ege
+FixedP ecisionValue(p: In ege Value[0..1], s: In ege Value[0..1], : Numbe [0..1])
+ge P ecision(): In ege Value
+ge Scale(): In ege Value
+ge S o edValue(): Numbe
+ge Value(): RealValue
+ oBoolean(): BooleanValue
+ oFixedP ecision(p: In ege Value, s: In ege Value): FixedP ecisionValue
+ oIn ege (): In ege Value
+ oPoin 1D(): Poin 1DValue
+ oPoin 1D(p: In ege Value, : RealValue): Poin 1DValue
+ oReal(): RealValue
+ oCS ing(): CS ingValue
In ege Value
- alue: Long[0..1]
+In ege Value( : Long[0..1])
+ge Value():In ege Value
+ oBoolean(): BooleanValue
+ oCS ing(): CS ingValue
+ oReal(): RealValue
+ oFixedP ecision(): FixedP ecisionValue
+ oFixedP ecision(p: In ege Value, s: In ege Value): FixedP ecisionValue
+ oPoin 1D(): Poin 1DValue
+ oPoin 1D(p: In ege Value, : RealValue): Poin 1DValue
Figu e 5.2: Class diag am o Con en ional da a ypes in he p o o ype implemen a ion.

5.2. Da a Types Implemen a ion 123
5.2.1 Con en ional Da a Types Implemen a ion
The class diag am o con en ional MAPAL da a ypes implemen ed in he de eloped p o o-
ype is depic ed in Fig. 5.2. An abs ac class MapalValue encapsula es he common ope a-
ions (p imi i e mappings) ha e e y da a ype mus implemen , as de ined in Table 4.1. Thus,
he es o he classes ep esen ing MAPAL da a ypes mus inhe i om MapalValue. Class
BooleanValue has an a ibu e alue o Ja a ype Boolean o s o e he ac ual boolean alue.
Mo eo e , BooleanValue implemen s he p imi i e boolean mappings de ined in Table A.1,
and p o ides he equi ed cons uc o and accesso me hods. Simila ly o BooleanValue, class
CS ingValue p o ides cons uc o and accesso me hods, and implemen s he s ing p imi i e
mappings de ined in Table A.2. The Ja a ype S ing is used o s o e he ac ual CS ing alue.
P imi i e mappings common o all nume ic (In ege ,Real,FixedP ecision) da a ypes,
de ined in Table A.3, a e encapsula ed by he abs ac class Nume icValue om which all
he nume ic classes inhe i . A ibu e alue o In ege Value and RealValue a e o Long and
Double Ja a ypes, espec i ely. Whe eas, o s o e he ac ual in ege alue o a ibu e alue in
FixedP ecisionValue, he abs ac Ja a ype Numbe is used. Depending on he combina ion o
a ibu es p ecision and scale, he mos app op ia e Ja a in ege ype inhe i ing om Numbe
(By e,Sho ,In ege and Long) is ac ually used. Fu he mo e, cons uc o s, accesso me hods
and app op ia e cas ing mappings a e de ined o all nume ic da a ypes.
No ice ha cons uc o and accesso me hods a e de ined o in e nal use wi hin he imple-
men a ion and a e no accessible o MAPAL use s h ough p imi i e mappings. Con en ional
da a ype alues a e gene a ed au oma ically by he sys em om li e al alues in MAPAL
sen ences.
5.2.2 Tempo al Da a Types Implemen a ion
A majo added alue in MAPAL a e hose da a ypes ha enable he de ini ion o empo al
Samplings. Abs ac class SamplingValue in Fig. 5.3 de ines he p imi i e mapping sub ac
o all hose da a ypes ha may be used in Sampling de ini ions.
Inhe i ing om SamplingValue, abs ac class Tempo alValue encapsula es a ibu es and
mappings common o all de ined empo al da a ypes. Speci ically, a ibu e esolu ion uses
he Ja a p imi i e ype double o s o e he empo al esolu ion. Mo eo e , he mapping sum
and an o e loaded e sion o mapping sub ac , de ined in Table A.4, a e added he e oge he
wi h he accesso me hod o a ibu e esolu ion. Simila ly o nume ic da a ypes, TimeValue
124 Chap e 5. MAPAL Implemen a ion
MapalValue
+dis inc (o2): BooleanValue
+equal(o2): BooleanValue
+ge Da aType(): Da aTypeMe ada a
+g ea e Than(o2): BooleanValue
+g ea e ThanO EqualTo(o2): BooleanValue
+isDe ined(): BooleanValue
+lowe Than(o2): BooleanValue
+lowe ThanO EqualTo(o2): BooleanValue
+se Unde ined()
Tempo alValue
- esolu ion: double
+ge Resolu ion(): RealValue
+sub ac (n: In ege Value): Tempo alValue
+sum(n: In ege Value): Tempo alValue
TimeIns an Value
- alue: long[0..1]
+TimeIns an Value( : RealValue, : In ege Value)
+ oCS ing(): CS ingValue
+ oTime(): TimeValue
+ oTime( : RealValue): TimeValue
+ oTimeIns an( : RealValue): TimeIns an Value
TimeValue
- alue: in Type[0..1]
+TimeValue( : RealValue, : in Type)
+ oCS ing(): CS ing Value
+ oTime( : RealValue): TimeValue
+ oTimeIns an (): TimeIns an Value
+ oTimeIns an( : RealValue): TimeIns an Value
in Type
Da eValue
+Da eValue( : In ege Value)
+ oCS ing(): CS ingValue
Poin 1DValue
-coo d: coo dType[0..1]
-p ecision: in ege
- esolu ion: double
+Poin 1DValue(p: In ege Value[0..1], : RealValue[0..1], c: coo dType[0..1])
+Poin 1DValue(coo d: FixedP ecisionValue)
+Poin 1DValue(coo d: RealValue)
+ge Coo d(): FixedP ecisionValue
+ge Resolu ion(): FixedP ecisionValue
+ge P ecision(): In ege Value
+ge Value(): coo dType
+sub ac (n: In ege Value): Poin 1DValue
+sum(n: In ege Value): Poin 1DValue
+ oCS ing(): CS ingValue
+ oFixedP ecision(): FixedP ecisionValue
+ oFixedP ecision(p: In ege Value, s: In ege Value): FixedP ecisionValue
+ oIn ege (): In ege Value
+ oPoin 1D(p: In ege Value, : RealValue): Poin 1DValue
+ oReal(): RealValue
coo dType
SamplingValue
+sub ac ( : SamplingValue): In ege Value
Figu e 5.3: Class diag am o Tempo al and Poin 1D da a ypes in p o o ype implemen a ion.
and TimeIns an Value implemen cons uc o s and he app op ia e cas ing mappings also de-
ined in Table A.4. While Ja a p imi i e ype long is used o s o e he in ege empo al alue
in TimeIns an Value, class TimeValue uses he mos app op ia e Ja a p imi i e in ege ype
(in Type) o s o e such in ege alue. The selec ion o in Type is s ongly dependen on he
a ibu e esolu ion.
Since MAPAL da a ype Da e is a sho cu o TimeIns an (86400), class Da eValue only
de ines a cons uc o and an o e loaded e sion o mapping oCS ing. Simila ly o con-
en ional da a ypes, cons uc o and accesso me hods a e only o in e nal use and a e no
5.2. Da a Types Implemen a ion 125
accessible by MAPAL use s. The sys em gene a es hem om li e al alues in MAPAL sen-
ences.
5.2.3 Poin 1D Da a Type Implemen a ion
Ano he impo an MAPAL da a ype con ibu ed by his Thesis is Poin 1D. De ini ion o spa-
ial 1D Samplings is enabled by his da a ype. Thus, class Poin 1DValue in Fig. 5.3, also
inhe i ing om SamplingValue, s o es a ibu es p ecision and esolu ion using Ja a p imi i e
ypes in ege and double, espec i ely. As TimeValue does, he mos app op ia e Ja a p imi-
i e in ege ype (coo dType) is used o s o e he in ege spa ial a ibu e coo d. In his case,
such Ja a ype is selec ed depending on he alue o a ibu es p ecision and esolu ion. P im-
i i e Poin 1D mappings de ined in Table A.5 a e also p esen in Poin 1DValue oge he wi h
cons uc o s and accesso me hods. As p e ious da a ypes, such cons uc o and accesso
me hods a e no accessible by MAPAL use s.
5.2.4 Poin 2D Da a Type Implemen a ion
P obably he mos impo an con ibu ion o MAPAL, ega ding da a ypes, is he de ini ion
o da a ype Poin 2D ha enables, in u n, he de ini ion o 2D spa ial Samplings. Class
Poin 2DValue in Fig. 5.4 encapsula es he Poin 2D mappings de ined in Table A.6, oge he
wi h cons uc o s and accesso me hods.
A ibu es p ecision and esolu ion s o e ele an Poin 2D pa ame e s using Ja a p imi i e
ypes in ege and double, espec i ely. A ibu e alue uses a JTS2[60] objec Poin o s o e
he 2D spa ial coo dina es. Since MAPAL da a ype Poin 2D also ep esen s a geome y,
Poin 2DValue implemen s he p imi i e mappings de ined in Geome y2DIn e ace, which
con ains he as majo i y o p imi i e mappings de ined o all Geome ies in Table A.7.
Recall ha Poin 2D enables he de ini ion o 2D spa ial Samplings, hus Poin 2DValue inhe i s
om SamplingValue as well. Poin 2DValue cons uc o and accesso me hods a e also no
accessible by MAPAL use s.
5.2.5 Geome ic Da a Type Implemen a ion
The de eloped p o o ype also implemen s he geome ic da a ypes de ined in Sec ion 4.2.1.
Thus, class Geome y2DValue in Fig. 5.4 p o ides cons uc o s and accesso me hods o c ea e
2Ja a Topology Sui e.
126 Chap e 5. MAPAL Implemen a ion
MapalValue
+dis inc (o2): BooleanValue
+equal(o2): BooleanValue
+ge Da aType(): Da aTypeMe ada a
+g ea e Than(o2): BooleanValue
+g ea e ThanO EqualTo(o2): BooleanValue
+isDe ined(): BooleanValue
+lowe Than(o2): BooleanValue
+lowe ThanO EqualTo(o2): BooleanValue
+se Unde ined()
Poin 2DValue
- alue: Poin
-p ecision: in ege
- esolu ion: double
+Poin 2DValue(p: In ege Value[0..1], : RealValue[0..1], : Poin [0..1])
+Poin 2DValue(c1: FixedP ecisionValue, c2: FixedP ecisionValue)
+4neigh(p: Poin 2DValue): BooleanValue
+8neigh(p: Poin 2DValue): BooleanValue
+ge Posi ion(): In ege Value
+ge Value(): Poin
+ge X(): FixedP ecisionValue
+ge Xin (): In ege Value
+ge Y(): FixedP ecisionValue
+ge Yin (): In ege Value
+shi (x: In ege Value, y: In ege Value): Poin 2DValue
+ oPoin 2D(p: In ege Value, : RealValue): Poin 2DValue
SamplingValue
+sub ac ( : SamplingValue): In ege Value
Geome y2DValue
-p ecision: in ege
- esolu ion: double
- alue: Geome y
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : LineS ing[0..1])
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : Polygon[0..1])
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : Geome yCollec ion[0..1])
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : Mul iPoin [0..1])
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : Mul iLineS ing[0..1])
+Geome y2DValue(p: In ege Value[0..1], : FixedP ecisionValue[0..1], : Mul iPolygon[0..1])
+Geome y2DValue( : Poin 2DValue[1..*], isLineS ing: BooleanValue)
+Geome y2DValue(e: LineS ing2DValue, h: LineS ing2DValue[0..*])
+Geome y2DValue(m: LineS ing2DValue[1..*])
+Geome y2DValue(m: Polygon2DValue[1..*])
+a ea(): RealValue
+cen oid(): Poin 2DValue
+ex e io (): Geome y2DValue
+endPoin (): Poin 2DValue
+ge Value(): Geome y
+holes(): Geome y2DValue
+isClosed(): BooleanValue
+isRing(): BooleanValue
+isSimple(): BooleanValue
+leng h(): RealValue
+pe ime e (): RealValue
+s a Poin (): Poin 2DValue
+ o onoi(): Geome y2DValue
«in e ace»
Geome y2DIn e ace
+bu e (n: RealValue): Geome y2DIn e ace
+con ains(g: Geome y2DIn e ace): BooleanValue
+con exHull(): Geome y2DIn e ace
+c osses(g: Geome y2DIn e ace): BooleanValue
+di e ence(g: Geome y2DIn e ace): Geome y2DIn e ace
+disjoin (g: Geome y2DIn e ace): BooleanValue
+dis ance(g: Geome y2DIn e ace): RealValue
+en elope(): Geome y2DIn e ace
+equals(g: Geome y2DIn e ace): BooleanValue
+ omGml(s: CS ing): Geome y2DIn e ace
+ omWk (s: CS ing): Geome y2DIn e ace
+ge P ecision(): In ege Value
+ge Resolu ion(): FixedP ecisionValue
+gml(): CS ingValue
+in e sec ion(g: Geome y2DIn e ace): Geome y2DIn e ace
+in e sec s(g: Geome y2DIn e ace): BooleanValue
+o e laps(g: Geome y2DIn e ace): BooleanValue
+symDi e ence(g: Geome y2DIn e ace): Geome y2DIn e ace
+ ouches(g: Geome y2DIn e ace): BooleanValue
+union(g: Geome y2DIn e ace): Geome y2DIn e ace
+wi hin(g: Geome y2DIn e ace): BooleanValue
+wk (): CS ingValue
Figu e 5.4: Class diag am o Poin 2D and Geome ic da a ypes in p o o ype implemen a ion.
5.3. Da a S uc u es Implemen a ion 127
and access geome ies, espec i ely. Fu he mo e, p imi i e mappings de ined in Table A.8,
Table A.9, Table A.10 and Table A.11 a e also inco po a ed in o Geome y2DValue. P op-
e y alue uses a JTS abs ac objec Geome y o s o e he geome y alue. Cu en imple-
men ed3subclasses o Geome y include LineS ing,Polygon,Mul iLineS ing,Mul iPoin
and Mul iPolygon. E en hough all men ioned p imi i e mappings a e implemen ed in Ge-
ome y2DValue, only app op ia e ones may be ep esen ed depending on he ac ual subclass
o Geome y. Simila ly o Poin 2DValue,Geome y2DValue s o es geome y p ecision and
esolu ion, and implemen s he p imi i e mappings de ined in Geome y2DIn e ace.
5.3 Da a S uc u es Implemen a ion
E icien s uc u es a e equi ed o eco ding da a and me ada a ela ed o Dimensions,Ex-
ensional MappingSe s and Cons an s bo h in disk and main memo y. A de ailed desc ip ion
o such s uc u es implemen ed in he de eloped p o o ype is p o ided in his sec ion.
5.3.1 In-Memo y S uc u es Implemen a ion
Each Dimension,Ex ensional MappingSe and Cons an , ei he ob ained om disk o cal-
cula ed, is eco ded in main memo y in a s uc u e composed o a heade , wi h app op ia e
me ada a, and a da a a ea.
Me ada a eco ded in a Dimension heade include name, size and da a ype. A Dimension
migh be ob ained om disk o gene a ed in memo y as a esul o some ope a ion. A boolean
IsS o ed is kep in he heade o iden i y hese wo ypes o Dimensions. A ibu e S o age-
Name is used o iden i y Dimensions s o ed in he local ca alog (in oduced in nex Sec ion).
Boolean a ibu e IsMa e ialized shows whe he a Dimension is ma e ialized in main memo y
o no . A non-ma e ialized Dimension (Fig. 5.5(b)) only eco ds unique elemen iden i ie s
in main memo y, which e e ence elemen posi ions. Such e e ences a e gene a ed in main
memo y using he size o he Dimension. A ma e ialized Dimension migh ha e been gene -
a ed in memo y, in such case i has only da a alues (Fig. 5.5(c)), o i may ha e been ead
om disk, in such case i has bo h e e ences and da a alues (Fig. 5.5(a)). Non-ma e ialized
s o ed Dimensions enable he implemen a ion o la e ma e ializa ion [2], which a oids ha ing
o ead da a alues om disk which a e no in ol ed in any calcula ion.
3h p://loca ion ech.gi hub.io/j s/ja adoc/.

128 Chap e 5. MAPAL Implemen a ion
Name: S a ionId
Size: 80
IsSampling: False
IsS o ed: T ue
S o ageName: S a ionId
IsMa e ialized: T ue
Da aType: In ege
Da aChannel: Pos Gis
Heade Da a
Re s Values
0
1
2
3
4
5
6
...
893
894
896
899
1000
1001
1002
...
Name: S a ionId
Size: 80
IsSampling: False
IsS o ed: T ue
S o ageName: S a ionId
IsMa e ialized: False
Da aType: In ege
Da aChannel: Pos Gis
Heade Da a
Re s Values
0
1
2
3
4
5
6
...
(a) Ma e ialized s o ed Dimension (b) Non-ma e ialized s o ed Dim-
Name: ObsDa e
Size: 365
IsSampling: T ue
IsS o ed: False
S o ageName:
IsMa e ialized: T ue
Da aType: TimeIns an (86400)
Da aChannel:
S a : 16060
End: 16425
Heade Da a
Re s Values
16060
16061
16062
16063
16064
16065
16066
...
(c) Ma e ialized non-s o ed Dimension
ension
Figu e 5.5: Example o in-memo y Dimension s uc u es.
An Ex ensional MappingSe heade mus eco d global me ada a (Name,IsS o ed and
S o ageName) as well as me ada a o building Dimensions and Ex ensional Mappings. Fig. 5.6
illus a es an Ex ensional MappingSe compu ed in memo y o eco d he empe a u e, ele a-
ion and loca ion o each me eo ological s a ion a each obse a ion da e. Ex ensional Map-
ping Tempe a u e eco ds he esul o he e alua ion o he exp ession: Obse a ion.Tempe-
a u e(S a ionId,ObsDa e).Ex ensional Mapping m1 is a empo a y one ha eco ds he e-
sul o he exp ession S a ion.Loc(S a ionId).Ex ensional Mapping Loc sha es bo h da a and
me ada a wi h m1, he e o e i will sha e also he same heade en y. Ex ensional Mapping m2
is also empo a y and eco ds he esul o he exp ession: cas (m1(S a ionId,ObsDa e)AS
Poin 2D(7,5)). Finally, Ex ensional Mapping Ele a ion eco ds he esul o he exp es-
sion Topo.Ele a ion(m2(S a ionId,ObsDa e)). I is no iced ha Ex ensional Mapping m2
eco ds Poin 2D(7,5) alues ha e e ence elemen s in Dimension Loc5m. These e e ences
a e needed o ob ain he ele a ion alues om disk. I is he e o e no iced ha beyond he
e e ences and alues o he Dimensions and he alues o each Ex ensional Mapping, bo h
Dimensions and Ex ensional Mappings migh eco d addi ional columns ha con ain e e -
ences o s o ed Dimensions. Besides, he heade o each Ex ensional Mapping keeps eco d
o he subse o Dimensions om which i is dependen , i.e., i s eal domain and he exp es-
sion ha was used o compu e i . The o me is used du ing agg ega e ope a ions, as i will
be shown in Sec ion 5.6, whe eas he la e helps in a oiding he compu a ion o duplica e
Ex ensional Mappings in he same Ex ensional MappingSe as i is he case o Ex ensional
Mappings m1 and Loc.
5.3. Da a S uc u es Implemen a ion 129
Re e encedBy
m2 {Loc5m}
Re Dimensions
Re Dims
Dimensions
Name
S a ionId
ObsDa e
False
T ue
IsSampling
T ue
T ue
IsS o ed
False
False
IsMa e ialized
In ege
TimeIns an (86400)
Da aType
16060
S a
16424
End Size
Heade
Da a
Re s Values
0
0
0
...
1
1
...
S a ionId
Re s Values
ObsDa e
0
1
2
...
0
1
...
Tempe a u e
Values
m1
Values
m2
Values Loc5m
Ele a ion
Values
1124
1136
1206
...
1645
1705
...
(51320501, 479952838)
(51320501, 479952838)
(51320501, 479952838)
...
(53881597, 475086604)
(53881597, 475086604)
...
(102641, 959906)
(102641, 959906)
(102641, 959906)
...
(107763, 950173)
(107763, 950173)
...
1388891280
1388891280
1388891280
...
1001420550
1001420550
...
40271
40271
40271
...
332839
332839
...
Name: Tempe a u eEle a ionA S a ion IsS o ed: False S o ageName:
S o ageName
S a ionId
ObsDa e
Name
{Tempe a u e}
{m1, Loc}
{m2}
{Ele a ion}
FixedP ecision(5,2)
Poin 2D(9, 0.01)
Poin 2D(7,5)
FixedP ecision(7,3)
Da aType
Mappings
Domain
{S a ionId, ObsDa e}
{S a ionId}
{S a ionId}
{S a ionId}
Exp ession
Obse a ion.Tempe a u e(S a ionId, ObsDa e)
S a ion.Loc(S a ionId)
Cas (S a ion.Loc(S a ionId), "Poin 2D(7,5)")
Topo.Ele a ion(m2)
80
365
Da aChannel
Pos GIS
Pos GIS
Figu e 5.6: Example o in-memo y MappingSe s uc u es.
The s uc u e o each Cons an will eco d he ollowing a ibu es: name, s o age name,
IsS o ed (whe he he Cons an has been s o ed), da a alue and he exp ession e alua ed o
gene a e he da a alue (used o a oid duplica e compu a ions).
These in-memo y s uc u es o he ep esen a ion o Dimensions,Ex ensional Mapping-
Se s and Cons an s du ing he execu ion o ope a ions a e implemen ed in Ja a, making use
o he Da aF ame s uc u e o Spa k o eco d da a columns. Fig. 5.7 depic s an UML di-
ag am o he Dimension,Ex ensional MappingSe and Cons an s uc u es designed o he
implemen a ion.
Each Cons an esul ing om some MAPAL ope a ion is ep esen ed wi h an objec o
class Cons an , Fig. 5.7. No ice ha , oge he wi h ele an names, his class has also a ibu es
o ep esen bo h i s da a alue (o class MapalValue) and he exp ession used o compu e i .
As explained in Sec ion 5.2.1, class MapalValue is he oo o a hie a chy o classes ha enable
he ep esen a ion o all he sys em da a ypes. Each subclass o he hie a chy p o ides an
app op ia e da a s uc u e o he da a alue and a collec ion o me hods o implemen equi ed
130 Chap e 5. MAPAL Implemen a ion
Cons an
-name: CS ingValue
-isS o ed: BooleanValue
-s o ageName: CS ingValue
-exp ession: CS ingValue
-da a: MapalValue
+Li e al(name: CS ingValue, exp ession: CS ingValue)
+Impo (name: CS ingValue, s o ageName: CS ingValue, channelName: CS ingValue)
+Scan(name: CS ingValue)
+E alua eIn ensionalMapping(name: CS ingValue, mapping: CS ingValue, a gumen s: Cons an [1..*])
+E alua eEx ensionalMapping(name: CS ingValue, mapping: CS ingValue, a gumen s: Cons an [1..*])
+E alua eAgg ega eMapping(name: CS ingValue, o de By: O de BySpeci ica ion, c: CS ingValue, agg: AggMappingCall, ms: MappingSe )
+S o e(s o ageName: CS ingValue)
+Expo (s o ageName: CS ingValue, channelName: CS ingValue)
Dimension
-da a: Da aF ame
+Impo (name: CS ingValue, s o ageName: CS ingValue, channelName: CS ingValue)
+Scan(name: CS ingValue)
+SamplingDimension(name: CS ingValue, s a : Cons an , end: Cons an )
+Union(dim: Dimension)
+In e sec ion(dim: Dimension)
+P ojec (dimensionName: CS ingValue, booleanMappingName: CS ingValue, ms: MappingSe )
+S o e(s o ageName: CS ingValue)
+Expo (s o ageName: CS ingValue, channelName: CS ingValue)
DimensionHeade
-name: CS ingValue
-s o ageName: CS ingValue
-da aChannel: CS ingValue
-size: In ege Value
-da aType: Da aTypeMe ada a
-isSampling: BooleanValue
-isS o ed: BooleanValue
-isMa e ialized: BooleanValue
SamplingDimensionHeade
-s a : MapalValue
-end: MapalValue
MappingSe
-da a: Da aF ame
+Impo (name: CS ingValue, s o ageName: CS ingValue, channelName: CS ingValue, domain: CS ingValue[1..*])
+P oduc (name: CS ingValue, dims: Dimension[1..*])
+P oduc (dim: Dimension)
+P ojec (name: CS ingValue, componen s: CS ingValue[1..*])
+E alua eIn ensionalMappings(mappingNames: CS ingValue[1..*], mappings: In MappingCall[1..*])
+E alua eEx ensionalMapping(mappingName: CS ingValue, mapping: Ex MappingCall)
+E alua eCons an (mappingName: CS ingValue, k: Cons an )
+E alua eAgg ega eMappings(name: CS ingValue, g oupBy: CS ingValue[1..*], o de By: O de BySpeci ica ion, c: CS ingValue,
mappingNames: CS ingValue[1..*], aggs: AggMappingCall[1..*])
+S o e(s o ageName: CS ingValue)
+Expo (s o ageName: CS ingValue, channelName: CS ingValue)
MappingSe Heade
-name: CS ingValue
-s o ageName: CS ingValue
-isS o ed: BooleanValue
-dimensions1..*
MappingHeade
-name: CS ingValue[1..*]
-da aType: Da aTypeMe ada a
-domain: CS ingValue[1..*]
-exp ession: CS ingValue
-mappings1..*
Re e encedDimensions
-Re e encedBy: CS ingValue
- e Dimensions: CS ingValue[1..*]
- e Dims 0..*
AggMappingCall
-aggMapping: CS ingValue
-a gumen s: CS ingValue[1..*]
Ex MappingCall
-ex Mapping: CS ingValue
-a gumen s: CS ingValue[1..*]
In MappingCall
-in Mapping: CS ingValue
-a gumen s: CS ingValue[1..*]
O de BySpeci ica ion
-componen : CS ingValue[1..*]
-di ec ion: O de ingDi ec ion[1..*]
«enume a ion»
O de ingDi ec ion
Ascending
Descending
Da aTypeMe ada a
-da aTypeName: MapalDa aType
-p ecision: In ege Value
+scale: In ege Value
- esolu ion: RealValue
«enume a ion»
MapalDa aType
Tuple
Da aValue
BooleanValue
CS ingValue
Nume icValue
In ege Value
RealValue
FixedP ecisionValue
SamplingValue
Tempo alValue
TimeValue
TimeIns an Value
Da eValue
Poin 1DValue
Poin 2DValue
Geome y2DValue
Figu e 5.7: In-memo y s uc u es implemen a ion wi h Spa k.
5.3. Da a S uc u es Implemen a ion 131
p imi i e mappings and ope a o s. Each Cons an ope a ion desc ibed in Subsec ion 4.3.3 has
a ele an me hod in class Cons an .
Each Dimension gene a ed by some ope a ion is ep esen ed in memo y by an ins ance o
class Dimension, Fig. 5.7. The heade o class Dimension is an ins ance o class Dimension-
Heade . No ice ha class SamplingDimensionHeade is p o ided o he p ope ep esen-
a ion o SamplingDimensions.Dimension da a is s o ed in a Spa k Da aF ame, which may
ha e one o wo columns depending on whe he he Dimension is s o ed o /and ma e ialized,
as shown in he example o Fig. 5.5. Each Dimension ope a o desc ibed in Subsec ion 4.3.3
is implemen ed wi h a ele an me hod in class Dimension.
Each Ex ensional MappingSe gene a ed by some ope a ion is s o ed in memo y by an
ins ance o class MappingSe . The heade is an ins ance o ype MappingSe Heade , which
includes one DimensionHeade pe Dimension o he Ex ensional MappingSe and one Map-
pingHeade pe Ex ensional Mapping. In o ma ion ela ed o which Ex ensional Mapping
o Dimension e e ences alues o s o ed Dimensions is p o ided by ins ances o class Re -
e encedDimensions. All he da a columns o an Ex ensional MappingSe a e ep esen ed in
a single Da aF ame. Such Da aF ame includes columns o Dimension e e ences and Di-
mension alues, o Ex ensional Mapping alues and o Dimensions e e enced by ei he
Ex ensional Mappings o Dimensions. Each Ex ensional MappingSe ope a ion desc ibed in
Subsec ion 4.3.3 is implemen ed by a ele an me hod in class MappingSe .
Addi ional classes ha e been de ined o ease he p ope ep esen a ion o se e al class
a ibu es and me hod a gumen s. Thus, a ibu e da aType in DimensionHeade and Map-
pingHeade s o es in o ma ion o eco ded da a ype in a Da aTypeMe ada a objec , which
in u n s o es he da a ype name in a MapalDa aType objec . Op ional a gumen o de By, in
me hods o calcula ing agg ega e mappings bo h in Cons an and MappingSe classes, s o es
he o de ing speci ica ion in an O de BySpeci ica ion objec , which in u n s o es he o de ing
di ec ion in an O de ingDi ec ion objec . Classes In MappingCall,Ex MappingCall and Ag-
gMappingCall enable he ep esen a ion o exp essions o he o m mapping(a1,··· ,an)used
in he e alua ion o in ensional,ex ensional and agg ega e mappings, espec i ely.
Spa k class Da aF ame p o ides me hods o p ope ly depic he Da aF ame schema (p i-
n Schema()) as well as he eco ded Da aF ame da a (show()). Fo illus a ion pu poses,
Fig. 5.8 depic s he ou pu o such me hods in he s o ed Da aF ame o Ex ensional Map-
pingSe Municipali y. No ice ha Dimensions and Ex ensional Mappings alues a e eco ded