Professional Documents
Culture Documents
2014 Book WebAndWirelessGeographicalInfo-legal
2014 Book WebAndWirelessGeographicalInfo-legal
Ki-Joune Li (Eds.)
Geographical
Information Systems
13th International Symposium, W2GIS 2014
Seoul, South Korea, May 29–30, 2014
Proceedings
123
Lecture Notes in Computer Science 8470
Commenced Publication in 1973
Founding and Former Series Editors:
Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Alfred Kobsa
University of California, Irvine, CA, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
TU Dortmund University, Germany
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Gerhard Weikum
Max Planck Institute for Informatics, Saarbruecken, Germany
Dieter Pfoser Ki-Joune Li (Eds.)
13
Volume Editors
Dieter Pfoser
George Mason University
Department of Geography
and Geoinformation Science
Fairfax, VA, USA
E-mail: dpfoser@gmu.edu
Ki-Joune Li
Pusan National University
Department of Computer Science
and Engineering
Pusan, South Korea
E-mail: lik@pnu.edu
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of
the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology
now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection
with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and
executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication
or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location,
in ist current version, and permission for use must always be obtained from Springer. Permissions for use
may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution
under the respective Copyright Law.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication
does not imply, even in the absence of a specific statement, that such names are exempt from the relevant
protective laws and regulations and therefore free for general use.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Typesetting: Camera-ready by author, data conversion by Scientific Publishing Services, Chennai, India
Printed on acid-free paper
Springer is part of Springer Science+Business Media (www.springer.com)
Preface
These proceedings contain the papers selected for presentation at the 13th In-
ternational Symposium on Web and Wireless GIS held during May 29–30, 2014.
This symposium was intended to provide a forum for and review of the advances
in, both, the theoretical and the technical developments in the Web and wireless
GIS area. Compared to other academic events on GIS, this series of symposia
focuses on Web and wireless aspects. The first symposium was held in Kyoto
in 2001. The locations have since then been alternating between Asia, Europe,
and North America and this year’s W2GIS symposium was held in Seoul, South
Korea.
In all, 22 submissions were received from Europe, Asia, North America, and
Middle East countries. Even though the number of submissions was slightly
smaller than in the previous years, the quality of the papers was very high.
Through a rigorous review process with three reviewers per paper, 12 papers were
selected for presentation at the symposium and publication in the proceedings.
The selected papers cover several interesting topics including parallel processing
of geo-spatial data, the geo-social net and geo-referenced multimedia, geo-sensor
networks, indoor GIS, and Web and wireless GIS applications. All topics reflect
recent progress in the domain of Web and wireless GIS.
Distinguished keynote addresses were given by Dr. Erik Hoel from ESRI, Prof.
Cyrus Shahabi from USC, and Dr. Sang-joon Park from ETRI. Dr. Hoel provided
an overview of green field research topics from an industrial perspective. Prof.
Shahabi explained the basic concepts and challenges of GeoCrowd. Dr. Park
gave an explanation of indoor positioning technologies based on his research and
development experiences at ETRI from the past ten years.
We wish to thank the authors for their high-quality contributions and the
Program Committee for their thorough and timely reviews. We also would like
to thank the sponsors and Springer LNCS for their support of the symposium.
Finally, our thanks go also to the Steering Committee for providing continuous
advice.
Symposium Chair
Ki-Joune Li Pusan National University, South Korea
D. Pfoser George Mason University, USA
Steering Committee
M. Bertolotto University College Dublin, Ireland
J.D. Carswell Dublin Institute of Technology, Ireland
C. Claramunt Naval Academy Research Institute, France
M. Egenhofer NCGIA, USA
K.J. Li Pusan National University, South Korea
S. Liang University of Calgary, Canada
K. Sumiya University of Hyogo, Japan
T. Tezuka University of Tsukuba, Japan
C. Vangenot University of Geneva, Switzerland
Program Committee
M. Arikawa University of Tokyo, Japan
S. Bell University of Saskatchewan, Canada
A. Bouju La Rochelle University, France
T. Brinkhoff Jade University Oldenburg, Germany
E. Camossi European Commission, Joint Research Centre,
Ispra, Italy
T.-Y. Chou Feng Chia University, Taiwan
R. De By ITC, The Netherlands
S. Di Martino University of Naples Federico II, Italy
M. Duckham University of Melbourne, Australia
P. Froehlich Telecommunications Research Center Vienna,
Austria
J. Gensel Laboratoire d’Informatique de Grenoble,
France
Y. Ishikawa Nagoya University, Japan
B. Jiang University of Gävle, Sweden
H.K. Kang KRIHS, South Korea
H. Karimi University of Pittsburgh, USA
Y. Kidawara National Institution of Communications and
Technology, Japan
M.S. Kim ETRI, South Korea
VIII W2GIS 2014 Symposium Committee
Local Arrangements
B.G. Kim Pusan National University, South Korea
J.H. Ham Pusan National University, South Korea
Sponsors
Pusan National University, South Korea
Korea Spatial Information Society, South Korea
Korea Agency for Infrastructure Technology Advancement, South Korea
Loc&All Ltd., South Korea
Table of Contents
Umesh Bellur
1 Introduction
A Geographic information system (GIS) is one that captures, stores, analyzes,
manages and presents spatial data along with relevant non spatial information.
A GIS forms the core of many applications in areas as varied as agriculture to
consumer applications such as location based services. Today, many computer
applications, directly or indirectly, are based on carrying out spatial analysis
at the back-end. Spatial analysis involve spatial operations to be performed
on spatial data. We represent the spatial features such as roads, towns, cities
etc as Vectored data. Vector data is collection of latitude-longitude pairs called
Geospatial points, structured into a format so as to represent the geometry of
spatial features. An example would be the use of vectored polygons to represent
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 1–18, 2014.
© Springer-Verlag Berlin Heidelberg 2014
2 U. Bellur
city or state boundaries. For example, to represent the road network of the state
of Arizona in the USA, we require approximately ten million points, each of which
is a coordinate involving a latitude and longitude. The number of geospatial
coordinates required to represent the geometry of real world objects varies from
few hundreds to tens of thousands. Spatial operations such as overlapping test
(to check whether two areas overlap each other or not) etc are performed on a set
of vector spatial data sets. These operations are generally the implementation
of geometric algorithms. Because of the enormous number of points required to
represent a single spatial object and complexity of geometric algorithms, carrying
out spatial computation on real world data sets has been resource-intensive. A
core-duo, 2G machine takes about 75-85% CPU consumption for spatial join
queries. We therefore consider spatial operations to be a potential candidate for
parallelism.
Parallel spatial DBMSs such as Oracle spatial are being widely used for
carrying out parallel computation of spatial data across a cluster of machines.
Parallel DBMSs design have been optimized to yield high performance but do
not score well in terms of scalability. Asterdata (www.asterdata.com), a parallel
database known to posses one of the best scalability in parallel database com-
munity is scalable to around 330-350 nodes. In parallel DBMSs, the intermediate
results of query are pipelined to next query operator or another sub-query with-
out being written to disk. Now if any sub-query fails, the intermediate results
processed so far are lost and entire query have to be restarted again. Not writ-
ing intermediate data onto disks, results in high performance but at the same
time avoid parallel DBMS from exhibiting good fault tolerance. With the in-
crease in the size of a cluster of commodity machines, the probability of node
or task failure also increase and this failure is likely to become a frequent event
in case the parallel DBMS cluster size is increased to the order of few hundreds
of nodes. This would result in a significant degradation in the performance of
parallel DBMSs. Thus, poor fault tolerance capability puts an upper bound on
the cluster size of parallel DBMSs (up to few tens of nodes), as a result of which
parallel DBMSs have limited scalability.
MapReduce [1], on the other hand, provides a framework for processing large
volumes of data, of the order of hundreds of terabytes. The scalability and fault
tolerance features of MapReduce enable us to use a large number of commodity
machines for carrying out data intensive computations cheaply. The Map-Reduce
parallel programming model does not necessitate a programmer to understand
and control the parallelism inherent in the operation of the paradigm.
In this paper we present the design of a shared nothing, data distributed,
spatial query processing system that we term HadoopDB. We employ the Hadoop
MapReduce libraries to process spatial data extracted from a spatial DB such
as postGIS. We have written a query converter that takes a SQL like query at
the front end and turns it automatically into a map reduce job that uses data
from a set of postGIS instances in the back end in which the spatial data set to
be operated on is distributed. We show that we can achieve near linear speed
On Parallelizing Large Spatial Queries Using Map-Reduce 3
up with the number of map jobs deployed on commodity hardware this proving
the feasibility of this approach for processing of large spatial data sets.
The rest of this paper is organized as follows. We first present a brief back-
ground of MapReduce and qualitatively analyze the parallel spatial DBs with
MapReduce in Section 2. We then look at related efforts in Section 3. In Section
4, we present the overview of HadoopDB architecture with a description on query
execution steps and the scheme of Vector data distribution over HadoopDB clus-
ter nodes. In Section 5, we present the set of benchmarks used to evaluate our
system and experimental results of these benchmarks. We conclude the paper
with a brief summary and directions for future work.
A typical MapReduce job require the programmer to provide the problem logic
of two functions : Map and Reduce functions. The Map function partitions the
input data to be processed preferably into disjoint sets. Each set is then returned
to Reduce function for further processing. Key-value pairs form the basic data
structure in MapReduce. The input to the Map function is the key value pair
(k1 , v1 ), key k1 being the byte offset of a record within the input file, the value k2
being the record line. The Map output the set of intermediate key-value pairs,
[(k2 , v2 )]. The MapReduce library implements the shuffle phase which lies in
between the Map and Reduce phases. The shuffle phase rearrange the interme-
diate Map-output and aggregates all the values associated with the same key
together to form a (key, list(values)) pair which forms the input to the reduce
phase to follow. The last phase is the Reduce phase which processes the list of
values associated with the same key. An identical Reducer function executes in
parallel on worker nodes. The output of the Reducers is the final output that is
written back onto disk.
The Apache Hadoop [2] software library is a framework that allows for the dis-
tributed processing of large data sets across clusters of computers using MapRe-
duce. It is designed to scale up from single servers to thousands of machines, each
offering local computation and storage. Rather than rely on hardware to deliver
high-availability, the library itself is designed to detect and handle failures at
the application layer, so delivering a highly-available service on top of a cluster
of computers, each of which may be prone to failures. Hadoop Distributed File
System (HDFS) is the primary storage system used by Hadoop applications.
HDFS creates multiple replicas of data blocks and distributes them on compute
nodes throughout a cluster to enable availability and reliability.
Processing a large amount of spatial data has become a critical issue in the
recent times. Parallel DBMS technology has been widely used for processing
4 U. Bellur
larger volumes of vector data, but with the ever increasing need to process larger
and larger spatial data sets, parallel DBMS is no more a desirable technology
for this purpose. We now look at a quick comparison of parallel spatial RDBMSs
and data distribution approaches to process spatial queries.
1. Scalability: Parallel database systems scale really well into the tens and
rarely even into low hundreds of machines. Unfortunately, parallel database sys-
tems, as they are implemented today, unlike Hadoop, they do not scale well into
the realm of many thousands of nodes. Enormous quantities of spatial data is
constantly being generated from various sources such as satellites, sensors and
mobile devices. NASA’s Earth Observing System (EOS), for instance, generates
1 terabyte of data every day [15]. Processing such large volumes of spatial data
on a daily basis needs to employ many more machines, probably in the order of
few thousands which parallel DBMS technology do not support.
2. Fault Tolerance: Fault tolerance is the ability of the system to cope up with
node/task failures. A fault tolerant DBMS is simply one that does not have to
restart a query if one of the nodes involved in query processing fails. Hadoop has
been especially designed to be fault tolerant since it works on commodity hard-
ware. In parallel DBMS, the intermediate results of query are pipelined to next
query operator or another sub-query without being written to disk. Now if any
sub-query fails, the intermediate results processed so far are lost and entire query
have to be restarted again. However, in Hadoop, the intermediate results of the
mappers (Or Reducers) are always written to the disk before they are fetched
by the Reducers (Or mappers of the next Map-Reduce stage). Thus, instead of
pipelining the intermediate results/data to subsequent processes, Hadoop pro-
cesses themselves are pipelined to operate on target data. In case of a task/node
failure, the same task is restarted on another node to operate on the target
intermediate data which still exists on disk.
3. Performance: Parallel DBMS have been designed to work in real time and
therefore focus on performance, whereas Hadoop has been designed for batch
processing. Hadoop was not originally designed for structured data analysis, and
thus is significantly outperformed by parallel database systems on structured
data analysis tasks. In fact, Hadoop takes around 6-8 seconds just to initiate
distributed processing on a 3-4 node cluster where as parallel DBMS finishes
much of the computation in this time period. Hadoop’s slower performance is also
because Hadoop stores data in the accompanying distributed file system (HDFS),
in the same textual format in which the data was generated. Consequently, this
default storage method places the burden of parsing the fields of each record
on user code. This requires each Map and Reduce task to repeatedly parse and
convert string fields into the appropriate type. This, further results in widening
the performance gap between MapReduce and a parallel DBMSs [3].
To summarize, MapReduce offers excellent scalability and good fault tolerance
which enables MapReduce to process larger data sets on sufficiently large clusters
of commodity machines, whereas parallel DBMS technology is limited to cluster
sizes up to few dozen nodes but outperforms the MapReduce in terms of response
On Parallelizing Large Spatial Queries Using Map-Reduce 5
time. The authors in [3] discuss the comparison between MapReduce and parallel
DBMS in greater detail.
3 Related Work
Parallel spatial DBMSs such as Oracle Spatial have been in use for carrying out
spatial analysis on moderately large spatial data sets. Today, spatial RDBMSs
have improved to support a variety of spatial indexing mechanisms which enable
it to process spatial queries really fast. But, parallel DBMS, because of their
limited scalability, fail to handle the ever increasing size of spatial repositories.
To overcome this barrier, researchers have focused on data distribution as an
alternate solution which is capable of executing a variety of spatial operations
such as spatial joins [[7],[8],[9]], nearest neighbor queries [5] and Voronoi diagram
construction [10].
There has been recent work that discusses how spatial queries can be natu-
rally expressed with the MapReduce programming model but without explicitly
addressing any of the details of data distribution or parallelization. The work
discusses algorithmic strategies to parallelize spatial operations such as spatial
join, Nearest Neighbor query and data partitioning in a MapReduce framework.
Spatial Join with MapReduce (SJMR) is the strategy to perform a Spatial join
between two data sets in shared nothing environment. [[7],[8],[9]] mainly fo-
cuses on different variations of SJMR and show that MapReduce is applicable
in computation-intensive spatial applications. Our focus has been to realize an
end to end system that can take a SQL like spatial query and execute it using
MapReduce while fetching the relevant data from a spatial DB. The elements
of mapping a SQL like syntax to MapReduce semantics is non-trivial as is in-
tegrating the MapReduce envrionment (HDFS in particular) with spatial DBs
such as postGIS.
the database layer, thus speeding up the queries by making use of database’s
optimized capabilities such as Indexing which is not supported in MapReduce,
whereas the aggregation of data from multiple nodes, if required, is done in the
MapReduce environment.
Figure 1 shows the architecture of the system. The Database Connector (DC)
component of the system has the responsibility to connect to the databases
hosted on cluster machines. DC probes the Catalog file residing in HDFS to
locate the host address, port number and database name for a given table name.
It also contains the replication details of all tables. The databases hosted on
cluster nodes are spatially enabled, open source Postgres databases which we
shall now refer to as postGIS. The Hadoop daemon, called the Task Tracker
runs on each cluster node to assist and control the execution of local Maps and
Reducers.
Geoserver [13] comprises the front end of the system. It allows users to edit and
query geospatial data. Designed for interoperability, it publishes data from any
major spatial data source using open standards (Geography Markup Language
or GML). The HadoopDB library relies on the HIVE SMS (SQL-to-MapReduce-
to-SQL) [12][11] planner to provide high level SQL interface which converts SQL
query into equivalent MapReduce plan. But it doesn’t support spatial data types
and operations. Therefore, we have implemented a simple SQL-to-MapReduce
Converter module (SMC) in the Geoserver that recognize the basic spatial data
types viz Polygons, Multipolygons, LineStrings and Points and translates the
spatial SQL queries into the equivalent compiled MapReduceSQL code. We shall
describe its capabilities and features in Section 4.2.
SQL Query
Namenode
Geoserver
Reader
catalog.xml
HDFS
Universe
P1 O1 P2
P4 P3
9 10 11
P2 P3 P4
6 7 8
P3 P4 P1
3 4 5
P4 P1 P2
0 1 2
P1 P2 P3
nodes are the nodes which host any of the tables specified in original query. This
information comes from the catalog file residing on HDFS. The query execution
passes through three phases: (a) The first phase involves executing the original
query inside the database locally on each of the cluster nodes. That is why we
call it a SQL-enabling MapReduce job because their input data source is DBMSs
instead of HDFS. (b) In the second phase, the tuples extracted from the DBMSs
(in the first phase), called the ResultSet, are read by the Mappers. Here the Map
job performs any extra computation, that may not be supported at the postGIS
layer. For example, although we can output all pair of roads thats intersect each
other by a simple DBMS query, if we are specifically interested in finding all
T-Point intersection between roads, it can be tested in the map phase whether
the two roads, which are now confirmed to intersect, actually intersect at around
90 degrees or not. (c) In the third phase, Reducers start when all mappers have
finished, each reducer, aggregates the individual map-outputs, consolidates them
and writes the final results back onto HDFS, which can then be read by the
Geoserver for visual rendering. This phase is optional, and is not required if no
aggregation of Map-outputs is required from different cluster nodes. Usually, the
third phase comes into picture in case of nested queries, or queries with GROUP
BY clause.
Inter site Spatial Join: As mentioned earlier, partitioning of the spatial data
sets among database sites is governed primarily by Spatial joins. As long as the
spatial join operand tables reside on the same database sites, the database layer
takes care of performing speedy joins by exploiting spatial indices. However,
there can be scenarios where we need to perform a join across tables residing
on different database sites. We call such spatial joins as Inter site Spatial join.
For example, we have two tables counties and soils which stores the geometry of
counties and soil-distribution (as polygons) respectively of the state of california
and resides on two different database sites. Here we exploit the advantage of
having MapReduce as a task coordination layer between the databases in the
sense that it has the capability to programmatically represent a wide variety
of logic that operates on tuples extracted from different DBs. We can therefore
shift the entire spatial join algorithm to the MapReduce layer. Let us suppose we
have spatial data sets R and S residing on database sites Ri and Si respectively.
Performing inter site spatial join involves three steps :
1. Read Source Data: Read qualified tuples from the sites Ri and Si in parallel
as per the WHERE SQL clause, if any. These tuples are read by the Map
Phase.
2. Spatial Data Partitioning: The partitioning scheme described in the previous
section, is now performed online and is implemented in the Map Phase. This
phase needs the characteristics of data sets such as universe dimensions and
number of partitions as an additional input which is essential to decompose
the universe into partitions. Each partition contains the spatial objects from
the set R and S which are potential candidate to qualify join predicate.
3. Performing actual spatial join: Each partition is then processed by reducers
in parallel to compute the spatial join between R and S. We implement the
On Parallelizing Large Spatial Queries Using Map-Reduce 11
well known Sweepline algorithm in this phase which is used to perform the
spatial join.
5 Experimental Evaluation
We now present a set of benchmarks to asses the performance of Geoserver on
top of spatial HadoopDB as compared to a single node Geoserver (a geoserver
with localhost postGIS in the backend) in the domain of spatial data processing.
We subject each of the systems to spatial queries with different execution plans
to explore the behavior of the two systems.
The test data comprises of the counties (polygons) and roads (Linestrings) of
three states of the Unites States : California, Arizona and Texas. Following are
the details of the environment we conduct experiments.
Data Distribution: The test data is distributed across a three node cluster. In
case of Hadoop, we upload the input files onto HDFS which are then scattered
into fixed size data blocks across HDFS. In case of HadoopDB, one postGIS
database server is active on each node. We distribute the data State wise, that
is, each node stores the county and roads table of exactly one state. All the
experiments are performed on this three node cluster set up. The network com-
munication between cluster nodes is established through a 100 Mbps ethernet
backplane.
the selection criteria may belong to only a few, or even to one data chunk. But
Hadoop’s inability to index a data tuple to the data chunk that contains the
tuple requires it to process all the data chunks and thus unnecessarily launch as
many mappers as the number of data chunks thereby increasing the job tracker
overhead to control the ongoing computation and results in over-consumption of
cluster resources.
450
select id, geom
time in seconds
30
20
3Node 3Node 1Node
Hadoop Geoserver Geoserver
Result and Explanation: The query in our experiment outputs only those roads
whose length is greater than 0.01 units. HadoopDB clearly outperforms single
node Geoserver as shown Figure 4. In HadoopDB, the qualified tuples are fetched
out of the database layer as per the SQL WHERE condition logic. Tuples not
satisfying the constraint are filtered out at the database layer itself. Hence, the
workload of the MapReduce environment is very low as compared to that of the
pure MapReduce case. Hadoop scans all the data tuples and so exhibits terrible
performance.
Query 2: Spatial Join Queries
Goal: To evaluate the performance of Hadoop, HadoopDB and that of single
postGIS while performing spatial joins.
We perform the spatial join between counties and roads of all three states.
We aim to determine those roads which intersect with each other in all counties
(some roads intersect at the boundary of the counties). We employ the SJMR
algorithm [6] in which the partitions correspond to bounding boxes of states. For
HadoopDB and single DB , we use the SQL Query as shown in figure 5.
Hypothesis: We perform the above spatial join query by implementing SJMR
on Hadoop which involves the online partitioning of spatial data sets in the Map
Phase followed by Reduce phase performing actual spatial join. In case of Intra
Join on HadoopDB (that is join operand tables resides on same database sites),
data partitioning was done offline and is not a part of run time processing. The spa-
tial join query logic is pushed into the database layer, thus completely absolving
On Parallelizing Large Spatial Queries Using Map-Reduce 13
the Map phase of any compute intensive geometric computations and we also avoid
the reduce phase altogether. We also perform Inter site join on HadoopDB by re-
distributing the test data between two database sites, which is similar to SJMR
except that its data source is a set of database tables rather than HDFS.
Reduce phase
60
Map phase
50
40
time in seconds
30
20
10
0
3Node 3Node 1Node
Hadoop Geoserver Geoserver
Reduce phase
22
Map phase
20
18 select t.geom,b.geom
from polygons as b
16 order by Distance(t.geom,b.geom)
14 limit k;
time in minutes
12
10
8
6
4
2
0
3Node 3Node 1Node
Hadoop Geoserver Geoserver
250
MR Stage 1
200 MR Stage 2
0
3Node 3Node 1Node
Hadoop Geoserver Geoserver
Discussion
HadoopDB outperforms Hadoop in distributed computations on spatial data due
to storing data in spatial DBs instead of as flat files. However, the database layer
alone cannot capture spatial problems that require spatial continuity analysis.
For example, in the KNN query problem, independent local query execution on
database sites might yield incorrect results. This is due to the fact that some
true nearest neighbors of the spatial object resides on a different database site
as a result of the partitioning. HadoopDB relies on the MapReduce layer to
compute the nearest neighbors that spawns over multiple database sites. Other
distributed Shared-Nothing spatial DBMSs, however, have to rely on only Table
Import strategy only to solve such problems. It should also be noted that in
spatial analysis, it is not uncommon to perform the join on non-spatial common
attribute between two tables. This is trivially done via SQL when operand tables
hosts on same database sites. But, in case the tables resides on different database
sites, we need to employ MapReduce layer to perform relational join. However,
MapReduce can capture the relational joins only on the Equality predicate. It is
a limitation of MapReduce paradigm that it cannot capture the inequality based
joins such as T1.A < T2.A.
With the space partitioning scheme we followed, spatial objects that satisfy
the overlap criteria with two or more partitions may get replicated to two or
more database sites. This results in redundant computation and final results of
the original query may contains duplicate results.
On Parallelizing Large Spatial Queries Using Map-Reduce 17
6 Conclusion
We conclude that MapReduce programming paradigm alone is sufficient to ex-
press most spatial query logic, but lack of support for spatial indexing mechanism
and its brute force nature make it impractical for interactive real time spatial
data analysis systems. HadoopDB shows great promise in query execution speeds
as spatial indices of postGIS adds a significant advantage, but on the other hand
performance degrades down to no better than MapReduce for queries where
the execution plan tends to go against the “Shared-Nothing“ restriction such as
with inter site spatial join. We also realize that vector spatial data, by its nature,
is well suited to be processed on Shared-Nothing distributed database clusters.
Hosting all spatial objects confined within a finite geographical boundary as a
single table chunk on one database node eliminates need to manipulate tables
across database nodes, thus abiding by Hadoop’s shared-nothing architecture,
avoiding the dependency on MapReduce layer and therefore yielding high per-
formance. But this advantage comes at the cost of correctness of the results of
some uncommon spatial queries such as KNN queries. The situation gets com-
pounded if spatial data suffers from partition skew and load balancing is required
which is not uncommon.
References
1. Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters.
In: Proceedings of the 6th Conference on Symposium on Operating Systems Design
and Implementation, vol. 6, p. 10. USENIX Association, San Francisco (2004)
2. Bialecki, A., Cafarella, M., Cutting, D., Malley, O.: Hadoop: a framework for
running applications on large clusters built of commodity hardware, Wiki at
http://lucene.apache.org/hadoop
3. Pavlo, A., Paulson, E., Rasin, A., Abadi, D.J., DeWitt, D.J., Madden, S.R., Stone-
braker, M.A.: A comparison of approaches to large-scale data analysis. In: Proceed-
ings of the 35th SIGMOD International Conference on Management of Data, pp.
165–178. ACM Press, New York (2009)
4. Stonebraker, M., Abadi, D., DeWitt, D.J., Madden, S., Paulson, E., Pavlo, A.,
Rasin, A.: MapReduce and parallel DBMSs: friends or foes? Commun. ACM 53(1),
64–71 (2010)
5. Zhang, J., Mamoulis, N., Papadias, D., Tao, Y.: All-nearest-neighbors queries in
spatial databases, p. 297 (June 2004)
6. Zhang, S., Han, J., Liu, Z., Wang, K., Xu, Z.: SJMR: Parallelizing spatial join with
MapReduce on clusters. In: Proceedings of CLUSTER, pp. 1–8 (2009)
7. Dittrich, J.P., Seeger, B.: Data redundancy and duplicate detection in spatial join
processing. In: ICDE 2000: Proceedings of the 16th International Conference on
Data Engineering, pp. 535–546 (2000)
8. Brinkhoff, T., Kriegel, H.P., Seeger, B.: Parallel processing of spatial joins using
R-trees. In: ICDE 1996: Proceedings of the Twelfth International Conference on
Data Engineering, pp. 258–265 (1996)
9. Patel, J.M., DeWitt, D.J.: Partition based spatial-merge join. In: Proceedings of
the 1996 ACM SIGMOD International Conference on Management of Data, pp.
259–270. ACM, New York (1996)
18 U. Bellur
10. Akdogan, A., Demiryurek, U., Banaei-Kashani, F., Shahabi, C.: Integrated Media
Systems Center, University of Southern California, Los Angeles, CA 90089
11. Thusoo, A., Sarma, J.S., Jain, N., Shao, Z., Chakka, P., Anthony, S., Liu, H., Wyck-
off, P., Murthy, R.: Hive - a warehousing solution over a map-reduce framework.
PVLDB 2(2), 1626–1629 (2009)
12. Abouzeid, A., Bajda-pawlikowski, K., Abadi, D., Silberschatz, A., Rasin, E.:
HadoopDB: An architectural hybrid of MapReduce and DBMS technologies for
analytical workloads. In: Proc. VLDB 2009 (2009)
13. http://en.wikipedia.org/wiki/GeoServer
14. http://arcdata.esri.com/data/tiger2000/tiger_download.cfm
15. Leptoukh, G.: NASA remote sensing data in earth sciences: Processing, archiving,
distribution, applications at the GES DISC. In: Proc. of the 31st Intl. Symposium
of Remote Sensing of Environment (2005)
Feathered Tiles with Uniform Payload Size
for Progressive Transmission of Vector Data
1 Introduction
Our motivation for designing a vector data tiling method came from the require-
ments of our open source, web-based visualization framework, Weave [12,40]. Our
goals included immediate feedback when the user visits the page and a highly
interactive and customizable visualization interface. We needed the capability of
rendering individual geometries with dynamic line and fill styles as well as poly-
gon intersection testing during brushing operations. We also wanted to be able to
interactively explore large data sets without requiring powerful server machines.
Since available solutions did not meet these requirements, a new solution had to
be developed.
To achieve these goals, it was apparent that progressive transmission of vector
data was necessary. If a fully detailed visualization cannot be transferred or
processed within a timely manner, the user should be allowed to interact with
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 19–35, 2014.
c Springer-Verlag Berlin Heidelberg 2014
20 A. Dufilie and G. Grinstein
1
A Slippy Map is web-based map which uses tiled images and supports zoom and
pan interactions. It uses a fixed set of zoom levels corresponding to magnification
factors of two. Zoom level N uses 4N square images arranged in grid covering the
entire world. Each tile is identified by a set of three integer coordinates (Z, Y, X).
Feathered Tiles 21
2 Related Work
3 Preprocessing Method
This section describes our preprocessor which converts a set of geometries into
a set of vector tiles. We first describe how we assign importance values to every
vertex in a set of geometries. Second, we describe the TileSplit algorithm for
partitioning three-dimensional data into tiles. Third, we describe how we apply
the TileSplit algorithm, and fourth we explain the critical details for minimizing
tile overlap and why we named our method Feathered Tiles.
SortByImportance(input)
output = new Array<StreamTile>
tileCount = 1
While (input.length > 0)
(chunk, tally) = RemoveChunk(input, tileCount * tileSize)
// Prevent the last level from having under-sized tiles
While (tileCount > 1) And (tileCount * tileSize > tally)
tileCount = tileCount / 4
EndWhile
QuadSplit(chunk, tally, tileCount, output)
tileCount = tileCount * 4
EndWhile
Return output
EndFunction
Fig. 1. Example tile boundaries generated by the TileSplit algorithm overlayed on the
6-megabyte shapefile used to produce them
of tiles if desired. Each tile payload contains a stream of objects, and since the
byte-level details have no effect on the outcome we will only describe the contents
at an object level.
When vertices from a single geometry are spread across multiple tiles in the X or
Y dimensions, vertices from some of the off-screen tiles may still be required to
correctly render the part of the geometry that is on-screen. Possible approaches
to this missing data problem include duplicating vertices across tiles, introduc-
ing new vertices at tile boundaries [22,7,18], and using overlapping tile query
bounds. Duplicating or creating additional vertices increases the size of each
tile unpredictably, which conflicts with our goal of creating tiles with uniform
payload size. Overlapping tile query bounds is the best approach in our case
as it does not add any additional complexity since our tile bounds are already
non-uniform.
The simplest way to ensure a tile is requested when it is required is to extend
the tile’s query bounds to envelop each geometry referenced in the tile. That is
Feathered Tiles 27
the approach used in a winged-edge topology [27,32], where each edge is asso-
ciated with two polygons and the abox (area box) that envelops them is used
as filtering criteria. Though this approach solves the missing data problem it
creates the additional problem of excess data, since we do not necessarily need
all off-screen vertices in order to render a geometry correctly.
To reduce excess data transfer, we extend our tile’s query bounds to envelop
only the effective area of the included vertices rather than the bounds of the
referenced geometries. As mentioned in Sect. 3.1, the effective area of a vertex is
the area of the triangle it forms with its two adjacent vertices during the simpli-
fication process. This distinction is critical because this approach minimizes the
amount of tile overlap, which in turn reduces the amount of data the client will
download at a given scale and viewport, as illustrated in Sect. 6. The similarities
of our method to the winged-edge topology and the importance of this detail led
us to name our method Feathered Tiles.
4 Tile Management
This section describes the roles of the client and server when managing and request-
ing tiles. Our approach is client-heavy with few requirements of the server beyond
hosting the data, which allows servers to accommodate more simultaneous users.
When the client receives tiles from the server, it asynchronously parses the pay-
load stream and dynamically builds data structures that facilitate on-the-fly
generalization with smooth levels of detail. This section explains how these struc-
tures are built and how they are used to improve the performance of the client.
We use the same type of 5-dimensional KD-tree as described in Sect. 4.1 for
filtering geometric features based on the current scale and extent. Geometry
features outside the viewport or smaller than a single pixel are excluded from
the query result. The tree is built using the information included in the metadata
tiles (see Sect. 3.2) and is rebuilt every time we observe that the list of pending
metadata tiles has been completely parsed. Since optimally balanced KD-trees
are computationally expensive to build, we randomize the insertion order of
nodes as a fast alternative to avoid worst-case performance. Since there are much
fewer geometries than there are vertices, metadata tiles are requested nowhere
nearly as often as geometry tiles.
EndFunction
minimize tile overlap to reduce excess data transfer. Using Nordan’s example,
we can see how much tile overlap matters. Figure 2 shows the borders of Nor-
way, Finland, and Russia, and Table 1 shows the results of applying different
tile overlapping methods. If each tile’s query bounds is extended to include the
bounds of every referenced geometry (the winged method), the entire outlines of
the three countries are downloaded and parsed at the extent shown. Under the
Feathered Tiles method only 15% of the data is transmitted. Results will vary
with the tile payload size and input file, but Feathered Tiles will always produce
less tile overlap and in turn reduce excess data transfer.
In the previous example, reducing the download size is only half the prob-
lem. Suppose that the client already had the full detail of the geometry cached
in memory as a result of panning along the borders, or the client has explic-
itly loaded a large, local shapefile into memory. In a highly detailed shapefile,
individual polygons may have thousands or millions of vertices. It’s clear that
an increased number of vertices will take a longer time to process, so it makes
sense not to waste time with off-screen vertices (OSVs). This problem is solved
by OSV skipping, described in Sect. 5.3. Figure 3 demonstrates two examples
before and after OSV skipping, with related statistics shown in Table 2.
32 A. Dufilie and G. Grinstein
Table 1. The method for determining tile query bounds greatly affects the amount of
excess data transfer in Fig. 2. The winged method extends the query bounds of a tile to
include the bounds of each referenced geometry, while the feathered method includes
only the effective area of the vertices contained within. In both cases, the target tile
payload size was set to 32-kilobytes.
Fig. 3. Examples before (left) and after (right) off-screen vertex skipping when zoomed
in to Michigan (top) and Louisiana (bottom) shorelines. Off-screen portions are faded
out. The data comes from a 42-megabyte United States boundary shapefile. Only a
small fraction of the data is required to render the visible portion of the polygons.
References
1. Antoniou, V., Morley, J., Haklay, M(M.): Tiled vectors: A method for vector trans-
mission over the web. In: Carswell, J.D., Fotheringham, A.S., McArdle, G. (eds.)
W2GIS 2009. LNCS, vol. 5886, pp. 56–71. Springer, Heidelberg (2009)
2. The Astrophysical Research Consortium: Tiling and Adaptive Tiling. The Sloan
Digital Sky Survey Project Book. Princeton University (1993), http://www.
astro.princeton.edu/PBOOK/tiling/tiling.htm
3. Bentley, J.L.: Multidimensional binary search trees used for associative searching.
Communications of the ACM 18(9), 509–517 (1975)
4. Bentley, J.L., Friedman, J.H.: Data Structures for Range Searching. ACM Comput.
Surv. 11(4), 397–409 (1979)
5. Bertolotto, M., Egenhofer, M.J.: Progressive transmission of vector map data over
the world wide web. GeoInformatica 5(4), 345–373 (2001)
6. Buzer, L.: Optimal simplification of polygonal chains for subpixel-accurate render-
ing. Computational Geometry 42(1), 45–59 (2009), http://dx.doi.org/10.1016/
j.comgeo.2008.03.002
34 A. Dufilie and G. Grinstein
7. Campin, B.: Use of vector and raster tiles for middle-size Scalable Vector Graph-
ics mapping applications. In: SVGOpen 2005 (2005), http://www.svgopen.org/
2005/papers/VectorAndRasterTilesForMappingApplications/
8. Corcoran, P., Mooney, P., Bertolotto, M., Winstanley, A.: View- and scale-based
progressive transmission of vector data. In: Murgante, B., Gervasi, O., Iglesias,
A., Taniar, D., Apduhan, B.O. (eds.) ICCSA 2011, Part II. LNCS, vol. 6783, pp.
51–62. Springer, Heidelberg (2011)
9. Corcoran, P., Mooney, P., Bertolotto, M.: Line simplification in the presence of non-
planar topological relationships. In: Bridging the Geographic Information Sciences,
pp. 25–42. Springer, Heidelberg (2012), doi: http://dx.doi.org/10.1007/978
-3-642-29063-3 2
10. Costa, D.C., Teixeira, M.M., De Paiva, A.C., de Souza Baptista, C.: A service-
oriented architecture for progressive transmission of maps. In: Proceedings of IX
Brazilian Symposium on GeoInformatics, INPE 2007. GeoInfo, Campos do Jordão,
Brazil, November 25-28, pp. 97–108 (2007)
11. Douglas, D.H., Peucker, T.K.: Algorithms for the reduction of the number of points
required to represent a digitized line or its caricature. Cartographica: The Inter-
national Journal for Geographic Information and Geovisualization 10(2), 112–122
(1973)
12. Dufilie, A., Fallon, J., Stickney, P., Grinstein, G.: Weave: A Web-based Architecture
Supporting Asynchronous and Real-time Collaboration. In: Proceedings of the AVI
Workshop on Supporting Asynchronous Collaboration in Visual Analytics Systems
(2012)
13. Environmental Systems Research Institute, Inc.: Tiled processing of large datasets.
ArcGIS Desktop 8.3 Help (2009), http://webhelp.esri.com/arcgisdesktop/9.3
/index.cfm?TopicName=Tiled+processing+of+large+datasets
14. GeoJSON – JSON Geometry and Feature Description, http://geojson.org/
15. GIS Cloud, http://www.giscloud.com/
16. Han, H., Tao, V., Wu, H.: Progressive vector data transmission. In: Proceedings of
the 6th AGILE, Lyon, France, pp. 103–113 (2003)
17. Haunert, J.H., Dilo, A., van Oosterom, P.: Constrained set-up of the tGAP struc-
ture for progressive vector data transfer. Computers and Geosciences 35(11), 2191–
2203 (2009)
18. Langfeld, D., Kunze, R., Vornberger, O.: SVG Web Mapping. Four-dimensional
visualization of time- and geobased data. In: SVGOpen 2008 (2008),
http://www.svgopen.org/2008/papers/92-SVG_Web_Mapping/
19. Mapsforge, http://code.google.com/p/mapsforge/wiki/
SpecificationBinaryMapFile
20. Meijers, M.: Cache-friendly progressive data streaming with variable-scale data
structures. In: Proceedings of the ICA/ISPRS Workshop on Generalisation and
Multiple Representation, Paris, France, June 30-July 1 (2011)
21. Meijers, M.: Simultaneous & topologically-safe line simplification for a variable-
scale planar partition. In: Advancing Geoinformation Science for a Changing
World, pp. 337–358. Springer, Heidelberg (2011)
22. Migurski, M.: TileStache Mailing List (July 19, 2011),
https://groups.google.com/d/msg/tilestache/p7OotBbz5tE/clvzx0YAtUYJ
23. Migurski, M.: StackExchange answer (November 22, 2010), http://gis.
stackexchange.com/questions/3712/create-vector-tiles-for-polymaps
24. Newman, W.M., Sproull, R.F.: Principles of interactive computer graphics, 124,
252. McGraw-Hill, Inc. (1979)
Feathered Tiles 35
1 Introduction
The amount of available trajectories of mobile users, in the form of GPS tracks,
is rapidly increasing. A major underlying reason is the availability of cheap
GPS receivers connected to the Internet. We assume that nearly every current
smartphone has integrated GPS. According to [1], there were a total of 173.7
million smartphones shipped in the 3rd quarter of 2012, which was an annual
increase of 44%. On the basis of these numbers, we can conclude a potential
increase in users which are able to record GPS trajectories of 173.7 million
quarterly.
The merging of trajectories is important for answering non-individual ques-
tions. Our motivation is the construction of a map based on trajectories. Map
construction has recently gained popularity in scientific research. The ACM Dig-
ital Library lists 12719 publications with the keywords “map construction” for
the period between 2008 and 2012 compared to 8196 in the period between 2003
and 2007 [2]. Nowadays, road maps are available in good quality. However, map
construction can still be used to detect changes in the road network for various
application. Additionally, map construction can be used for company territories
and to create maps used in various outdoors activities such as sports, e.g., maps
for racing bicycles. This has already been done for taxi driving directions [3].
Merged trajectories can help ensuring privacy requirements as well as reducing
storage effort while still providing enough correct data to create a confident map
with lower calculation effort.
One use of our approach is a further anonymization of data. Work has already
been done in the anonymization of trajectory data. Nevertheless, this work often
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 36–53, 2014.
Springer-Verlag Berlin Heidelberg 2014
Trajectory Aggregation for a Routable Map 37
has another scope and the data is afterwards not used for map construction, but
for other tasks, e.g., data mining of crowd movements [4–6]. In these approaches,
one motivation is urban planning, and therefore complete trajectories are used.
In our approach we split trajectories in order to be able to build a subtrajectory
based on a larger set of trajectories and a lower distance in between.
We first need to define what we consider as merging of trajectories. A tra-
jectory is the path that a moving object follows through space as a function of
time. In our case, we consider a set of linear movements as a trajectory with the
condition that every end point of a linear movement is a start point of another
linear movement, except for the start and the end point of the whole trajectory.
As the input to the merging process we have 2 or more trajectories. We define
the output as the network of trajectories. Trajectories in a network can be con-
nected at a node. The trajectories in the network have additional information,
namely the number of trajectories which were integrated in the merged trajec-
tory and the variance of the integrated trajectory. We abbreviate the network
of trajectories as an aggregation and for clarity we call a trajectory which is a
candidate to be merged with trajectories in the aggregation as a single trace.
The merging process is divided into two major tasks: the first task is the
selection of trajectories or parts of trajectories to be merged and the second
task is the merging itself.
This paper is organized as follows. Related work is dicussed in section 2. Sec-
tion 3 discusses the selection of trajectories. Section 4 focuses on the problem
of the merging of trajectories. In Section 5, we present our prototypical imple-
mentation. Finally, we present the evaluation of our system (Section 6) and our
conclusions (Section 7).
2 Related Work
approaches which use the Fréchet distance to find similarity of trajectories with
the aim of creating subtrajectories in order to detect commuting patterns [13].
Additionally, subtrajectories can be found via clustering [14], also with the help
of the Fréchet distance [15, 16]. This is a very interesting approach that we fol-
low, too. Nevertheless, in this work we aim to find subtrajectories by thresholds
which prevents additional overhead. This allows us to really concentrate on dis-
tance measures. Subtrajectories can also be found using movement similarities
[17]. Nevertheless, these subtrajectories cannot be used for map construction,
they express more likely a moving pattern. Additionally, approaches are related
which find median trajectories [18]. These approaches focus more on a complete
trajectory than on partial trajectories which could represent roads.
3 Selection of Trajectories
We select trajectories by distance and by angle so that close and similarly aligned
trajectories are considered to be merged. Both, distance and angle, can be ex-
pressed in many different ways. Distance and angle can be measured from a local
and from a global viewpoint. We define a local viewpoint as the comparison be-
tween two nodes or two edges, while a node is a start or an end point of a linear
movement and an edge is a linear movement. From the two nodes there is always
one node from the aggregation compared with one node from the single trace,
the same for the two edges. A global viewpoint may include multiple nodes or
multiple edges. In the following, we first discuss a measure for the angle and
then we include this measure in defining the distance from a local and a global
viewpoint.
The aim of angle measuring is to find either edges or nodes (together with their
outgoing edges) with similar directions. More precisely, we call it similar direc-
tion measure because this property could also be expressed by a comparison of
slopes. Measuring the angle helps to prevent the merging of nearby nodes or
edges that follow different directions. The most important examples are cross-
ings and bridges or tunnels. In order to be able to make connections between
different directions it is important to keep these directions instead of merging
them (crossings). And, in order to ensure no connection between unconnected
streets we also need to store these trajectories separately (bridges over streets).
Furthermore, we would like to be able to include an angle variation in our dis-
tance measure in order to merge traces in similar directions more likely. Following
these characteristics we use an angle threshold and an angle expression that can
be included in the distance measure.
We mention a slope calculation as possible replacement for angle calculation,
not because of a better semantic expression, but because of lower calculation
costs. A relative slope calculation is able to replace a relative angle calculation.
Nevertheless, there is a major difference between angle and slope calculation: The
Trajectory Aggregation for a Routable Map 39
increase of the angle is proportional while the increase of the slope is progressive.
We can flatten this progression, e.g., above the value 1, by taking the inverse of
the slope and giving 2 minus the inverse as result. That way we have a value
range from 0 to 2 for the slope instead of a value range from 0 to infinity.
Next, we need to be aware that the calculation of relative slopes should dis-
tinguish four possible direction groups which result out of the combinations of
{up, down} and {lef t, right}. Table 1 shows these possible values. For each di-
rection group, the sign function (sgn) of the slope (ma,b , where a and b are
the initial and final nodes of an edge), the difference of the values of the x axis
(δ(x)a,b ), and the difference of the values of the y axis (δ(y)a,b ) are shown. Please
note that each sign function can be derived by the two remaining ones. All are
just illustrated for completeness. Taking these into account we have 4 × 4 dif-
ferent possible combinations of the direction groups. Which formula we need
to calculate the relative slope as difference from one slope to the other can be
decided based upon the combination of two sign functions of a and b.
Table 1. Different directions which should be taken into account when calculating a
relative slope
y y
x x
y y
The flattened slope can be calculated using Algorithm 1. The inputs are 2
lines (A and B) with each 2 points (e.g. A1 and A2). In order to distinguish
cases (shown in Table 1) the variables dif f 1 and dif f 2 are used. Within the
for loop (line 3), the differences of the x and y coordinates of the start and the
end points are calculated. According to these differences the states dif f 1 and
dif f 2 are adjusted (lines 11 to 16). In the same loop, the two slopes (mA and
mB ) are calculated. Finally (lines 21 to 29), the result is modified according to
the different states of dif f 1, dif f 2 and the sign function of the two slopes. The
formulas are also shown as overview in Table 1.
Nevertheless, by comparing the relative angle measure with the relative slope
measure we will detect some inconsistencies in the relative slope measure. As
mentioned before, the slope increases exponentially, not proportionally, which is
why we flattened the values between 1 and (after the flattening) 2. The flattening
does reduce this effect, but cannot eliminate it. Figure 1 shows the value ranges
of angles and their respective flattened slope and vice versa. In Figure 1b, one
Trajectory Aggregation for a Routable Map 41
can see that the intervals are not proportional when using a scale based on the
flattened slope.
y
angle: 90◦ slope: 2.0
angle: 80◦ slope: 1.8236
angle: 70◦ slope: 1.636
angle: 60◦ slope: 1.4227
angle: 50◦ slope: 1.161
angle: 40◦ slope: 0.839
y
angle: 90.00◦ slope: 2.0
angle: 78.69◦ slope: 1.8
angle: 68.20◦ slope: 1.6
angle: 59.04◦ slope: 1.4
angle: 51.33◦ slope: 1.2
angle: 45.00◦ slope: 1.0
angle: 38.66◦ slope: 0.8
angle: 30.96◦ slope: 0.6
x
(b) Proportional increase of flattened slope
Fig. 1. Comparison of values of the flattened slope measure and the angle measure
of each edge and additionally 4 more points which could be found via a per-
pendicular, we have 8 points which could be used measuring distances between
those. Figure 2 shows these 8 points for the aggregation and the single trace.
trace
x x x x
x x agg
x x
x
Fig. 2. Two directed edges with extension and perpendiculars marking the crossings
of perpendicular and edges or their extension
Since the edges are directed, the first approach is to measure the distance
between the two start points and the distance between the two end points. These
distances would express a difference in length or a difference in angle, e.g., if we
find a higher distance between the end points than between the start points the
angle or the length of the edges has to differ, which is shown in Figure 3. A
higher distance of the end points which is caused by a difference in angle is a
good indicator because we don’t want to take edges into account to be merged
which have different directions. On the contrary, a higher distance of the end
points which is caused by a difference in length is misleading because these are
good candidates to be merged. This is because the two edges follow the same
direction and they are near to each other.
Using perpendiculars we can avoid this problem. While a difference in length
would not influence the distance using perpendiculars, a difference in angle
would. Nevertheless, another issue arises with using a distance which is calcu-
lated via the perpendicular. Figure 4 shows cases with equal distances calculated
via the perpendiculars. They differ in the distance between start and end points.
The first case with low distance between start and end points is a good match
because the edges are near, but in the second case the edges aren’t near and it
is probable that there is a better match (left of the single trace).
Regarding these issues, we prefer to use both measures with the requirement
that both measures are good and outliers are penalized.
The distance in meters has to be combined with a measure for similar direc-
tions.
Trajectory Aggregation for a Routable Map 43
trace
agg
x
y
trace
agg
x
Fig. 3. two directed edges which differ in length or angle and their distances of start
and end points
trace
agg
x
trace
agg
x
Fig. 4. two directed edges which are parallel, but differ in distance between start and
end points
44 S. Müller, P. Mehta, and A. Voisard
sum: c = wa ∗ a + wd ∗ d
product: c = (wa ∗ a) ∗ (wd ∗ d)
y trace1 x trace2
x x
x
x
x
x x x x x x x x agg
x
x
x
x x x
Fig. 5. Three GPS traces which can occur having two tunnels or bridges
to the end point of a trace and don’t need to consider all the angles in between.
How angle and Fréchet distance can be combined for a global difference measure
is similar to the already discussed combination for a local difference measure
(see section 3.2). The Hausdorff distance can replace the Fréchet distance, but
this will be evaluated in future work.
4 Merging of Trajectories
After having chosen the traces which should be merged, the actual merging
starts. Because we propose an incremental approach for building our trace net-
work, we want to store how many traces already influenced the current aggre-
gation. This allows us to continuously improve the aggregation while preserving
the aggregation from adjusting excessively to noisy single traces. For this reason,
we added an attribute to store the number of traces which already influenced
the aggregation. We also added this information to the GPX data format [20]
as an extension.
A merging approach has to take into account that not only two edges but
also traces might be joined and that it is not favorable to just adjust start and
end point of identified edges. For example, in Figure 6 (derived from Figure 3)
a merge of the aggregation and a single trace is shown which was merged taking
just two edges into account. The dashed green trace shows the new aggregation.
From this, we can observe that the former smooth aggregation became noisy
which represents a bad merging process. Conclusively, we need also to take parts
of edges into account for merging.
In order to take also parts of edges into account when merging, we can use
the points found via the perpendiculars (see also Figure 2). If we take only into
account the points which can find actual points via the perpendicular on the
other edge and those points found via the perpendicular, we can avoid noisy
merges. The inner points which should be merged are shown in Figure 7.
46 S. Müller, P. Mehta, and A. Voisard
y
trace
agg
newagg
x
Figure 8 shows the modified merging process which takes parts of edges into
account for the scenario in Figure 6 and it is based on using the points found
via the perpendicular. It is a better merging result because it does not produce
noise, it just takes the new information from the trace into account.
trace
x x x
x x agg
x
x
Fig. 7. Highlighted merging area by using two directed edges with extension and per-
pendiculars marking the crossings of perpendicular and edges
y
trace
agg
newagg
x
Fig. 8. Merging result of two edges which differ in length taking parts of edges into
account
we ∗ng +nt
nn = we +1
where nn is the newly added node, we is the current weight of the edge, ng
is the ghost node and nt is the node in the trace which will be merged into the
aggregation. After the merge, the weight will be increased by one.
5 Implementation
In order to evaluate different methods for iterative map construction (via ag-
gregation), we implemented one aggregation based on a local difference measure
and one based on a global difference measure.
The implementation based on the local difference measure is a complete im-
plementation capable of processing a set of GPX traces and creating a map in
OpenStreetMap XML format [21]. The steps are cleaning, aggregation and road
generation.
In the cleaning step, we first remove errors which are typical for GPS, e.g., if
GPS initializes again and GPS points have a high variation to the actual position.
To prevent this, we remove points if they seem impossible to reach. Furthermore,
we remove points which go backwards for short distances, which usually occurs
when a car stops at a traffic light and the GPS position varies around the actual
position. Next, we use the Ramer-Douglas-Peucker filter [22, 23].
The aggregation step includes the steps selection and merge. In this imple-
mentation, we distinguish from our proposed scenario: our scenario would always
add one trace to the aggregation, thus cleaning and aggregation are performed
for one trace. This implementation focuses on the evaluation of the aggregation
performance, thus all traces are first cleaned and then added to the aggregation.
The overall result would be the same. The implementation is currently using
a node to node difference which is increased incrementally in both directions
for all nodes in the aggregation and all nodes in the single trace. This means
that the selection is completely done before the merging. In order to merge, the
marked points are projected via the perpendicular to the aggregation as shown
in Figure 8. We will call the nodes, found this way, ghost nodes. The weight of
the aggregation influences how far the ghost point will be moved.
The aggregation already includes nodes with more than two edges. These
nodes are created when one new trace can be partially added to the aggregation,
48 S. Müller, P. Mehta, and A. Voisard
(c) Aggregation
6 Evaluation
We evaluated our measures graphically and statistically. We first distinguish
between the evaluation of the two implementations because, depending on the
implementation, we have to use different evaluation criteria. Both evaluations
use the GPS traces set provided by OpenStreetMap [25].
Table 2. Statistical results for the use of local difference measure in an urban and
rural scenario
scenario rural urban
confidence 1 2 3 1 2 3
total length of road network in meters
83451 23319 10352 14405 6271 2501
average street length in meters
488 496 863 141 179 208
number of streets
171 47 12 102 35 12
number of crossings
91 20 3 51 21 7
highway crossing and the aggregation on the basis of the traces. As a difference
measure, the Fréchet distance was used, ignoring angle differences. The merge
strategy took parts of edges into account. The two green arrows show a short-
coming of the selection of the for the Fréchet distance. In this case, it was
chosen too high so that an independent part of the road was merged with traces
of the aggregation which are on another part of the road. If it would have been
chosen lower, it would have been detected as a separate road, but other parts,
that actually belong together, may also be separated.
Fig. 10. Merging result of a highway crossing [26], traces are green, aggregation is red
7 Conclusion
In this paper, we showed different stages of an iterative map construction ap-
proach. This is a basis for a privacy preserving collection process of GPS traces.
For every stage of this approach we showed alternative methods: distance and
angle measures resulting in difference measures and we pointed out important
Trajectory Aggregation for a Routable Map 51
References
1. Canalys: Sony and HTC overtake RIM and Nokia in smart phones (2012),
http://www.canalys.com/newsroom/sony-and-htc-overtake-rim-and-nokia-
smart-phones
2. Association for Computing Machinery: ACM digital library (2013),
https://dl.acm.org/
3. Yuan, J., Zheng, Y., Zhang, C., Xie, W., Xie, X., Sun, G., Huang, Y.: T-drive:
driving directions based on taxi trajectories. In: Proceedings of the 18th SIGSPA-
TIAL International Conference on Advances in Geographic Information Systems,
GIS 2010, pp. 99–108. ACM, New York (2010)
52 S. Müller, P. Mehta, and A. Voisard
4. Evans, M.R., Oliver, D., Shekhar, S., Harvey, F.: Summarizing trajectories into k-
primary corridors: a summary of results. In: Proceedings of the 20th International
Conference on Advances in Geographic Information Systems, SIGSPATIAL 2012,
pp. 454–457. ACM, New York (2012)
5. Andrienko, G., Andrienko, N., Giannotti, F., Monreale, A., Pedreschi, D.: Move-
ment data anonymity through generalization. In: Proceedings of the 2nd SIGSPA-
TIAL ACM GIS 2009 International Workshop on Security and Privacy in GIS and
LBS, SPRINGL 2009, pp. 27–31. ACM, New York (2009)
6. Goel, P., Kulik, L., Kotagiri, R.: Privacy aware trajectory determination in road
traffic networks. In: Proceedings of the 20th International Conference on Advances
in Geographic Information Systems, SIGSPATIAL 2012, pp. 406–409. ACM, New
York (2012)
7. Alt, H., Godau, M.: Computing the Fréchet distance between two polygonal curves.
Int. J. Comput. Geometry Appl. 5, 75–91 (1995)
8. Buchin, K., Buchin, M., Wang, Y.: Exact algorithms for partial curve matching via
the Fréchet distance. In: Proceedings of the Twentieth Annual ACM-SIAM Sym-
posium on Discrete Algorithms, SODA 2009, pp. 645–654. Society for Industrial
and Applied Mathematics, Philadelphia (2009)
9. Rockafellar, R.: Variational analysis. Springer, Berlin (1998)
10. Devogele, T.: A new merging process for data integration based on the discrete
Fréchet distance. In: Richardson, D.E., Van Oosterom, P., van Oosterom, P.J.M.
(eds.) Advances in Spatial Data Handling: 10th International Symposium on Spa-
tial Data Handling, Ottawa, Canada, pp. 167–181 (2002)
11. Zhang, L., Sester, M.: Incremental data acquisition from GPS-traces. In: Geospa-
tial Data and Geovisualization: Environment, Security, and Society; Special Joint
Symposium of ISPRS Commission IV and AutoCarto 2010 in Conjunction with
ASPRS/CaGIS 2010 Special Conference. ASPRS/CaGIS 2010 (2010)
12. Cao, L., Krumm, J.: From GPS traces to a routable road map. In: Proceedings of
the 17th ACM SIGSPATIAL International Conference on Advances in Geographic
Information Systems, GIS 2009, pp. 3–12. ACM, New York (2009)
13. Buchin, K., Buchin, M., Gudmundsson, J., Löffler, M., Luo, J.: Detecting commut-
ing patterns by clustering subtrajectories. In: Hong, S.-H., Nagamochi, H., Fuku-
naga, T. (eds.) ISAAC 2008. LNCS, vol. 5369, pp. 644–655. Springer, Heidelberg
(2008)
14. Lee, J.G., Han, J., Whang, K.Y.: Trajectory clustering: a partition-and-group
framework. In: Proceedings of the 2007 ACM SIGMOD International Conference
on Management of Data, SIGMOD 2007, pp. 593–604. ACM, New York (2007)
15. Zhu, H., Luo, J., Yin, H., Zhou, X., Huang, J.Z., Zhan, F.B.: Mining trajectory
corridors using Fréchet distance and meshing grids. In: Zaki, M.J., Yu, J.X., Ravin-
dran, B., Pudi, V. (eds.) PAKDD 2010, Part I. LNCS, vol. 6118, pp. 228–237.
Springer, Heidelberg (2010)
16. Gudmundsson, J., Valladares, N.: A GPU approach to subtrajectory clustering
using the Fréchet distance. In: Proceedings of the 20th International Conference
on Advances in Geographic Information Systems, SIGSPATIAL 2012, pp. 259–268.
ACM, New York (2012)
17. Dodge, S., Laube, P., Weibel, R.: Movement similarity assessment using symbolic
representation of trajectories. Int. J. Geogr. Inf. Sci. 26(9), 1563–1588 (2012)
18. van Kreveld, M., Wiratma, L.: Median trajectories using well-visited regions and
shortest paths. In: Proceedings of the 19th ACM SIGSPATIAL International Con-
ference on Advances in Geographic Information Systems, GIS 2011, pp. 241–250.
ACM, New York (2011)
Trajectory Aggregation for a Routable Map 53
Abstract. With the development of GPS technology and the increasing popular-
ity of mobile device, Location-based Social Networks (LBSN) has become a
platform that promote the understanding of user behavior, which offers unique
conditions for the study of users’ movement patterns.
Characteristics of users’ movements can be expressed by places they’ve
visited. This paper presents a method to analyze characteristics of users’
movements in spatial and temporal domain based on data collected from a Chi-
nese LBSN Sina Weibo. This paper analyzes spatial characteristics of users’
movement by clustering geographic areas through their check-in popularity.
Meanwhile, temporal characteristics and variation of users’ movements on the
timeline is analyzed by applying statistical method.
1 Introduction
The improvement of means of geographic data acquisition and the thriving rise of
mobile Internet technology make it possible to create location data in social networks
anytime and anywhere. This social networks driven by geographic location are called
Location-based Social Networks (LBSN). This kind of network not only adds a loca-
tion to existing social network, but also generates a knowledge database inferred from
an individual’s location (history) and location tagged data, e.g., common interests,
behavior, and activities [1]. For instance, a user’s trajectory movement often appear-
ing in the stadium indicates that the user might like sports; the trajectory of the user
frequently crossing the wild shows his preferences for outdoor activities.
LBSN has become a platform to promote the understanding of user behavior,
which offers unique conditions for the study of users’ movement patterns. Hence,
how to take full advantage of huge geographic data generated in LBSN to mine know-
ledge becomes particularly important.
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 54–66, 2014.
© Springer-Verlag Berlin Heidelberg 2014
A Study of Users’ Movements Based on Check-In Data in Location-Based Social Networks 55
Mobile social networking services has been the concern by many scholars at home
and abroad in recent years. In early years, most of the studies were based on non-
geospatial networks and the impact of geographical space was ignored. However,
follow-up studies suggest that geographical space play a restrained role on social
networks and many complex networks are embedded in it [2]. Zheng et al. mined
recommendatory locations and representative activities to provide a roadmap for trav-
elers using a large amount of GPS trajectories [3]. Liang et al. raised a way through
the study of check-in data to help urban public space managers to make improvements
in the spatial arrangement and operation of urban space at a lower cost and higher
efficiency [4].
Unlike the traditional GPS data that were collected passively, data generated by
LBSN is characterized by large amount, high efficiency, and high socialization. As a
result, the subjective desire of users like interests, habits can be well reflected. Hence,
if location check-in data could be fully mined we argue that a higher level of know-
ledge and information can be obtained, e.g., understanding the similarity between
users based on their location histories [5]. Commercial social media itself analyze
users’ check-in records actively to recommend and push advertisement in order to
create new profits [6].
Characteristics of users’ movements can be expressed by places they’ve visited. In
this paper, we present an approach to analyze of user’s daily movement patterns from
spatial and temporal perspective using check-in data in Sina Weibo, which is one of
the most popular social network in China. First, we provide a general overview of the
dataset collected from Sina Weibo and briefly analyze the spatial and the frequency
distribution of the data. Then, we introduce the principles and methods to process
spatial modeling analysis and temporal statistical analysis on users’ movement pat-
terns. After that, we collect data in specific regions and users through Sina API inter-
face, and conduct experiments. The results are analyzed and discussed. Finally, we
conclude with a discussion and highlight directions for future work.
guarantee[7]. Moreover, there has accumulated more than 600 million check-in
records in Sina Weibo. The fact that most of the records are in three major cities in
China: Beijing, Shanghai and Guangzhou and about 60% of them are restaurant spot,
20% scenic spot among the records confirms the relationship between users’ check-in
activities and their movements.
Previous research may only use the two attributes (e.g. geographic coordinates and
timestamp) of check-in data, with no more detailed information to further support, to
analyze. Sina Weibo API provides location service interfaces freely, however, and we
:
can acquire the following various attributes about a place name, category, geograph-
ic coordinates, total number of check-ins, number of visitors checked-in, etc. Thus, it
can meet the needs of the multi-level and multi-angle analysis and processing.
We have crawled data in Shanghai, China, between January 1st 2013 and March
31th 2013.Due to the data generated by users voluntarily, data quality issues, such as
low accuracy, data redundancy, incorrect formatting, should be taken into account [8].
Thus it’s necessary to data preprocess to get standard data. We have selected 1514470
check-ins after data preprocessing. Each record corresponds to a check-in at one of
the 34963 POIs. A spatial distribution of collected dataset is depicted in Fig.2. A cir-
cle represents a geographic venue and its radius the popularity of it in units of number
of check-ins. Each color corresponds to one of 10 categories shown in Table 1. The
distribution of spatial dataset highlights the diversity of users’ movements.
A Study of Users’ Movementss Based on Check-In Data in Location-Based Social Networks 57
Fig. 3. Complementary Cumu ulative Distribution Function (CCDF) of the number of checkk-ins
at different places. The data ap
pproximately exhibit log-normal distribution.
58 J. Cao, Q. Hu, and Q. Li
People can be profiled according to the categories of places they visit, whereas geo-
graphic areas can be modelled according to their constituent venues. In this section
we model the users’ movement patterns by clustering geographic areas through their
check-in popularity. In particular, we propose the use of place categories to create the
squared area feature vector, define the similarity measurement and then apply the
spectral clustering algorithm [10].In the meantime, we analyze temporal patterns of
users’ movements by applying statistical method in order to demonstrate the characte-
ristics and variation on the timeline. Flow chart is shown in Fig.4.
Location
Sina API
Check-in Data
Time
Data Preprocessing
Category
Data Processing
Check-In Data
Modeling
Daily-dependent
Square Vector
Similarity
Measurement Weekly-dependent
Spectral
Clustering
Data Analysis
Users’ Movement
Pattern Analysis
Area Temporal
Clustering Statistical
Distribution Distribution
Squared Areas Division. Squared areas division effectively is a basis for subsequuent
operations. The square sizee of each squared area is an important factor to considerr. If
the size is too large, check
k-in records may contain multiple categories, thus the ccha-
racterization of area is hard
d to determine. On the contrary, the amount of data insside
the area can be too small to t generate reasonable statistical representation. We seet a
threshold of the number of o check-ins per area and finally calculate a reasonaable
square size and the number of area.
158 square kilometers in n the central area of Shanghai was chosen to be the dataaset
in the experiment. Imposing g the threshold of at least 30 check-in records per area has
generated 559 areas. Spatiaal distribution of squared areas is shown in Fig.5.
Fig. 5. Spatial distribution of Squared Areas. The squared areas not covered by color blue m
mean
that there are less than 30 checck-in records within them.
Detailed description of lo
ocation check-in data modeling is the following: Considder-
ing a squared area A within
n a city, we divide A into a certain number of equally siized
60 J. Cao, Q. Hu, and Q. Li
squares, each one representing a smaller local area a. The representation of a is de-
fined according to the categories of nearby places and the number of check-ins took
place at those. In this way not only we know what types of places are in an area, but
we also have a measure of their importance from the perspective of users’ move-
ments. We define , of a category c to a geographic area a, for all places p that
belong to category c within a, as follows:
, ∑ , (1)
, ,
(2)
, ,
Where , represents the number of check-ins that belong to category i within area j.
We now define the similarity , between two square vectors i and j. Distance
calculation (e.g., Euclidean Distance, Ming Distance and Mahalanobis Distance) and
the similarity function (e.g., SMC, Cosine, Correlation Coefficient) are the common
similarity measurement methods [11, 12]. Nevertheless, the similarity matrix calcu-
lated by different formulae will be very different and also different matrices will have
different clustering results. For instance, Euclidean Distance is commonly used in
image segmentation, and Cosine is often used in text data clustering. Because Cosine
similarity has the property that it can be used in any dimension vector comparison,
especially in high-dimensional space, we adopt the Cosine similarity measure as simi-
larity measurement. See Equation (3), (4).
, (3)
∑ / (4)
∑ ∑
Spectral Clustering. The impact of the similarity matrix for clustering results doesn’t
been taken into consideration in traditional clustering algorithms. The direct analysis
of similarity matrix itself can avoid the limitations of the introduction of distribution
hypothesis of sample space to a great degree in spectral clustering algorithm, howev-
er. Spectral clustering algorithm is capable of clustering on all sample space that is
arbitrary shape theoretically and has been applied to speech recognition, text mining
and other fields widely [13].
Spectral clustering method views samples as vertex, and similarity between two
samples is considered as edge with weight. From this point of view, clustering prob-
lem is converted into graph division problem: find a method to divide a graph into
groups so that weight of edges inside groups is as low as possible (namely similarity
between groups as low as possible) and weight of edges among groups is as high as
possible (namely similarity within group as high as possible) [14].
In this paper, we treat each squared area as a vertex in graph. The graph is generated
by connecting the vertexes according to similarities between squared areas. Then divide
the graph into groups and each group is a cluster. Detailed steps are listed as follows:
1. Create similarity graph from squared areas, and generate weight matrix W.
2. Compute Laplacian matrix L by Equation (6), in which D is degree matrix:
(6)
3. Compute k smallest eigenvector of L.
4. Combine the k eigenvectors together and generate an N * k matrix, in which every
row is a k-dimension vector. Finally conduct k-means algorithm to cluster the data
and get result [15].
Fig. 6. Spectral Clustering Reesults. Correspondence between the color and the cluster num
mber
is shown in the right.
A common observation fromfr Table 2 is the fact that each area has a dominant cateego-
ry, usually much higher thaan the second. The proportion of category ranking first are
more than 50% in addition to Cluster 1.Cluster 1 suggests the coexistence of Food and
Travel, covering the most central
c area of Shanghai with lots of famous scenic spotts ,
which is the highest membeership score amongst all clusters. Cluster 4 may signify rresi-
dential areas, ranking secon nd amongst all clusters. These two clusters share closee to
60% of all squared areas, which is not only in line with the characteristics of urban PPOI
category, mainly in restauraants and residential areas, but also the characteristics of us-
ers’ movements in urban areas. It is notable to observe that categories Food and Hoome
being the top five categoriess in all clusters also more confirms this conclusion.
We will find very meaning gful patterns closely related to users’ movements from
ma
temporal point of view by applying statistical measures to check-ins over hours and
days.Fig.7 provides a generral overview of temporal distribution of check-ins.
As depicted in Fig.7 (a)), users typically check-in frequently at noon and in the
evening, most occurring at a 9:00 to 23:00, with two peaks at around 13:00 and
7:00.This is due to the facct that most POIs are related to restaurants and food, and
check-in activities are mostly concentrated in dinner time. A related observation can
be made for Fig.7 (b).As users’
u movements related to dining, shopping, and leissure
are over-represented in thiss figure, and we find the highest volume of check-inss on
Saturdays and Sundays. Ov verall, we can see that data has been reasonably well re-
flected, and no evidence for contrary to common sense can be found in our data, ee.g.,
higher number on check-in ns in the middle of the night or lower during weekendss. In
this way it ensures that the characteristics
c extracted from them would be meaningfuul.
For better analyzing charracteristics and variation on the timeline, we can apply sta-
tistical measures to thosse categories which are daily-dependent and weekkly-
dependent. Fig.8 plots thee daily check-ins patterns to three different categorries:
Home, Food, and Work.
As can be seen in Fig.8 (a), home related check-ins increase from 6am, reachinng a
long lasting plateau between 10am and 3pm yet. This may be related with the fact tthat
people go out for work or other
o things at this time. But when they return home lineear-
ly – increasing distributionn is observed between 3pm and 11pm, which rather inndi-
cates that more and more peeople commute to home for rest.
Places related with food patterns
p is shown in Fig.8 (b) significantly, with two peaaks:
at 12pm, at 6pm, demonstrrating that users check-in at restaurants at the peak dinning
time, while almost no check k-ins can be observed from 12pm to 6am.Those findings are
in line with what may be ex xpected by a human observer and daily living habits. A sspe-
cific point to note, howeverr, is that check-ins don’t show a continuous rise at breakkfast
time and between 6am and 9am in the morning. The reason behind this pattern mayy be
that mostly breakfast restaurrants are not fixed and people would not stay too long inn the
purchase of breakfast. This also demonstrates that most office-goers are used to soolve
his breakfast in his way to work
w rather than at breakfast restaurants.
64 J. Cao, Q. Hu, and Q.
Q Li
(c) Work
Fig. 8. Daily temporal disttributions of check-ins to different daily-dependent categories
Check-ins show a steepeer 2% increase at 9am with regard to 7am, indicating the
hough a drop on growth rate from 9am can be observed the
rush hour at this time. Alth
frequency maintains at a hig gh position. Check-ins decreased from 2pm.
Figure 9 adds the weekly check-ins patterns for three different categories: Home, En-
tertainment, and Work. Cheeck-ins related with home, as shown in Fig.9 (a), stay rrela-
tively rich throughout everry day in a week with frequency at above 10%, and the
higher number of check-ins takes place at weekends with above 15%.In contrast to the
characteristics depicted in Fig.9(c),
F places tagged as work show a significant checkk-in
decay during the weekend, which
w is in line with common sense.Fig.9 (b) plots the vaaria-
tion of check-ins related witth entertainment. This distribution do not show such signnifi-
cant patterns on weekdays but
b rises straight up on weekends, especially Saturday.
Discussed above, we can n draw the following conclusions:
The frequency statistics of users’ movements is concordant with users’ daily scche-
dule and behavior. Daily-d dependent behaviors is closely tied to eating, work, coom-
mute and other daily perio odic activities, and shows cyclic effect to some degrree.
Weekly-dependent behavio ors exhibit weekend effect, referred to a significant difffer-
ence check-in frequency beetween weekdays and weekends, which is related with the
time in working or non-worrking day.
Finally, while a single teemporal band may not be sufficient to identify unique ppat-
terns for users’ movementss, we argue that multiple temporal bands can be combined
to provide an accurate and meaningful descriptions of different users’ movement ppat-
terns [18].
A Study of Users’ Movementss Based on Check-In Data in Location-Based Social Networks 65
25 25
20 20
15
Frequency(%)
Frequency(%)
10 15
Check-ins
Check-ins
5 10
0 5
Mon 0
Sun
Tue
Fri
Sat
Wed
Thu
Mon
Thu
Sun
Tue
Fri
Sat
Wed
Day of a weeek(7 Days)
Day of a week(7 Days)
(a) Home (b) Entertainment
25
20
15
Frequency(%)
10
Check-ins
5
0
Mon
Sun
Tue
Fri
Sat
Wed
Thu
(c) Work
Fig. 8. Weekly temporal disttributions of check-ins to different weekly-dependent categories
As discussed in the previouus section, we can get a general consensus that LBSN off ffers
opportunities of easily rellating users with specific locations in reality and useers’
movement patterns can be extracted quickly by analyzing the attributes of checkk-in
data (e.g., category, the nu
umber of check-ins). We argue that users’ movements and
preferences have been deep ply embedded in the digital geographic space, and shaared
and access to public. It bennefits sociologists to understand users’ movement patteerns
by data generated from LBS SN and urban scientists could plan layout of the city bettter.
w intend to improve clustering algorithm, evaluate the ac-
In terms of future work we
curacy of clustering and immprove it, thereby improving the accuracy of users’ moove-
ments’ analysis. Moreover,, additional semantic information such as comments, ttags
could be discussed and miined deeply. Hence, extraction and modeling of semanntic
information can allow a deeeper study of motivation of users’ movement and exxpe-
rience degree of movement etc.
Acknowledgment. The autthors would like to thank National Natural Science Founnda-
tion of China to support thee project (Grand No.41371377).
66 J. Cao, Q. Hu, and Q. Li
References
1. Zheng, Y., Zhou, X.: Computing with spatial trajectories. Springer Science+Business Me-
dia (2011)
2. Garlaschelli, D., Loffredo, M.I.: Structure and evolution of the world trade network. Phy-
sica A: Statistical Mechanics and its Applications 355, 138–144 (2005)
3. Zheng, Y., Zhang, L., Xie, X., Ma, W.: Mining interesting locations and travel sequences
from GPS trajectories, pp. 791–800 (2009)
4. Liang, L.Y., Ren, L.L., Wan, Y.H.: “LBS-based Social Network” of the Management and
Operations in Urban public Space. Information Security and Technology 7, 56–63 (2011)
5. Li, Q., Zheng, Y., Xie, X., Chen, Y., Liu, W., Ma, W.: Mining user similarity based on lo-
cation history, p. 34 (2008)
6. Zheng, Y., Zhang, L., Ma, Z., Xie, X., Ma, W.: Recommending friends and locations
based on individual location history. ACM Transactions on the Web (TWEB) 5, 5 (2011)
7. Wikipedia, http://en.wikipedia.org/wiki/Sina_Weibo
8. Goodchild, M.F., Glennon, J.A.: Crowdsourcing geographic information for disaster re-
sponse: a research frontier. International Journal of Digital Earth 3, 231–241 (2010)
9. Scellato, S., Mascolo, C.: Measuring user activity on an online location-based social net-
work. In: 2011 IEEE Conference on Computer Communications Workshops (INFOCOM
WKSHPS), pp. 918–923 (2011)
10. Noulas, A., Scellato, S., Mascolo, C., Pontil, M.: Exploiting semantic annotations for clus-
tering geographic areas and users in location-based social networks (2011)
11. Bishop, C.M., Nasrabadi, N.M.: Pattern recognition and machine learning, vol. 1. Sprin-
ger, New York (2006)
12. Ng, A.Y., Jordan, M.I., Weiss, Y., et al.: On spectral clustering: Analysis and an algorithm.
In: Advances in Neural Information Processing Systems, vol. 2, pp. 849–856 (2002)
13. Hagen, L., Kahng, A.B.: New spectral methods for ratio cut partitioning and clustering.
IEEE Transactions on Computer-aided Design of Integrated Circuits and Systems 11,
1074–1085 (1992)
14. Ng, A.Y., Jordan, M.I., Weiss, Y., et al.: On spectral clustering: Analysis and an algorithm.
In: Advances in Neural Information Processing Systems, vol. 2, pp. 849–856 (2002)
15. Mei, Y.C., Wei, Y.K., Yit, K.C., Angeline, L., Teo, K.T.K.: Image segmentation via nor-
malised cuts and clustering algorithm. In: 2012 IEEE International Conference on Control
System, Computing and Engineering (ICCSCE), pp. 430–435 (2012)
16. Noulas, A., Scellato, S., Mascolo, C., Pontil, M.: An empirical study of geographic user
activity patterns in foursquare. In: ICWSM 2011 (2011)
17. Aubrecht, C., Ungar, J., Freire, S.: Exploring the potential of volunteered geo-graphic in-
formation for modeling spatio-temporal characteristics of urban population. In: Proceed-
ings of 7VCT 11, p. 13 (2011)
18. Ye, M., Janowicz, K., Mülligann, C., Lee, W.: What you are is when you are: the temporal
dimension of feature types in location-based social networks. In: Proceedings of the 19th
ACM SIGSPATIAL International Conference on Advances in Geographic Information
Systems, pp. 102–111. ACM (2011)
Key Frame Selection Algorithms
for Automatic Generation of Panoramic Images
from Crowdsourced Geo-tagged Videos
1 Introduction
A number of trends have recently emerged around mobile video. First, we are
experiencing enormous growth in the amount of mobile video content that is be-
ing collected with handheld devices. Second, the continuous fusion of geo-spatial
metadata with video frames at a fine granular level (e.g., frames) has become
feasible and transparent for the end user, leading to the concept of sensor-rich
mobile videos [1]. However, even though these correlated data are now available,
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 67–84, 2014.
c Springer-Verlag Berlin Heidelberg 2014
68 S.H. Kim et al.
the browsing and exploring of large video repositories still present tremendous
challenges, but also great opportunities. Especially the utilization of such a plen-
tiful data for the generation of new visual information for GIS applications, such
as panoramic images, has not been studied much. Since web-based GIS appli-
cations increasingly integrate panoramic images for, e.g., situation awareness,
there exists a need to quickly and easily capture dynamically changing environ-
ments. This research studies how to effectively utilize the geospatial metadata
for the automatic generation of panoramic images from UGVs.
Conventional systems for generating panoramic images generally fall into two
categories: 1) images are collected with professional equipment, pre-processed,
and then presented as panoramic images (e.g., Google Street View); or 2) the
data is crowdsourced (also referred to as user-generated-videos or UGVs) with
a wide variety of mobile devices, i.e., a very heterogenous set of hardware and
software.
The professional approach has the advantage of a relatively uniform quality
of the media material. However, this comes with the drawback of data only
being available in the most popular cities and areas, and information being
refreshed only at very long intervals (i.e., years between updates). Crowdsourced
information, on the other hand, can be continuously updated and hence can be
very “fresh” and available under a variety of conditions (e.g., day and night,
or during specific events). Hence, more lively and informative images might be
provided to GIS.
However, panorama generation from UGVs faces the following challenge: the
camera positions, trajectories, and view directions of UGVs are determined by
individual users. Such videos are not usually captured with panorama genera-
tion in mind. To overcome this issue, we leverage another technological trend.
Current smartphones contain sensors that can capture the geographic properties
of the recorded scene, specifically the camera position (GPS receiver) and the
viewing direction (digital compass). We address the above challenge by propos-
ing a new approach that makes effective use of crowdsourced mobile videos and
their associated metadata. The key idea is to cross-fuse spatial, temporal, vi-
sual and other crowdsourced data to enable new, up-to-date, and exploratory
applications. Specifically, we describe a use case of leveraging sensor-rich videos
for the automatic generation of panoramic images from user generated mobile
videos. The main contribution of our work is a set of spatial selection algorithms
of key frames from multiple geo-tagged videos to reduce the processing time re-
quired for panorama generation without loss of image quality. Thus, the achieved
efficiency enables very scalable, user-driven solutions.
Please note that we are not focusing on specific image stitching techniques for
panorama generation in this study. Rather, we demonstrate how to intelligently
select the most relevant input image set using spatial metadata before applying
commercial or open source stitching techniques. Our hypothesis is that well
prepared input image datasets are critical for reducing the processing time of
any stitching techniques and enhancing the quality of the resulting images. Our
approach is to effectively select a complete image set that covers all directions
Key Frame Selection Algorithms for Automatic Generation 69
(in order) with proper overlaps for stitching between adjacent images. Many
conventional methods to select input images for such purposes struggle due to the
lack of automatic filtering. Even though photos and videos can be location-tagged
with some commercial cameras, the result is usually just one geo-coordinate
even for a long mobile video. In practice this is not sufficient and we therefore
leverage fine-grained geo-tagged mobile videos, a concept which was introduced
previously [1], [2].
We propose key frame selection algorithms for two different types of panorama
images: point and route panoramas. Experimental results show that our ap-
proach can achieve a 20 to 30 times faster processing time than a naive baseline
approach while providing comparable or better panoramic image quality. Ad-
ditionally, geo-tagging, key frame selection, and stitching can be automatically
pipelined for a quick generation of panoramic environments.
The remaining parts of this paper are organized as follows. Section 2 surveys
techniques related to our work. Section 3 describes the proposed algorithms
followed by the experimental results in Section 4. Finally, Section 5 concludes
the study.
2 Related Work
Generating panoramic images has been explored extensively in the fields of com-
puter vision and multimedia in the context of omnidirectional cameras [3], hand-
held cameras [4], mobile phones [5], or web videos [6], [7]. Some vision-based
techniques generate spherical panorama around a fixed point [8] and others cre-
ate a panorama along a line or route to show a consecutive view along the
path [9] [10]. Regardless of the source device, panoramas can be synthesized
from images [8], [11], [12] or videos [13], [14], [7]. To avoid stitching all video
frames, which typically contain significant redundancy and hence result in a
long processing time, a set of approaches were proposed [15], [16], [17] to se-
lect key frames from videos as input to panorama generation algorithms. Some
methods [15], [16] adaptively identify key frames based on the number of tracked
feature points and the amount of image-to-image overlap. Fadaeieslam et al. [17]
use a Kalman filter to predict the overlap area between each frame and its pre-
vious key frame. Most existing selection techniques in the literature work only
on one video source and assume that video frames are spatially adjacent. In
addition, they find the common feature points between frames to choose a set
of representative key frames. However, our study proposes a novel way to select
key frames from multiple videos purely based on the overlap of contextual ge-
ographical metadata that is associated with videos, which enables a far faster
generation of panoramic images without degradation of image quality.
This work is complementary to our earlier work employing geo-tagged videos.
For instance, Zhang et al. [18] used the concept of crowdsourced geo-tagged
videos to create video summarizations along a geographical path and Arslan Ay
et al. [1] proposed a search approach for large volumes of videos by considering
videos tagged with geo-metadata. Additionally, Kazemi et al. [19] studied max-
imizing the task assignment problem in spatial crowdsourcing and the proposed
70 S.H. Kim et al.
techniques can be used to ask a set of workers to record geo-tagged videos in spe-
cific locations. These methods can be combined together to form an integrated
system such as MediaQ [2].
3.1 Preliminaries
Let V be a video dataset. For a video v ∈ V, each video frame in v is denoted
as fi at time ti . As shown in Figure 1, the scene of video frame fi is represented
in a 2D Field-of-View (FOV) model with four parameters (p, θ, R, α), which
are illustrated below. Let F be the video frame set {f |∀f ∈ v, ∀v ∈ V}. All the
video frames of all the videos in V are treated as a large video frame set F .
Consequently, the video frame selection is transformed into the task of FOV
selection. Thus the Geo-Pre-Selection problem addressed in this paper is, given
an FOV dataset F , to select a subset F ⊂ F with near-minimum number of
FOVs, such that the quality of the panorama generated from F is comparable
or better than that from the panorama generated without Geo-Pre-Selection.
the selection algorithms be designed based on the criteria to minimize the number
of selected FOVs as much as possible? The selection criteria fall into the following
cases:
Based on these criteria, we proceed to present the baseline algorithms and the
Geo-Pre-Selection algorithms for the point panorama in Section 3.3 and route
panorama in Section 3.4, respectively.
Figure 2 shows the overlap and cover of two FOVs f1 and f2 . Additionally, the
overlap ratio of video frame f1 (with respect to f2 ) is OverlapP (f1 , f2 )/f1 .α.
θ n -1 θ0
f1
f2
θ1
q
Overlap(f1, f2)
……
Cover(f1, f2)
Definition 3. Given the candidate video frames set CF, a user specified location
q, an overlap parameter p (0 ≤ p ≤ 1), the Geo-Pre-Selection for Point
Panorama Problem is to select a subsequence F = {f1 , . . . , fn } of FOVs from
CF ranked by the angle of the viewing direction in increasing order, such that
for any two adjacent FOVs fi and fi+1 in F , OverlapP (fi , fi+1 )/fi .α ≥ p,
CoverP (F ) = CoverP (CF ) and |F | is minimal, where α is the viewable angle
of each FOV in CF and |F | is the number of FOVs in F .
by the angle of the viewing directions in increasing order. Next it initializes the
first video frame with the FOV with the smallest viewing direction, and then
for each previous selected video frame fpre , select the FOV with the maximum
viewing direction angle from the FOVs such that their overlap ratio with fpre
is no less than the parameter p as the next selected FOV. For FOV fpre , the
direction of the next ideal selected FOV having overlap ratio p with fpre is given
in Eqn. (1). The pseudocode of the DA-P is given in Algorithm 1.
The measurement of the difference between an FOV f in group j and the best
FOV is formally defined as Eqn. (3). Here, Dist(q, f.p) is the euclidian distance
between the camera location of f and the user-specified location q, M axDist
is the maximum euclidian distance of pairs of distinct objects in CF, i.e., the
value of M axDist is two times the predefined radius r, cos(θj , f.θ) is the cosine
of the direction difference between the group direction θj and the angle of the
view direction f.θ of f , and β is a parameter for adjusting the balance of the
camera location distance and the direction difference.
Dist(q, f.p)
DLScoreP (f, q) = β × + (1 − β) × (1 − cos(θj , f.θ)) (3)
M axDist
To ensure that the overlap ratio between two adjacent video frames is no less
than the parameter p and the scene coverage of the selected FOVs is maximal,
the group number n can be calculated as in Eqn. (4), where αavg is the average
viewable angle of the FOVs in CF. The pseudocode of the Algorithm DLA-P is
given in Algorithm 2.
360
n= (4)
(1 − p) × αavg
SP(f1)
SP(f2)
f1
R1
→
D f2
OverlapR(f1, f2) R2
α1
LP(f1) p1
LP(f2)
α2
s e
p2
CoverR(f1, f2)
Fig. 4. Illustration of OverlapR and CoverR between two FOVs for route panorama
Figure 4 shows the overlap and cover of two FOVs f1 and f2 for a route
panorama. Additionally, the overlap ratio of video frame f1 with respect to f2 ,
denoted as OverlapRatio(f1 , f2 ) is OverlapR(f1 , f2 )/SP (f1 ).
76 S.H. Kim et al.
4 Experimental Results
As shown in Table 1, the DA-P and DLA-P algorithms used a far smaller num-
ber of frames than BA-P in generating panoramic images. To generate one
panoramic image, BA-P, DA-P, and DLA-P used 210, 17 and 15 FOVs on
average, respectively. Consequently, their processing time (SelectionTime and
StitchingTime) were far less than those of BA-P. The average ExtractTime was
1
http://www.cs.bath.ac.uk/brown/autostitch/autostitch.html
78 S.H. Kim et al.
85.3, 2.34, 2.02 seconds by BA-P, DA-P, and DLA-P, respectively, while the av-
erage StitchingTime was 148.5, 8.51, 8.65 (seconds) by BA-P, DA-P, and DLA-P,
respectively. This shows that an effective selection of input frames for the gen-
eration of panoramic images can save a lot of processing time compared to a
baseline approach, i.e., BA-P.
The qualitative evaluation using a user study demonstrated that the results
from BA-P and DA-P were comparable by showing a similar QualityRank, 2.19
and 2.21 on average. However, DLA-P produced better quality images by scoring
1.6 (on average) in QualityRank, in most cases DLA-P generated comparable
quality images to either BA-P or DA-P. This demonstrates that we can generate
a better quality panoramic image while using a far smaller number of frames by
effectively filtering out redundant frames.
Fig. 5. Panorama results around Cromwell field at USC. Here the results are visually
pleasing and quite comparable for all three algorithms.
Fig. 6. Panorama results near the Mudd Hall of Philosophy (MHP) at USC. Significant
artifacts are produced if too many FOVs are used as input into the stitching process,
i.e., algorithm BA-P in (a).
Video Quality. The produced images depend on the video quality captured
by mobile devices. Since we are selecting all possible frames, not only I-frames,
a poor camera sensor or compression method in a mobile device may result in
distortions and unnatural colors in selected frames. This may further lead to mis-
matches in all feature-based stitching algorithms. In our experiments, we mainly
used mobile phones supporting 720×480 Standard Definition video recording.
When some videos were recorded in HD, the quality of the final results were
considerably better (see Figure 8). Lighting conditions may also vary across
different videos, which can further create challenges when images are selected
from different videos. However, the technological trends are very promising since
mobile video quality is rapidly improving (e.g., some of the latest smartphones
record very high quality videos) and stitching technologies are getting more
effective.
Key Frame Selection Algorithms for Automatic Generation 81
affects the selection of input images for stitching. Recently a number of studies
have investigated GPS and compass data correction via post-processing so that
sensor accuracy would not be a problem in most outdoor videos, especially in
videos where consecutive sensor data are available.
Media Processing. Generating panorama also depend on the used media
processing technology (e.g., computer vision algorithms). In this study we used
existing software packages which allowed us little control over the output. For
example, input image ordering can help in the overall performance of stitching,
however, AutoStitch did not recognize this. Since images can be selected from
different videos captured by different cameras, an algorithm which can consider
different camera properties can also enhance the quality of the resulting images.
5 Conclusions
Acknowledgments. This research has been funded in part by Award No. 2011-
IJCX-K054 from the National Institute of Justice, Office of Justice Programs,
U.S. Department of Justice, as well as NSF grant IIS-1320149, the USC Inte-
grated Media Systems Center (IMSC) and unrestricted cash gifts from Google
and Northrop Grumman. Any opinions, findings, and conclusions or recommen-
dations expressed in this material are those of the authors and do not necessarily
reflect the views of any of the sponsors such as the National Science Foundation
or the Department of Justice. This research has also been supported in part at
the Centre of Social Media Innovations for Communities (COSMIC) by the Sin-
gapore National Research Foundation under its International Research Centre @
Singapore Funding Initiative and administered by the IDM Programme Office.
Key Frame Selection Algorithms for Automatic Generation 83
References
1. Arslan Ay, S., Zimmermann, R., Kim, S.H.: Viewable Scene Modeling for Geospa-
tial Video Search. In: 6th ACM Intl. Conference on Multimedia, pp. 309–318 (2008)
2. Kim, S.H., Lu, Y., Constantinou, G., Shahabi, C., Wang, G., Zimmermann, R.:
MediaQ: Mobile Multimedia Management System. In: ACM Multimedia Systems
Conference (2014)
3. Kawanishi, T., Yamazawa, K., Iwasa, H., Takemura, H., Yokoya, N.: Generation
of High-resolution Stereo Panoramic Images by Omnidirectional Imaging Sensor
using Hexagonal Pyramidal Mirrors. In: 14th International Conference on Pattern
Recognition, vol.1, pp. 485–489. IEEE (1998)
4. Zhu, Z., Xu, G., Riseman, E.M., Hanson, A.R.: Fast Generation of Dynamic and
Multi-resolution 360 Panorama from Video Sequences. In: Int’l Conference on Mul-
timedia Computing and Systems, pp. 400–406. IEEE (1999)
5. Wagner, D., Mulloni, A., Langlotz, T., Schmalstieg, D.: Real-time Panoramic Map-
ping and Tracking on Mobile Phones. In: Virtual Reality Conference (VR), pp.
211–218. IEEE (2010)
6. Liu, F., Hu, Y.H., Gleicher, M.L.: Discovering panoramas in web videos. In: 16th
ACM International Conference on Multimedia, pp. 329–338. ACM (2008)
7. Szeliski, R.: Video Mosaics for Virtual Environments. IEEE Computer Graphics
and Applications 16(2), 22–30 (1996)
8. Szeliski, R., Shum, H.Y.: Creating Full View Panoramic Image Mosaics and Envi-
ronment Maps. In: 24th Annual Conference on Computer Graphics and Interactive
Techniques, pp. 251–258. ACM Press/Addison-Wesley Publishing Co. (1997)
9. Agarwala, A., Agrawala, M., Cohen, M., Salesin, D., Szeliski, R.: Photograph-
ing long scenes with multi-viewpoint panoramas. ACM Transactions on Graphics
(TOG) 25, 853–861 (2006)
10. Zheng, J.Y.: Digital route panoramas. IEEE Multimedia 10(3), 57–67 (2003)
11. van de Laar, V., Aizawa, K., Hatori, M.: Capturing Wide-view Images with Uncali-
brated Cameras. In: Electronic Imaging 1999, pp. 1315–1324. International Society
for Optics and Photonics (1998)
12. Nielsen, F.: Randomized Adaptive Algorithms for Mosaicing Systems. IEICE
Transactions on Information and Systems 83(7), 1386–1394 (2000)
13. Mann, S., Picard, R.W.: Virtual Bellows: Constructing High Quality Stills from
Video. In: International Conference on Image Processing (ICIP), vol. 1, pp. 363–
367. IEEE (1994)
14. Peleg, S., Herman, J.: Panoramic Mosaics by Manifold Projection. In: Interna-
tional Conference on Computer Vision and Pattern Recognition, pp. 338–343. IEEE
(1997)
15. Steedly, D., Pal, C., Szeliski, R.: Efficiently Registering Video into Panoramic Mo-
saics. In: 10th International Conference on Computer Vision (ICCV), vol. 2, pp.
1300–1307. IEEE (2005)
16. Hsu, C.T., Cheng, T.H., Beuker, R.A., Horng, J.K.: Feature-based Video Mosaic.
In: International Conference on Image Processing, vol. 2, pp. 887–890. IEEE (2000)
17. Fadaeieslam, M.J., Fathy, M., Soryani, M.: Key frames selection into panoramic
mosaics. In: 7th International Conference on Information, Communications and
Signal Processing (ICICS), pp. 1–5. IEEE (2009)
84 S.H. Kim et al.
18. Zhang, Y., Ma, H., Zimmermann, R.: Dynamic Multi-video Summarization of
Sensor-Rich Videos in Geo-Space. In: Li, S., El Saddik, A., Wang, M., Mei, T.,
Sebe, N., Yan, S., Hong, R., Gurrin, C. (eds.) MMM 2013, Part I. LNCS, vol. 7732,
pp. 380–390. Springer, Heidelberg (2013)
19. Kazemi, L., Shahabi, C.: GeoCrowd: Enabling Query Answering with Spatial
Crowdsourcing. In: ACM SIGSPATIAL GIS, pp. 189–198 (2012)
20. Brown, M., Lowe, D.: AutoStitch: A New Dimension in Automatic Image Stitching
(2008)
21. Lourakis, M.I.A., Argyros, A.A.: SBA: A Software Package for Generic Sparse
Bundle Adjustment. ACM Transactions on Mathematical Software, 1–30 (2009)
22. Fadaeieslam, M., Soryani, M., Fathy, M.: Efficient Key Frames Selection for
Panorama Generation from Video. Journal of Electronic Imaging 20(2), 023015
(2011)
ReSDaP: A Real-Time Data Provision System
Architecture for Sensor Webs
Huan Li, Hong Fan*, Huayi Wu, Hao Feng, and Pengpeng Li
Abstract. More and more sensors for environment surveillance are deployed
around the world given the rapid development of sensor networks. Since sensor
data is produced continually for months or even years in many places, a huge
amount of data is stored all over the world. This study proposes ReSDaP, an ar-
chitecture to bridge sensor networks and spatio-temporal databases by conti-
nuously creating and running Provision Items (PIs). A PI is responsible for the
continual linkage-processing-storage (LPS) of the data stream produced by a
sensor, and acts as a pipeline for nonstop transmission of data into spatio-
temporal databases at fixed time intervals. Actual data provisions from Wuhan
meteorological sensors are used as a case study of ReSDaP. This implementa-
tion demonstrates that ReSDaP has good scalability and increases the availabili-
ty of sensor web data.
1 Introduction
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 85–99, 2014.
© Springer-Verlag Berlin Heidelberg 2014
86 H. Li et al.
through dynamic loading, selecting, and deleting user-defined plug-ins. It can also
query and show the data streams that are being saved to the database as status data for
geo-objects. Data acquired by a sensor is regarded as a status/state of the geo-object
the sensor observes. The data stored to the database can be numerical, video streams,
images, and other data types. Users can control the functioning of Provision Items
(PIs) by a series of management operations like pause, stop, restart and delete. ReS-
DaP is also capable of creating PIs through visual interface.
The remainder of the paper is organized as follows. Section 2 describes related
work. In Section 3, we describe the general situation of sensor data provision, design
considerations, and architecture. Section 4 presents our implementation and expe-
riences from Wuhan meteorological sensor data provision. Finally we draw conclu-
sions and prospects for future work in Section 5.
2 Related Work
At present, most studies focus on sensor data collection [9], integration and fusion
[10], energy-saving deployment and communication optimization [11, 12] among
sensors at hardware-level. Meanwhile a few studies have described effective ways of
flexible real-time processing of sensor web data, and dynamic loading of user-defined
data processing plug-ins.
All the sink nodes of a sensor web can be connected together, and play a gateway
role to other networks [8, 13]. The application layer protocol serves to make the un-
derlying hardware transparent to the upper layer users [13]. Based on these technolo-
gies, it is easy to obtain sensor data from the network through gateway services for
sensor webs.
At the database level, many studies have focused on the management of big data, sto-
rage of data of different types, database structures [8, 14]. Many of the current open
source NoSQL (Not only SQL) databases such as MongoDB [15], CouchDB [16],
ArangoDB [17], provide solutions for storage of large amounts of unstructured data.
For real-time sensor data processing, general approaches lack flexibility and can
not achieve dynamic loading of user-defined processing plug-ins. Therefore, there is
an urgent need for a system architecture that can acquire sensor web data in real time,
flexibility process data, and storing the data to the database system continuously.
The IoT-ClusterDB [5] architecture focuses on spatio-temporal data modelling and
effective data query, realizing data uploads to the Internet of Things (IoT). IoT-
ClusterDB achieves numerical data access and real-time processing, and supports
analysis of multimedia data to extract numerical data. It realizes the high frequency
data sampling sparseness, but it is not appropriate for particular applications of user-
defined data processing, and time interval configuration related to sampling rate of
sensors has not been addressed.
ISHSN [18] consists of a gateway of the Internet of Things (IoT) and Access Agent
(AA). It receives a variety of sensor data as xml format, JSON format, or other data
formats and encapsulates them into Basic Data Format (BDF). It uses a combination
of centralized and distributed storage solutions using a balanced scheduling algorithm
in the AA to store data into a local database or a global database.
88 H. Li et al.
ChukwaX [19] was developed based on Yahoo's large data acquisition and analysis
system Chukwa. It adopts a hierarchical architecture to disperse the whole access
pressure and adaptor pattern to match different protocols to support sensing network
dynamic accessing. It uses different adaptors in the Sensor Network access Agent to
fit different sensor networks. These adaptors are responsible for parsing sensor net-
work protocols. ChukwaX supports dynamic access management and sensor networks
that can freely access or cut a connection between things. However, it only can simply
cut off a connection with a sensor network and lacks visual and flexible systematic
management.
3 Design
Sensors can be deployed as space, air, or land laid sensors, such as satellites, avia-
tion aircraft, ground sensors, and transmitted through comprehensive ground data
receiving units, which can also be nodes in a sensor web.
Sensor networks release SOS in line with OGC SWE standards through sink nodes
or gateways. Users can access the data for a certain range of time and specific extent
directly through the Internet. Such data have some limitations, users can only get a
single data service through a query at a specific SOS address.
The Data Management Center is the storage and management unit for sensor data,
wherein the data management method is flexible according to specific requirements.
ReSDaP: A Real-Time Data Provision System Architecture for Sensor Webs 89
For relatively simple applications, file management can be enough. For relatively
large amounts of simple data, a relational database can be used. For spatio-temporal
data, more complex data structures and management methods might be considered.
The Data Provision Control Unit accesses SOS through the Internet. It acquires
historical data and real-time observation data through the configuration of time and
space parameters. Then, the data are stored in the Data Management Center. Informa-
tion naturally occurs in the form of a sequence (stream) of data values. A data stream
is a real-time, continuous, ordered (implicitly by arriv al time or explicitly by time-
stamp) sequence of items [20]. The Federal Standard 1037C defines a data stream as a
sequence of digitally encoded signals used to represent information in transmission
[21]. Users operate a Data Provision Unit directly to observe the data provision
progress and which sensor data are being ingested. The Data Provision Control Unit is
mainly responsible for large data stream provision, including real-time collection,
processing, and storage of sensor data.
The necessary considerations for the design of the architecture are introduced in
the next section.
3.2 Considerations
Data Processing
An application system is unable to complete all of the data processing functions be-
cause of the diversity of sensor types and the complexity of data structures.The plug-
in framework however, is a flexible programming design technology that solves this
problem. It realizes a separation of the application framework and the functions of the
application. These functions are implemented as plug-ins which can be loaded and
unloaded from the framework in order to achieve or delete specific functions. It is a
feasible way to define a plug-in framework which achieves user-defined data
processing functions by providing uniform function interfaces.
90 H. Li et al.
Time Configuration
There are two ways to upload the sampling data of sensors to the data service center:
active and passive. In active uploading, data is uploaded if some condition is satisfied.
In passive uploading, data is uploaded at fixed periods and frequencies. Because the
latter does not require any computing power from the sensor itself, it simplifies the
data acquisition process, and is more widely used.
As soon as the sensor data arrives at the data center, they will be published as a
Sensor Observation Service (SOS) and users can get the data they want through the
Internet. Sensor web data requests from SOS can be considered in three ways.
1. Default frequency. There is a fixed frequency at which sensor data is uploaded to
data service center. It can be used as the default frequency for ReSDaP to periodi-
cally sending a data request to SOS.
2. Obtaining the latest data. Requests for the latest data are continuously sent to SOS.
If the resolved data from xml response is the same with last data acquired, it is dis-
carded. If not, it is passed to the next processing stage or directly stored to the da-
tabase as the latest data.
3. User-defined time interval. The fixed request frequency is defined by the user. De-
pending on application needs, the time unit can be seconds, minutes, or hours.
Time consumption can be different depending on the method adopted to get sensor
web data from SOS.
Based on the TCP/IP protocol, the ReSDaP using WinSocket sends a request to
SOS and gets response from the server. First, ReSDaP sends a Http Post request to the
sensor web server with a concrete content of GetCapabilities/DescribeSensor/
GetObservation operation in xml format. Then, it receives a corresponding xml-
format response from the server according to the settings of the parameters defined in
the request. Third, the relevant data is acquired by parsing the xml document.
3.3 Architecture
An architecture named ReSDaP has been adopted for sensor web data provision. The
system architecture is shown in Fig. 2. It contains three parts: One is the data supply.
Its major components are the sensor web services SOS information apart from other
data, plus the other data including raster, vector, model, and dynamic off-line data.
Another part is a distributed spatio-temporal database for storing the data stream. The
last and most important part is the data provision system, as shown in the middle part
of Fig. 2. It consists of tools for data storage, an algorithm plug-in library for data
processing, and the management system for Provision Items (PIs).
By sending a request to the service system interface, ReSDaP gets sensor data.
Then it associates the sensors and geo-objects they observe, and calls the data storage
API of the database management system for storing the data after applying a
processing plug-in to the data. ReSDaP provides a message listening port for sensor
web service system, receiving Http Post messages such as sensor registering, launch-
ing, pausing and unregistering. It also has a corresponding message handling mechan-
ism. A data importing tool is used for storage of other types of data to the database.
ReSDaP: A Real-Time Data Provision System Architecture for Sensor Webs 91
Users can customize and extend algorithms library, dynamically load, delete user-
defined plug-ins. Through the PI management function, a PI can be controlled by
starting, pausing, and deleting operations and so on.
As seen in Fig. 3, the sensor web data produced by sensor networks are published
to the Internet through a sink node or specific gateway. Data streams are transferred to
the database through data provision system pipelines. Once the ReSDaP data stream
pipelines are established, sensor web data can be requested from the Internet and
processed through specific procedures, then saved to the database as data streams.
The specific data stream pipeline processing procedures include associating sensors
and the geo-objects they observe, and data processing if one processing plug-in is
selected, and then saving according to database settings.
92 H. Li et al.
Plug-in framework
This article uses plug-in technology to achieve real-time processing of the sensor data.
The plug-in management framework and interface definition are shown in Fig. 5.
Example plug-ins are Extracting NDVI, Data sparseness, and Data interpolation For
plug-ins implemented in accordance with the specifications of the system, the plug-in
management module is prepared for registration and management operations. A plug-
in implementation specification defines the external exposure of the five interface
functions: plug-in initialization, plug-in description, settings for the plug-in parame-
ters, data processing, and shut-ins of the plug-ins. Four of these functions are for
initialization, description and closing operations of the plug-in. The fifth and last
function is the core interface, for data processing. Its input parameters are described
by “any” type of Boost liberary for any data type. The output parameters can also be
of any type, according to users’ needs in specific data defining circumstances. This
type of data defined by the “any” type makes the plugin interface more flexible and
versatile.
To load the plug-ins according to universal standard, every plug-in has its config
file in xml format. The file is a description of the plug-in specification for data
processing. It defines the name of the plug-in, a brief description for realizing the
functions of the specific features, plug-in file names, and other information such as
descriptions of input, output, and return value prarameters. Thus, all plug-ins can be
loaded, registered, and managed correctly and consistently.
The data processing step is optional, as explained in Fig. 3. The input sensor data is
chosen and processed (or not processed) by a user-defined data processing algorithm
and then output. If algorithm processing is used, the data is output after the processing
of the user-selected algorithm library. Otherwise it is output directly, and then gener-
ated as geo-object data and saved to the database.
(b) The tri-layer tree structure diagram of PIs in the config file shown in (a)
Fig. 6. An example definition for the access item file and its data structure
An example of a definition of an xml file and its corresponding tri-layer data struc-
ture is shown in Fig. 6. Displayed in Fig. 6(a) is the definition file for PIs with the
settings of each PI comprising: management parameters, data source parameters, data
storage parameters and data processing parameters. Parameters for PI management
include PI name, creator, creation time and others. Data source parameters are for
sensor web services including service address to determine where to send data re-
quests. Data storage parameters are the connect settings for database systems, includ-
ing the database server IP, port, database name, username, password and so on. Data
processing parameters include the sensor ID association with the geo-object ID, and
information for processing algorithms. Fig. 6(b) is the corresponding tri-layer tree
data structure diagram of the PIs shown in Fig. 6(a).
ReSDaP: A Real-Time Data Provision System Architecture for Sensor Webs 95
operations including launch, pause, stop and delete by single or batch processing.
When the mouse is moved over a PI, a tooltip pops up automatically to displayspecif-
ic PI information, such as sensor web services, and database connection information.
Fig. 7. Meteorological sensor data provision for Wuhan, Hubei Province. The background
consists of a raster map and a vector map of Wuhan. The green icons represent the sensors with
sensor IDs labeled aside.
In addition to the PI list for management, the same operations can be performed in
a PI view. As shown in Fig. 7, a PI view showing meteorological sensor data provi-
sion for Wuhan, Hubei Province, is displayed. The sensors are labeled by their IDs.
The view is a two-dimensional window displaying specific sensor locations and their
current positions. With mouse hovering on one sensor, a tooltip with relevant infor-
mation for the sensor pops up. By right-clicking the sensor, the same operations can
be done through the shortcut menu as in the PI list.
A web data service for viewing sensor data provided to the database, is shown Fig.
8. It displays a real-time data view interface from the database system for monitoring
the status of data provisions. Fig. 8(a) represents a list of geo-objects in the database.
The data shown in it includes the center point position, bounding box, start time and
end time of the geo-object status, and the type of the sensors which observe the geo-
objects. It can be easily determined whether the status data of the geo-object are pro-
vided in real-time by comparing the end time with current time. Fig. 8(b) is a status
data list of a geo-object. Data observed by the corresponding sensor is stored in this
table as status data of the geo-object.
The stuff of Wuhan Weather Bureau can easily control the PIs since they can be
paused, stoppped, restarted and removed, according to actual needs. Through the
management of PIs, enormous amounts of data from meteorological sensors can be
ingested to the databases, accurately and in real-time, as states of the target geo-
objects they observe. The batch processing mechanism can also be adopted for con-
venient management.
ReSDaP: A Real-Time Data Provision System Architecture for Sensor Webs 97
The provision procedures of PIs can be monitored. It can query which sensor a
geo-object is observed by, and which geo-objects the observations of a sensor are
linked to. Users can bind selected sensors to newly-created spatio-temperal geo-
objects or ones existing in the database. The configurations of PIs can be saved as xml
files and can be imported directly for re-use.
4.4 Discussion
Implementation of real sensor data provisions for Wuhan Weather Bureau shows that,
ReSDaP is suitable for sensor data acquisition, processing and management in real-
time. Users can customize and extend the processing algorithm plug-ins based on the
actual applications. Real-time data provision of sensor web can be visualized, moni-
tored, customized, expanded and controlled since the ReSDaP architecture is flexible
and applicable.
98 H. Li et al.
With the rapid development of hardware technology, the cost of sensors is decreasing
with an increasing number of smart sensors used in a variety of applications replacing
human labor. Sensors are widely distributed around the earth, monitoring the envi-
ronment of land, water and air. Real-time data provision from sensor webs has broad
application prospects and can also be extended to the field of Internet of Things (IoT).
Adressing the characteristics of sensors, their big number, enormous data volume,
real-timeliness, and extended time observations, ReSDaP is proposed to ingest sensor
data, providing data support for fast responses to disasters and emergencies, spatio-
temporal data modelling, historical data acquisition and playback. This architecture
solves problems in real-time data provision for sensor web by making the provisions
of sensor data customizable and extensible. Provision Items (PIs) are for acquiring,
controlling and managing data streams from sensor webs. Time configuration is flexi-
ble for different needs and applications. The provision procedures of PIs can be moni-
tored and sensors and their provision states are visible from a PI list table which
shows attributes of the PIs.
The next step is to research the auto-discovery of sensor web services and the
smart ingestion of sensor data to spatio-temporal databases from the perspective of
semantic web.
References
1. Broering, A., Echterhoff, J., Jirka, S., Simonis, I., Everding, T., Stasch, C., Liang, S.,
Lemmens, R.: New Generation Sensor Web Enablement. Sensors 11, 2652–2699 (2011)
2. Chen, N., Di, L., Yu, G., Min, M.: A flexible geospatial sensor observation service for di-
verse sensor data based on Web service. ISPRS Journal of Photogrammetry and Remote
Sensing 64, 234–242 (2009)
3. Di, L.: Geospatial sensor web and self-adaptive Earth predictive systems (SEPS). In: Pro-
ceedings of the Earth Science Technology Office (ESTO)/Advanced Information System
Technology (AIST) Sensor Web Principal Investigator (PI) Meeting, San Diego, USA, pp.
1–4 (2007)
4. Lai, X., Liu, Q., Wei, X., Wang, W., Zhou, G., Han, G.: A survey of body sensor net-
works. Sensors 13, 5406–5447 (2013)
5. Ding, Z., Gao, X.: A Database Cluster System Framework for Managing Massive Sensor
Sampling Data in the Internet of Things. Chinese Journal of Computers 35, 1175–1191
(2012)
6. Lee, K.B., Reichardt, M.E.: Open standards for homeland security sensor networks. IEEE
Instrumentation & Measurement Magazine 8, 14–21 (2005)
ReSDaP: A Real-Time Data Provision System Architecture for Sensor Webs 99
7. Liu, Y., Gong, J., Guo, W.: Resource locating and selection for spatial image streaming on
P2P network. Acta Geodaetica et Cartographica Sinica 39, 383–389 (2010)
8. Diallo, O., Rodrigues, J.J.P.C., Sene, M.: Real-time data management on wireless sensor
networks: A survey. Journal of Network and Computer Applications 35, 1013–1021
(2012)
9. Wang, N., Shen, S., Shen, Z., Zhao, M.: A germplasm resources data collection and man-
agement geographic information system based heavy weight network. Measurement 1734-
2739 (2013)
10. Moro, G., Monti, G.: W-Grid: A scalable and efficient self-organizing infrastructure for
multi-dimensional data management, querying and routing in wireless data-centric sensor
networks. Journal of Network and Computer Applications 1218-1234 (2012)
11. Cristescu, R., Vetterli, M.: On the optimal density for real-time data gathering of spatio-
temporal processes in sensor networks. In: Proceedings of the 4th International Sympo-
sium on Information Processing in Sensor Networks, p. 21. IEEE Press (2005)
12. Shi, H.Y., Wang, W.L., Kwok, N.M., Chen, S.Y.: Game theory for Wireless Sensor Net-
works: a survey. Sensors 12, 9055–9097 (2012)
13. Akyildiz, I.F., Su, W., Sankarasubramaniam, Y., Cayirci, E.: A survey on sensor networks.
IEEE Communications Magazine 40, 102–114 (2002)
14. Pokorny, J.: Database architectures: Current trends and their relationships to environmen-
tal data management. Environmental Modelling & Software 1579-1586 (2006)
15. MongoDB, Inc., http://www.mongodb.com/
16. Apache Software Foundation, http://couchdb.apache.org/
17. TriAGENS GmbH, http://www.arangodb.org/
18. Chen, J., Cao, J., Chen, Q.: ISHSN: An integration system for heterogenous sensor net-
works. Journal of Computer Applications 1191-1193+1207, in Chinese (2013)
19. Chen, Q.-K., Lv, X.-M., Hao, J.-T., Zhang, Z., Zhuang, S.-L.: ChukwaX: A Heterogeneous
Data Access System for Internet of Things. Computer Engineering 12-15 (2012) (in Chi-
nese)
20. Golab, L., Özsu, M.T.: Issues in data stream management. ACM Sigmod Record 32, 5–14
(2003)
21. National Telecommunications & Information Administration: Data stream, http://
www.its.bldrdoc.gov/fs-1037/dir-010/_1451.htm
GeosensorBase: Integrating and Managing Huge
Number of Heterogeneous Sensors Using Sensor
Adaptors and Extended SQL Querying
Min Soo Kim1 , Chung Ho Lee1 , In Sung Jang1 , and Ki-Joune Li2
1
Spatial Information Research Laboratory, ETRI, Daejeon, Korea
{minsoo,leech,e4dol2}@etri.re.kr
2
Department of Computer Engineering, Pusan National University, Pusan, Korea
lik@pnu.edu
1 Introduction
Recently, there has been much interest in observing sensor readings ranging from
network cameras to small wireless sensor nodes embedded in certain objects.
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 100–114, 2014.
c Springer-Verlag Berlin Heidelberg 2014
GeosensorBase: Integrating and Managing Heterogeneous Sensors 101
2 Related Work
OGC SWE [1], Microsoft SenseWeb [2], and Oak Ridge National Lab Sensorpe-
dia [3] are the most representative sensor web platform. They make sensor data
accessible on the web. OGC SWE is a sensor web platform specifying interop-
erable interfaces and metadata encodings that enable real time integration of
heterogeneous sensor data into the information infrastructure. Oak Ridge Na-
tional Lab (ORNL)s Sensorpedia is a web-based application consisting of Google
Maps interface where users can search and explore published sensor data. It en-
ables individuals, communities, and enterprises to share, find, and use sensor
data online. Microsoft SenseWeb platform is an open and scalable infrastructure
102 M.S. Kim et al.
for sharing of sensor data streams. The platform mainly focused on efficient user
query processing of numerical sensor data through caching and indexing.
However, the existing platforms do not present the solution to the problem
of heterogeneity of sensors. With the recent advancement of IoT (Internet of
Things) technology, it is expected that the explosive increase in sensor types
occurs in the near future. Such the sensors may provide their readings using
various communication protocols of serial, TCP/IP, HTTP, SOAP and using
various data formats of a simple text, binary, XML, GML, SenosrML, JSON.
Therefore, in this paper, we intend to propose a system that can support rapid
and simple integration of such heterogeneous sensors. Also, the existing platforms
do not present the solution to the problem of limited query operations. As a
variety of application services in IoT increase, it is expected that the explosive
increase of various user requests to sensors occurs. In this paper, we intend to
propose a sensor web system that can support the flexible and extensible query
operators that support various kinds of user requests.
3 Proposed System
In this section, we present the proposed system of GeosensorBase managing het-
erogeneous sensors and supporting flexible queries. We first present the system
design, followed by the sensor management that integrates heterogeneous sen-
sors, and finally the extended query processing of sensor that performs various
kinds of user requests.
Query Processor
Metadata Manager
Data Manager
Sensor Data Manager
(Database and Memory)
Integration Adaptor
Sensor Adaptor
The integration adaptor is a tool that easily integrates any sensors using meta-
data on sensors and simple code implementation. Metadata means the vendor-
specific sensor information, such as a type of sensor data, a sensor name, and
location of a sensor. Simple code implementation means programming for a
sensor adaptor that converts vendor-specific data protocol to our system data
protocol. The integration adaptor automatically generates a new sensor adaptor
source code using the metadata for newly integrated sensors. Therefore, simple
code implementation is just to rewrite a part of the sensor adaptor source code
using the vendor-specific API. Details about this simple code implementation
are described in 3.2 Heterogeneous Sensors Management.
The data manager stores sensor readings acquired from sensors, and provides
them to the query processor. By default, all sensor readings are temporarily
stored in main memory. For the sensor data logging, however, the selected sensor
data can be stored with timestamp information in an external database. Such
the logged sensor data are used to respond to queries on the past sensor readings.
The data manager also supports both pull-mode and push-mode sensors. Here,
the pull-mode sensor means a sensor that provides the data manager with sensor
readings as response on a query, while the push-mode sensor periodically provides
its readings to the data manager with regardless of a query. In the push-mode, the
provided sensor readings are temporarily stored in main memory. User queries
on the push-mode sensors are internally processed using sensor data of the main
memory. Therefore, from users perspective, they dont need to consider whether
the sensor is the pull-mode or the push-mode.
The query processor supports queries such as spatial query, event query, and
periodic query in order to satisfy various kinds of user requirements on sensor
readings. The query analyzer/optimizer parses and analyzes a query and then
creates an optimized query plan. The optimized query plan is created with con-
sidering the processing capability of a sensor. For example, if a sensor is capable
of processing a spatial query, the query plan including a spatial constraint is sent
to the sensor. Otherwise, the query plan except a spatial constraint is sent to
the sensor and then the spatial constraint is processed in the query executor of
our system. The processing capability is an element of the metadata. The query
executor manages life cycles of lots of query plans, schedules periodic queries
depending on their defined time intervals, and sometimes performs spatial and
numeric operations. The result manager asynchronously receives sensor readings
for the queries that the query executor scheduled. Finally, the query processor
is implemented with multi-threading architecture based on multiple queues in
order to efficiently support lots of asynchronous queries processing.
As the service interface, the proposed system first provides its own interface
of Java RMI for an efficient Java programming. It is easy to use and provides
powerful application programming interfaces. It provides interfaces on extended
SQL processing for sensors, on metadata management of sensors, and on vir-
tual sensor groups management. The proposed system second provides the web
service interfaces of OGC SOS [17] and SPS [18], where the web interfaces are
internally implemented using the above Java RMI interfaces.
GeosensorBase: Integrating and Managing Heterogeneous Sensors 105
As shown in Figure 2, the wizard generates Java source code and supports
various kinds of protocols such as HTTP, TCP, SOAP, and so on. The wizard
for a new sensor adaptor generates the source code using the metadata on the
newly added sensor. Therefore, the metadata definition and writing is necessar-
ily required in the process of new sensor integration. In this system, we define
metadata that includes vendor-specific information, such as sensor id, sensor
location, sensor readings type and name, and its query processing capability.
Figure 3 presents a metadata example on one sensor group called GS1, which is
edited using XML.
The metadata of Figure 3 means that the sensor group of GS1 may support
comparison operator processing, event query processing, periodic query process-
ing, aggregate query processing, and even spatial query processing. It also means
that the GS1 may support one in-network query processing at a time and may
work in the pull-mode that returns sensor readings as response on the given
query. Finally, we can see that the GS1 has two sensors of 100 and 101, and each
sensor has three sensor readings of nodePurpose, temperature, pressure and their
type information of string and float.
In addition to the simple sensor management method, our system supports a
complex sensors management method using a virtual sensor group creation. The
virtual sensor group creation may logically integrate two or more heterogeneous
sensors as one virtual sensor group. This virtual sensor group creation is used
when intending to efficiently manage complex and heterogeneous sensors as one
sensor group, which have sensor readings of the same meaning. Such the virtual
sensor group can be created like the view creation of the conventional DBMS.
Figure 4 shows a virtual sensor group creation example between GS1 sensors
and GS2 sensors.
GeosensorBase: Integrating and Managing Heterogeneous Sensors 107
GS1 GS2
ID temperature moisture location ID temperature pressure humidity
100 19.2 45.3 (3, 5) 200 21.3 62.3 42.8
101 19.8 43.6 (5, 7) 201 22.3 61.5 41.5
...... ...... ...... ...... ...... ...... ...... ......
VS1
ID T M
• GS1.temperature, GS2.temperature T
100 19.2 45.3
• GS1.moisture, GS2.humidity M
101 19.8 43.6
• Operator: GS1.moisture > 30
...... ...... ......
• VS1 (Virtual Sensor Group 1) Creation
200 21.3 42.8
201 22.3 41.5
...... ...... ......
From Figure 4, we can see a virtual sensor group of VS1, where GS1’s tem-
perature and moisture columns, and GS2’s temperature and humidity columns
are mapped into VS1’s T and M columns, respectively. Here, we can create var-
ious kinds of virtual sensor group only by selecting specific sensors which satisfy
some spatial predicates and selection predicates like GS1.moisture > 30. Figure
5 shows an XML representation that creates the example VS1 of Figure 4.
Sensor applications may need various kinds of filtering functions [19]. So, many
researchers have noted the benefits of a query processor-like interface to sensors.
It is easy to use and powerful to represent various kinds of user requests. In
this section, we propose an extended query processor for sensor readings, which
is called EQP (Extended Query Processor). The EQP supports special query
processing capabilities for efficient acquisition of sensor readings, besides default
SQL capabilities. It supports periodic query processing and event query pro-
cessing capabilities as well as spatial query processing capability. Periodic query
acquires sensor readings periodically, according to the given period and lifetime.
Event query acquires sensor readings only when the given event occurs. Figure
6 shows our summarized grammar of EQP.
108 M.S. Kim et al.
1: SQLSelect() :
2: [“EVENT ON” SQLOrExpr()]
3: “SELECT” SQLSelectColumn()
4: (LOOKAHEAD(2) “,” SQLSelectColumn())*
5: “FROM” SQLTableList()
6: [SQLWhere()] [SQLGroupBy()] [SQLPeriodAndLifetime()]
7: SQLOrExpr() :
8: ......
9: SQLPeriodandLifetime() :
10: (“PERIOD” <INTEGER> [SQLTimeUnit()]
11: “FOR” <INTEGER> [SQLTimeUnit()])
12: SQLTimeUnit() :
13: (“SECOND” | “MINUTE” | “HOUR”)
Event query like EVENT ON is defined in line 2, where event conditions are
included in SQLOrExpr(). SQLWhere() syntax of line 6 includes not only com-
parison operators, but also spatial operators, such as Within, Contains, Over-
laps, Intersects, Touch, Disjoint, Crosses, and Equals. Line 9-13 defines a periodic
query requiring period and lifetime input. Figure 7 shows several query examples
based on the grammar of EQP.
(1) SELECT id, temperature, humidity FROM GS WHERE (temperature >= 20 AND
temperature <= 25) PERIOD 10 MINUTE FOR 24 HOUR
(2) EVENT ON(temperature >= 100 AND id = 2 ) SELECT id, temperature, location FROM GS
(3) SELECT id, temperature, humidity, location FROM GS1, GS2, GS3, GS4 WHERE
temperature > 30 AND WITHIN (location, POLYGON (10 10, 10 40, 40 40, 40 10, 10 10))
(4) SELECT A.id, A.humidity, A.location, B.id, B.co, B.location FROM GS1 AS A, GS2 AS B
WHERE DISTANCE(A.locatioin, B.location) < 30 AND A.humidity > 60 AND B.co > 8
Query (1) shows an example of the periodic query that acquires id, tempera-
ture, humidity from GS at every 10 minutes for 24 hours with 20 ≤ temperature
≤ 30 conditions. Query (2) shows an example of the event query that performs
“SELECT id, temperature, location FROM GS ” whenever sensor 2’s tempera-
ture is over 100. Query (3) and (4) shows a simple spatial query and a distance
join query, respectively.
However, all sensors do not support above queries processing because some
smart sensors internally support all queries processing in themselves, but some
poor sensors cannot perform the queries at all. Therefore, we have to create a
proper query plan carefully considering the in-network query processing capa-
bility of sensors. With respect to the query processing capability, we classify
into five types of sensors in this paper. Five types of sensors are determined,
depending on whether the capabilities of “operatable, eventable, periodicable,
aggregatable, spatialable” in Figure 3 are supported or not. For example, for the
query (3), we can create various kinds of query plans depending on the capability
of each GSi like Figure 8.
GeosensorBase: Integrating and Managing Heterogeneous Sensors 109
From Figure 8, we can see that different query plans are transmitted to each
GSi for the given query (3). This work is executed using each GSi’s metadata
by the query optimizer of our extended query processor. First, the query plan of
QP1 is transmitted to GS1, where GS1 can support a periodic query processing,
comparison operation, and spatial operation. For GS2 which cannot support a
periodic query processing, however, QP2 is transmitted to GS2, which have a
query type of snapshot and null value for period and lifetime. The remaining
periodic predicates are executed at our proposed query processor. Specifically,
the query executor periodically schedules QP2 with the given period 5 minutes
and for lifetime 2 hours. For GS3, the query executor transmits QP3 which has
null value for operator. Then the query executor executes the periodic predicates
and comparison operators. Finally, for GS4, the simple query plan of QP4 having
only columns data is transmitted and then the remaining predicates of periodic
condition, comparison operators, and spatial operators are executed at the query
executor. We have to note that all processes of the query plan creation and the
query execution are internally processed at the query processor, so that clients
do not have to consider the in-network processing capabilities of all sensors. In
other words, it means that all user queries can be processed, regardless of the
in-network processing capabilities of sensors.
110 M.S. Kim et al.
In this section, we present our implementation and its applying for actual ap-
plication services. We first present a GeosensorBase Studio that provides an
integrated development environment (IDE) for a rapid integration and an ef-
ficient management of heterogeneous sensors. Then the actual implementation
of the proposed GeosensorBase system composed of the integration adaptor,
the data manager, the query processor, the service interface, and the metadata
manager is followed. Finally, we show our simulated prototype for environmental
monitoring and the test bed example for smart city monitoring.
Metadata Editing Based on Google Maps Complex Query Processing for CCTV sensor
Our proposed GeosensorBase system was implemented using JDK 1.6, Spring
framework, and OSGi framework on Windows 7. In the data manager, the ex-
ternal database connection for the sensor data logging was implemented using
JDBC. We tested Apache Derby and Oracle 11g as the external database. In the
query processor, parsing and execution of the extended SQL were implemented
using a Java parser generator of Java Compiler Compiler. Especially, the query
executor and the result manager were implemented to support asynchronous ex-
ecution and thread pooling for efficient processing of huge number of queries.
Finally, the service interface was implemented to support OGC SOS 1.0, SPS
1.0, and extended SQL API.
As shown in Figure 10, we created four sensor adaptors for AXIX, Crossbow,
Archrock, and ETRI sensors. This creation process is easily executed using the
sensor adaptor source code generation wizard as mentioned in 3.1. Then sensor
readings from the sensor adaptors are processed and managed by the data man-
ager and the query processor. Finally, the sensor readings are sent to a geospatial
engine through web service or open API. The geospatial engine provides an en-
vironmental monitoring service by integrating the sensor readings and map. In
hardware configuration, we can see that LCD panel displaying map and various
kinds of wireless sensors over the panel. In this example, we request two queries
112 M.S. Kim et al.
Vehicle Monitoring
Facilities Monitoring
5 Conclusions
We presented the GeosensorBase system that can integrate heterogeneous sen-
sors and support flexible user requests. Specifically, we presented efficient sen-
sor data management methods of the GeosensorBase, such as sensor adaptor
GeosensorBase: Integrating and Managing Heterogeneous Sensors 113
creation wizard, metadata editing method, and virtual sensor group creation
method. We also presented an extended query processor that can support var-
ious kinds of queries, such as periodic query, event query, and spatial query.
Finally, we presented two implementations of the prototype and the test bed to
verify the advantages of the GeosensorBase.
We think the main contributions of the GeosensorBase are as follows. First,
the GeosensorBase can dramatically reduce the costs and the efforts consumed
in new sensor integration. The sensor adaptor creation wizard based on XML
metadata easily supports such the integration. Second, the GeosensorBase can
efficiently manage large number of heterogeneous sensor groups using the logical
sensor group. Third, it supports powerful query processing capabilities which
are suitable for various sensor applications. Such the powerful query processing
capabilities can be supported, regardless of the capabilities of sensors. Finally,
it supports an easy-to-use toolkit of the GeosensorBase Studio. This toolkit also
can dramatically reduce the efforts and the time of developers. For the test
bed example, developers could integrate, query, and serve the eight kinds of
heterogeneous and unfamiliar sensor groups within a week by using this toolkit.
So, we think that the GeosensorBase is very applicable to build various kinds of
useful sensor applications in the physical field.
As a remaining work, we would like to embed our sensor adaptor to inside
sensors. It enables the GeosensorBase to connect heterogeneous sensors directly
without a gateway. The sensor adaptor inside sensor can operate as a software
gateway. Finally, it makes possible to directly integrate huge number of sensors
such as smart phones in the near future.
References
1. Botts, M., Percivall, G., Reed, C., Davidson, J.: OGC Sensor Web Enablement:
Overview and High Level Architecture (OGC 07-165). Open Geospatial Consor-
tium white paper (December 28, 2007)
2. Nath, S., Liu, J., Zhao, F.: Sensormap for wide-area sensor webs. IEEE Com-
puter 40(7), 90–93 (2008)
3. Gorman, B.L., Resseguie, D.R., Tomkins-Tinch, C.: Sensorpedia: Information Shar-
ing Across Incompatible Sensor Systems. In: 2009 International Symposium on
Collaborative Technologies and Systems, pp. 32–39 (2009)
4. Bonnet, P., Gehrke, J., Seshadri, P.: Towards Sensor Database Systems. In: Tan,
K.-L., Franklin, M.J., Lui, J.C.-S. (eds.) MDM 2001. LNCS, vol. 1987, pp. 3–14.
Springer, Heidelberg (2001)
5. Madden, S., Franklin, M.J., Hellerstein, J.M.: TinyDB: An Acquisitional Query
Processing System for Sensor Networks. ACM TODS 30(1), 122–173 (2005)
6. Kim, M., Lee, Y.J., Ryou, J.C.: COSMOS: A Middleware for Integrated Data Pro-
cessing over Heterogeneous Sensor Networks. ETRI Journal 30(5), 696–706 (2008)
114 M.S. Kim et al.
7. Heinzelman, W., Murphy, A., Carvalho, H., Perillo, M.: Middleware to Support
Sensor Network Applications. IEEE Network Magazine Special Issue 18(1), 6–14
(2004)
8. Li, S., Son, S.H., Stankovic, J.A.: Event Detection Services Using Data Service
Middleware in Distributed Sensor Networks. In: Zhao, F., Guibas, L.J. (eds.) IPSN
2003. LNCS, vol. 2634, pp. 502–517. Springer, Heidelberg (2003)
9. Demirbas, M., Ferhatosmanoglu, H.: Peer-to-Peer Spatial Queries in Sensor Net-
works. In: 3rd International Conference on Peer-to-Peer Computing, pp. 32–39
(2003)
10. Soheili, A., Kalogeraki, V., Gunopulos, D.: Spatial Queries in Sensor Networks. In:
14th ACM International Workshop on Geographic Information Systems, pp. 61–70
(2005)
11. Kim, M.S., Son, J.H., Kim, J.W., Kim, M.H.: Energy-Efficient Distributed Spatial
Query Processing in Wireless Sensor Networks. IEICE Transaction on Information
and Systems E93-D(6), 1447–1458 (2010)
12. Demirbas, M., Lu, X.: Distributed Quad-Tree for Spatial Querying in Wireless
Sensor Networks. In: IEEE International Conference on Communications, pp. 3325-
3332 (2007)
13. Meka, A., Singh, A.: DIST: A Distributed Spatio-temporal Index Structure for
Sensor Networks. In: ACM CIKM, pp. 139–146 (2005)
14. Lee, C.K., Zheng, B., Lee, W., Winter, J.: Materialized In-Network View for Spatial
Aggregation Queries in Wireless Sensor Network. ISPRS Journal of Photogram-
metry and Remote Sensing 62(5), 382–402 (2007)
15. Sharifzadeh, M., Shahabi, C.: Supporting Spatial Aggregation in Sensor Network
Databases. In: 12th ACM International Workshop on Geographic Information Sys-
tems, pp. 166–175 (2004)
16. Kim, M.S., Kim, J.W., Kim, M.H.: Hybrid Spatial Query Processing between a
Server and a Wireless Sensor Network. IEICE Transaction on Information and
Systems E93-D(8), 2306–2310 (2010)
17. Na, A., Priest, M.: OpenGIS Sensor Observation Service (OGC 06-009r6), Open
Geospatial Consortium Inc. (October 26, 2007)
18. Simonis, I.: OpenGIS Sensor Planning Service Implementation Specification (OGC
07-014r3). Open Geospatial Consortium Inc. (August 2, 2007)
19. Huang, C.-Y., Liang, S., Xu, Y.: A Sensor Data Mediator Bridging the OGC Sensor
Observation Service (SOS) and the OASIS Open Data Protocol (OData). In: Liang,
S.H.L., Wang, X., Claramunt, C. (eds.) W2GIS 2013. LNCS, vol. 7820, pp. 129–146.
Springer, Heidelberg (2013)
ForestMaps: A Computational Model
and Visualization for Forest Utilization
1 Introduction
Recreation is an important part of human life. Most people spent a significant
fraction of their recreation time in public spaces such as forest, parks, or zoos.
For the authorities of these public spaces, it is important to have utilization
statistics about which parts of these spaces have been visited or are going to be
visited by how many people.
Such utilization statistics are useful for a number of purposes. For example,
for the prioritization of maintenance works. Or for selecting proper locations for
new construction works (e.g. a look-out or an inn) or facilities (e.g. litter bins).
Forests, in particular, are also used for purposes other than recreation, most no-
tably for logging and preservation. Here past and projected visitor information
helps to find a meaningful assignment of the various parts of the forest to the var-
ious purposes. Indeed, the original motivation for this paper was a request from
the German forest authorities for computing such usage statistics for exactly the
named reasons.
Our problem could be easily solved if we could track the movements of each
visitor in the area of interest. But for a large number of visitors this is practically
infeasible, and it would also be a major privacy issue. Instead, our approach is
to come up with a computational model for how many people move through an
area of interest on which paths. The input for this model should be publicly
available data. Once computed, we visualize our usage statistics as a heat map,
overlaid on top of a standard map.
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 115–133, 2014.
c Springer-Verlag Berlin Heidelberg 2014
116 H. Bast, J. Sternisko, and S. Storandt
35
Identify probable
roundtours and tours
through the forest.
FOREST UTILISATION
HEAT MAP
Fig. 1. Overview of the complete pipeline for our utilization distribution generator on
the example of public forest areas
1.1 Contribution
and code (thus enabling full reproducibility of our results) can be found here:
http://forestmaps.informatik.uni-freiburg.de .
Throughout the paper, we will consider forest areas as a representative for pub-
lic spaces. Forest areas are particularly hard to deal with, in particular harder
than parks or zoos, for a number of reasons. First, forest areas have a large
number of potential entry points, and it becomes part of our problem to deter-
mine these. Second, access to forest areas is usually unrestricted and there are
no ticket booths or similar facilities, which could provide historical data on how
many people entered at that particular entry point. Third, forest areas are often
large, which entails a very large number of possible paths and round-tours. Since
we want our algorithms to be efficient, we cannot simply enumerate these paths,
but have to resort to more sophisticated solutions.
The mains steps of our pipeline are as follows. A schematic illustration is
provided in Figure 1 above.
(1) Given a road map and the boundaries of the forest areas, compute the set
of forest entry points efficiently.
(2) Given the population number of a whole area, compute a sound estimate of
the distribution of inhabitants inside that area.
(3) For each forest entry point, use the road map and the result of (2) to estimate
the number of people that are likely to use that entry point.
(4) Extract a representative set of routes and round-tours within the forest areas
and estimate their relative attractiveness.
(5) Combine the information from (3) and (4) to estimate which parts of the
forest areas are utilized to which extent.
(6) Visualize the utilization information from (5) in an intuitive and interactive
manner in a web application.
We describe each of these steps in details in the following. Steps (1)-(3) are
explained in Section 2. In Section 3, we propose two approaches for route and
round-tour extraction as required in step (4), and show how step (5) can be
accomplished on that basis. In Section 4, we explain how additional information
like points of interest and survey data can be incorporated. Although this in-
formation is not crucial for our pipeline, it can enrich the model if available. In
Section 5, we provide the setup and results of our experimental evaluation on
three data sets, namely the road maps and forest areas of Germany, Austria, and
Switzerland. In our evaluation, we consider both efficiency and quality. For our
largest data set, the whole of Germany, our pipeline can be completed in about
two hours. To estimate the quality, we compare our utilization information with
GPS traces extracted from OpenStreetMap.
From an algorithmic point of view, we are facing two main challenges. (1) Map-
ping population data given for an area to individual locations inside that area.
(2) Computing a set of meaningful paths in the forest and their attractiveness.
118 H. Bast, J. Sternisko, and S. Storandt
Challenge (1) has been addressed in [1]. Here, aerial photographs are used as
a basis to detect buildings in an area, and to extract building features like a
building’s footprint and its height. Given these characteristics, together with a
pre-defined classification of buildings, the number of residents per block is com-
puted. This approach is refined further by additionally considering city maps
that distinguish between industrial and residential areas. This leads to a sophis-
ticated multi-step algorithm that achieves very high accuracy. For over 90% of all
buildings, the number of inhabitants is estimated correctly within a tolerance of
1 person for houses and 5 persons for apartments. The drawback of this approach
is that it requires very sophisticated input data (in particular, high-resolution
aerial images), which is not available for many areas. Also, this input data is
large and complex and very time-consuming to compute with. In comparison,
our approach is much simpler and uses widely available data like road maps and
census information for whole countries. Thus we cannot, of course, estimate the
number of residents for individual buildings. But we achieve good accuracy for
estimating population distribution within sub-areas, see Section 2.4. And this is
all we need for our purpose here: more fine-grained information would not help
us to compute better utilization statistics.
Concerning challenge (2), several approaches to determine “nice” routes inside
a given area have been developed. In [2], the problem of finding good jogging
routes is investigated. It is first shown that an exact version of the problem
is NP-complete. Then several simple and fast heuristics are proposed, which
return useful routes in practice. These heuristics take as input a road map,
attractiveness estimates for sub-areas, and a desired route length. In [3], a similar
problem is addressed, namely tour suggestions for outdoor activities. The input
there is a maximal tour length together with a tolerance value. The algorithm
is based on spatial filtering and the computation of concatenations of shortest
paths.
In both [2] and [3], the goal is to find few good routes or round-tours, or even
just a single one. In contrast, for our problem we need to compute a compre-
hensive set of meaningful tours, from which we can then estimate the desired
utilization statistics of the whole area. Previous work that comes slightly closer
to this task is the computation of alternative routes in street networks. In [4], for
example, the via-node approach is introduced. Here, all shortest paths from a
given start s to a given target t via a third node v are computed, for every node
v in the graph. Then a representative subset of paths is selected via criteria such
as route length and spatial properties. We adapt the basic idea of this approach
and turn it into a via-edge approach. We employ this approach to determine the
degree of utilization of an edge inside the forest.
In this section, we describe how to compute entry points and their popularity
based solely on freely available data from OpenStreetMap. We already remarked
above that for areas which require an entry fee, like amusement parks or zoos, this
ForestMaps: A Computational Model and Visualization for Forest Utilization 119
information about entry points is usually available. Entry points are then equal
to ticket booth positions and their popularity can be measured by the number of
tickets sold. For freely accessible grounds like forests such data usually does not
exist, and we need to estimate it by different means. To determine potential entry
points, we compute the boundary polygon of an area and intersect it with the
given path network. To determine the popularity of an entry point, we consider
the population distribution in the surrounding area and the reachability of each
entry point. Both of these are non-trivial procedures, and are described in more
detail at the end of the section.
The pre-processing of our input data, described above, provides us with the
network of all paths, as well as polygons that bound the forest areas. We then find
all edges from this network that intersect one of these polygons. The intersection
Fig. 2. Detail of a street network combined with forest areas (green). Red nodes high-
light forest entry points. They are outside the forests, but have an adjacent edge that
crosses a forest boundary.
120 H. Bast, J. Sternisko, and S. Storandt
points are then our forest entry points (FEPs). Both the path network and
the polygons consist of line segments. Our computation therefore reduces to
computing the intersection between pairs of line segments. This can be done
easily in constant time per pair. However, the naive approach of intersecting each
path segment with each polygon segment would take “quadratic” time (number
of path segments times number of polygon segments). This could be reduced by
simple pruning techniques, for example, considering only path segments that lie
in the bounding box of a forest area. But even then the computational effort
would be too large. Also, forest areas extracted from OSM sometimes overlap,
and the described pruning only works for disjoint areas. Identifying and merging
overlapping forest areas first is again time-consuming.
We speed up this computation as follows. Instead of searching for intersections
of line segments, we check for each node of the network if it falls inside a forest
polygon or not. Using this classification, we iterate over all nodes in the graph
and check for nodes outside the forest if they have an adjacent edge towards a
node inside the forest. Such edges determine forest entry points. For the sake of
simplicity, we do not add a new node for the crossing of the path with the forest
boundary but instead use the last node on a path that is still outside of the
forest. See Figure 2 for a classification example. To handle the large numbers of
nodes for which the membership test has to be done, we rasterize the polygon to
a bit array of sufficiently fine resolution (we used a precision of 10 × 10 meters
per bit in our experiments). Consider this as image, where the forest areas are
painted in white and the remaining parts in black. The membership test for a
node is then reduced to a constant-time lookup of the value of the pixels at that
node’s coordinates. For our largest data set (Germany), we can thus compute
all forest entry points in a fraction of the time needed for the whole pipeline (3
minutes of about 2 hours); see Table 3 in Section 5.
Fig. 3. Left: a small artificial example of a street Voronoi diagram. There is one distinct
color for each vertex, and all the parts of edges belonging to the Voronoi cell of that
vertex are drawn in that color. Right: a real-world population distribution based on
such a street Voronoi diagram, where larger circles indicate higher population numbers.
We make use of this assumption as follows. For every street vertex, we compute
the sum of the lengths of the street segments for which this vertex is the closest
one. This is simply half of the sum of the lengths of all adjacent edges. From a
geometric point of view, this amounts to computing a Voronoi diagram for all
vertices and sum up the street lengths inside the respective Voronoi cells. For one-
way segments we map the whole length to the tail node of that segment (since
all residents must leave via that node). An example is given in Figure 3, left side.
The running time of this approach is linear in the size of the vertices and edges
in the street graph. It hence scales well to large networks. Dividing the computed
sum of lengths for every vertex by the total sum of all edge lengths, we obtain
percentage values. Multiplying these with the total population of the whole area
results in an individual population estimation for each vertex. This is illustrated
in Figure 3, right side. Types of streets, which are normally unpopulated, such
as motorways, are simply excluded from the described procedure.
122 H. Bast, J. Sternisko, and S. Storandt
With the procedure as described so far, there is still some imbalance due to
different building density along streets in different areas. For example, multi-
story buildings with a large number of people are more likely in a city center,
whereas houses in remote areas tend to be more sparse and to have less inhab-
itants. In an extreme case, like an industrial zone, there might be streets but
no actual inhabitants at all. We alleviate this imbalance by identifying (large)
clusters with a high density of living streets, typically metropolitan areas, using
a simple grid-based approach. Inside of such clusters, we increase the percent-
age values by multiplying the above-mentioned lengths of segment sums by a
constant weight factor, specified below. To identify such clusters, we again use
a grid-based approach. We choose 1000 × 1000 cells. We say that a grid cell is
dense, if the sum of the lengths of the contained streets is 25% or more above
the average (taken over all grid cells that contain at least one street). We use a
weight factor of 3 for such grid cells. We found this to be a typical ratio when
comparing population count divided by total street length in city vs. rural areas.
Moreover, we say that a grid cell is super dense, if the sum of the lengths of the
contained streets is 50% or more above the average. We use a weight factor of
6 for such grid cells. This simple approach requires only constant time per edge
and grid cell. In combination with the street Voronoi diagram, this gives us a
very efficient tool for population estimation.
The closer someone lives to a certain FEP, the higher the probability that this
person will use this FEP for visiting the forest. If several FEPs are nearby, the
likelihood for usage is distributed among them. To compute for every street
vertex v ∈ V the set of suitable FEPs, we could execute Dijkstra’s algorithm
from each such vertex. For a more realistic model, we restrict the travel time
to 30 minutes. For each FEP f contained in the Dijkstra search tree, we then
compute the usage probability as
d(v, f )
u(v, f ) = 1 − ,
f : d(v,f )<30min d(v, f )
u(v, f ) from above would hence consume many times more space than needed
for storing the actual network.
To avoid this, we discretize the d(v, f ) distances into buckets with a resolution
of 5 minutes. That way, we need to store only a few counts for each vertex.
Namely, the number of FEPs reachable in less than 5 minutes, the number of
FEPs reachable between 5 and 10 minutes, and so on.
It then remains to distribute the populations pop(v) over the FEPs. This is
easily done with another backwards Dijkstra from each FEP.
Figure 4 illustrates the backwards approach by a small example.
(0,1,1)
(1,1,0)
(1,0,0) (0,0,2)
(0,0,2) (0,1,1)
(0,0,1)
(0,0,0)
(0,0,1) (0,0,2)
(0,0,0)
14
24 5
7 (0,0.6,0.4) 31
(1,0,0) (0.8,0.2,0)
12 (0,0,0.5) 3 10
(0,0,0.5) (0,0.6,0.4)
8 10
(0,0,1) 10
10 (0,0,0)
(0,0,1) (0,0,0.5)
4 14
(0,0,0) 3
Fig. 4. Backwards approach for four forest entry points (red) and three travel time
buckets (indicated by the circular areas with the color ranging from orange to yellow).
The upper image shows the result of the first round of backward Dijkstras. For each
street vertex (black), we obtain the number of FEPs in each bucket. The lower image
shows the result of the second rounds of backward Dijkstras. The counters from above
are converted to usage likelihood values. See for example the resulting tuple (0, 0.6, 0.4)
generated from the counters (0, 1, 1). Here, we have one FEP reachable between 5 and
10 minutes, and another one between 10 and 15 minutes. Summing up the average
travel time for these buckets, we get 7.5 + 12.5 = 20 minutes. The likelihood for the
FEP in the 5-10 bucket is then 1 − (7.5/20) = 0.625 ≈ 0.6. The likelihood for the
other FEP equals the remaining probability of 0.375 ≈ 0.4. These values are then used
as coefficients to map population values (blue) to FEPs. The resulting values are the
popularity counts for each FEP (red).
124 H. Bast, J. Sternisko, and S. Storandt
23m
20m
Fig. 5. The upper path is three meters longer than the lower one, so any Dijkstra-
based point-to-point search will not include the upper path in a solution. Still, this
path section might be used in a hike.
path length (which can be extracted from the labels created in the two Dijkstra
runs and the length of the edge). For round-tours (FEP1 = FEP2 ) the attrac-
tiveness increase would be zero, hence this case is handled like in the flooding
approach. So the attractiveness increases with the popularity of the entry points,
and the smaller the difference between the via-edge path and the shortest path
the higher the attractiveness. That way, we consider all tours via a certain edge
and we generate meaningful attractiveness values for all edges in the forest.
3
http://www.fva-bw.de/
126 H. Bast, J. Sternisko, and S. Storandt
5 Experimental Results
5.1 Data
Table 2. Our five data sets (ordered by graph size) and their main characteristics
forest areas resembles reality. To get evidence for the scalability of our approach,
we also performed some of our experiments on two states within Germany, one
large (Baden-Württemberg) and one small (Saarland). Population statistics were
looked up manually in Wikipedia. The main characteristics of our data sets are
summarized in Table 2.
Table 3. Running times for the main steps of our pipeline in seconds. The numbers for
the “edge attractiveness” column are for our (more sophisticated) via-edge approach.
of forest areas. This is because the number of FEPs is influenced by both forest
area size and street network density.
The two remaining steps, the computation of the FEP popularity values (Sec-
tion 2.4) and of the forest path attractiveness values (Section 3), are the most
time-consuming of our whole pipeline. This is because both steps require a large
number of Dijkstra computations. Note that the numbers reported in Table 3
for the last step are for the more sophisticated via-edge approach, described in
Section 3.2. The more simplistic flooding approach is about 40 times faster.
We also observe that the total running time for Baden-Württemberg (BW) is
slightly larger than for Austria, despite the smaller street graph for BW. This
is because the forest areas in BW are larger and more compact and with many
more paths inside.
Table 5. Accuracy of our estimated population for the six sub-districts of the German
federal state Saarland. Δ denotes the relative deviation of our result compared to the
ground truth in percent.
5
http://www.openstreetmap.org/traces and http://goo.gl/wczD8H
130 H. Bast, J. Sternisko, and S. Storandt
Fig. 6. Comparison of heat maps for the GPS data (middle), our simple flooding ap-
proach (left), and the more sophisticated via-edge approach (right). The intensities
range from yellow over orange to red. The more red the more intense. Forest areas
with no paths or no data are green. A detailed discussion is provided in the text below.
(1) For both of our approaches, the hot spots are in similar locations as for the
GPS data.
(2) The flooding approach tends to produce larger hot spots. This is an undesired
artifact of the approach, arising from not considering tours through the forest,
but only proximity of forest edges to FEPs.
(3) The via-edge approach tends to produce more pronounced hot spots, very
similar to those from the GPS data. The via-edge approach also singles out
specific paths and edges, differentiating attractiveness values much better
than the flooding approach between several forest walks in the same area.
(4) Many of the smaller hot spots from the GPS data (e.g. those in the lower
right part of the map) can be found in the heat map of the via-edge approach,
but not in the heat map of the flooding approach. Especially in small forest
areas, people tend to walk through the forest instead of making a round tour.
Only the via-edge approach models this behavior satisfactorily.
(5) The coverage of the GPS data is very limited, the coverage of both of our
approaches is very good.
(6) In the lower left part, parallel to the border, we see an intense forest usage
indicated by the OSM traces, but only a small to medium intensity according
to our models. This is at least partly a border effect, because the cut-off at
the state boundary leads to smaller population values in the surrounding
areas of forest entry points near this boundary.
Fig. 7. Heat map for Baden-Württemberg, as produced with our via-edge approach
For our quantitative comparison, we extracted the top-50 hot spots for the OSM
trace map and for the heat maps computed by our two approaches. To extract the
top hot spots, we laid a grid over the map and summed up the heat map intensities
in each grid cell. For each of the three maps, we then extracted the 50 grid cells with
the highest value. We then counted which percentage of the top 50 grid cells from
the OSM trace map are also in the top 50 grid cells in our two approaches. The re-
sult is reported in Table 6. As in the visual comparison, also the quantitative results
show a clear advantage of the via-edge approach over the simple flooding approach.
However, this advantage is smaller than one might expect from the visual compar-
ison, in particular Figure 6. This is because the grid discretization and the top-50
approach over-emphasizes the (easy) top hot spots and blurs the subtle differences
between flooding and via-edge discussed above.
132 H. Bast, J. Sternisko, and S. Storandt
Fig. 8. Heat map for Austria, as produced with our via-edge approach
Table 6. Quality analysis of our two edge attractiveness models using a set of traces
extracted from OSM as ground truth. Hot spot detection is evaluated against this
baseline, the values are given in percent.
Fig. 9. Heat map for Switzerland, as produced with our via-edge approach
ForestMaps: A Computational Model and Visualization for Forest Utilization 133
References
1. Ural, S., Hussain, E., Shan, J.: Building population mapping with aerial imagery
and GIS data. International Journal of Applied Earth Observation and Geoinforma-
tion 13(6), 841–852 (2011)
2. Gemsa, A., Pajor, T., Wagner, D., Zündorf, T.: Efficient Computation of Jogging
Routes. In: Bonifaci, V., Demetrescu, C., Marchetti-Spaccamela, A. (eds.) SEA 2013.
LNCS, vol. 7933, pp. 272–283. Springer, Heidelberg (2013)
3. Maervoet, J., Brackman, P., Verbeeck, K., De Causmaecker, P., Vanden Berghe, G.:
Tour suggestion for outdoor activities. In: Liang, S.H.L., Wang, X., Claramunt, C.
(eds.) W2GIS 2013. LNCS, vol. 7820, pp. 54–63. Springer, Heidelberg (2013)
4. Luxen, D., Schieferdecker, D.: Candidate sets for alternative routes in road networks.
In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 260–270. Springer, Heidelberg
(2012)
5. Yen, J.Y.: Finding the k shortest loopless paths in a network. Management Sci-
ence 17(11), 712–716 (1971)
6. Eppstein, D.: Finding the k shortest paths. SIAM Journal on Computing 28(2),
652–673 (1998)
7. Ensinger, K., Wurster, M., Selter, A., Jenne, M., Bethmann, S., Botsch, K.: “Ein-
tauchen in eine andere Welt” - Untersuchungen über Erholungskonzepte und Erhol-
ungsprozesse im Wald. German Journal of Forest Research 184(3), 70–83 (2012)
Isibat: A Web and Wireless Application
for Collecting Urban Data about Seismic Risk
1 Introduction
Urban seismic vulnerability is characterized by the ability that buildings and built
structures show to resist and stand up to seismic shakings and aftershocks. Many
works have shown that there is a strong correlation between the features of buildings,
structures and constructions (nature of materials, shape of the roof, number of floors,
building irregularities, etc.) and the level of damage at a given level of seismic stress
[12], [2], [4]. Having a good knowledge of the urban environment, and especially the
existing buildings, is very important in order to manage, foretell, and assess both their
pre-seismic vulnerability and their post-seismic integrity. Through the past, various
methods for estimating the seismic vulnerability of buildings have been proposed
(HAZUS 19971) [5], [11], that have led to the establishment of a global programme
∗
This research is funded by the French National Research Agency – ANR-09-Risk-009.
1
http://www.fema.gou/hazus
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 134–147, 2014.
© Springer-Verlag Berlin Heidelberg 2014
Isibat: A Web and Wireless Application for Collecting Urban Data about Seismic Risk 135
2
The Urbasis Project is funded by the French National Research Agency on the theme: urban
seismology: innovating methods for assessing vulnerability and seismic damages. ANR-09-Risk-
009. http://users.isterre.fr/pgueg/URBASIS/Accueil.html (in French).
136 P.-A. Davoine et al.
2 Towards a Seism
mic Inventory of the Urban Built
The estimation of the seissmic vulnerability relies on the European Macroseism mic
Scale EMS-983 that consists of a classification in six classes based on the
characteristics or features of
o a building (see Fig. 1). The purpose of the EMS-98 iis to
support a fine-grain cartogrraphy of the seismic vulnerability or earthquake damagees in
any European city, in ordeer to improve both the knowledge and the management of
the seismic risk.
Fig. 1. The evaluation grid baased on the European Macroseismic Scale EMS-98. Buildingss are
grouped by type of constructioon, according to the material used.
Most of the existing ap pproaches are based on the analysis of orthophotos and
digital terrain models, cou upled with cadastral geographic information, or basedd on
urban data collected at the district
d level [4]. In the former case, an image showing the
composition and the diversiity of the urban morphology is obtained. One of the criteeria
adopted here is called “urb ban ruggedness” defined as the ratio between the averrage
height of the buildings and the urban density (being itself defined as the ratio betwween
the area occupied by sum of the building surfaces and the total area of the studdied
zone). However, a lot of otther features, such as the type of building material usedd, or
the shape of the roof, or irrregularities in the height or the layout of the buildingss, or
the tilt of the slope on whicch buildings are constructed, etc., also need to be taken iinto
3
http://www.franceseisme.fr/EMS98_Original_english.pdf NR -09-Risk-0009.
Isibat: A Web and Wireless Ap
pplication for Collecting Urban Data about Seismic Risk 137
account. In the latter caase, urban seismic vulnerability studies rely on soome
aggregated spatial data or on deduced urban parameters [4]. However, most of the
time, such aggregations co orrespond to statistical summaries that are more or lless
relevant, and lead to an ovversimplification and a generalisation of the characterisstics
of the studied urban area. These approaches do not account for local variations tthat
can be observed on the fieldd.
Regarding the estimationn of the damages, which is performed during a post-seism mic
period, data collected in-sittu are favoured. This task consists of a visual auscultattion
of the buildings based on th
he standard EMS-98 evaluation grid (see Fig. 2).
Fig. 2. Damag
ge evaluation grid according to the EMS-98 scale
Such field surveys are ussually conducted by expert investigators who scour the site
of the disaster and record their observations into paper field notebooks. Once the
observations are made, data are entered into a computer and then processed. T This
manual process is time-con nsuming and costly; it is not well suited for establishhing
some cartography of the damages
d in real time, neither for identifying what are the
areas or zones with the highher (human, material, economical, environmental…) staake.
The objective here is two-ffold: 1) being able to draw a map of the caused damaages
that efficiently contributes to solve a crisis management problem; 2) being ablee to
estimate the level of seismiic intensity over the studied stricken area, according to the
damages and intensities sccales provided by the EMS-98. Moreover, the damaages
caused on a building are im mpacting its seismic vulnerability. So, it is of the utmmost
importance to be able to re--assess its vulnerability between two seismic aftershockss.
Whatever be their goaal, existing methods and available data have seveeral
limitations: i) they do not allow
a for a very detailed knowledge of the buildings inn an
urban area; ii) they do nott allow for establishing relevant correlations between the
type of construction, the vulnerability
v and the damages caused, at a given levell of
earthquake; iii) they do noot account for the identification of specific buildings w with
high stakes into a studied arrea. In order to overcome these limitations, collecting a big
amount of geo-referenced data
d at the building level is required, as well as facilitatting
the reuse of such data.
138 P.-A. Davoine et al.
3.1 Motivations
The Geoweb is the convergence of Geographical Information Technologies and of
Information and Communication Technologies, relying on the Web, the Internet,
Mobile Technologies and Location-Based Systems [8], and offers new opportunities
for collecting data in-situ.
On the one hand, mobile devices such as smartphones or tablets are now equipped
with GPS and geolocation functionalities, and can serve as electronic field notebooks.
Entered data and information are numerical and automatically georeferenced. This
way, the transcription step that is error prone is skipped and the data quality is
therefore improved. Still, collecting in-situ data requires adopting shared protocols,
formats and forms in order to homogenize such data. Also, mobile devices allow for
contextualizing collected geo-and-time referenced data by annotating them with
different kinds of metadata: photos, videos, audios, textual comments, etc. [13].
On the other hand, crowdsourcing and more particularly Volunteered
Geographical Information that offer tools for creating, gathering and publishing
geographic data willingly collected by individuals or citizens [7] have become a
powerful means for producing and sharing geographic information collectively [9].
This way, a set or a community of actors, following a common goal, can produce and
share geographic data on a given topic [9]. Though the Web interface and adapted
functionalities of such VGI tools, users are now given the opportunity to become
active contributors in the process of producing information. Following this
participatory approach, OpenStreetMap4 is one of the most known applications. In the
last few years, a lot of similar initiatives have been launched in the field of natural
hazards prevention, particularly in order to quickly collect data in order to evaluate
the damages caused during a crisis period (for instance, the Ushahidi5 project during
the Haiti post earthquake period in 2010...), as well as in the field of environment
observation [10].
Being able to conduct a comprehensive inventory of the structural characteristics
of the existing buildings in a city is a time consuming and manpower costly task.
Investigators have to walk through a vast urban space, by visually observing each
building and informing about its geographical position and the associated list of its
structural parameters. It seems to us that, in the domain of seismic risk prevention,
adopting an approach based on the co-production of data is an interesting and
promising track. Our idea is to provide contributors with a software environment
coupling one mobile device for acquiring data, and one Web application for storing
and visualizing these data. This environment would help in conducting inventory for
assessing both the vulnerability and the damages caused. We also argue that the
notion of co-production is important too. Instead of a contribution that could only be
done by expert investigators, we assume that any person may, in her own way,
4
http://openstreetmap.org
5
www.ushahidi.com
Isibat: A Web and Wireless Application for Collecting Urban Data about Seismic Risk 139
Table 1. Structural parameters for the assessment of seismic vulnerability and damage (at the
more general level) [5]
Vulnerability Damage
Building typology EMS-98 damage level
Date of construction Hairline cracks in walls
Soil type Large cracks in walls
Roof Small blocks fallen from stone or brick walls
Number of stories Heavy blocks fallen from stone or brick walls
Regularity in elevation Hairline cracks at the connection between walls
Strength Collapse at the connection between walls
Height of floors At least one floor partially collapsed
Regularity in plan At least one floor totally collapsed
Quality-reinforcement Chimney, moderate or heavy damage
Distance between walls Some tiles fallen
State of preservation Roof partially collapsed
Horizontal diaphragm Roof totally collapsed
140 P.-A. Davoine et al.
both an application running on a mobile device (client side) and a Web application
(server side). On the client side, when the collection phase is active, the IsibatMobile
application, allows for the acquisition of in-situ seismic data about the inventoried
buildings, as well as the evaluation in real-time of their levels of vulnerability or
damage. On the server-side (for instance, on a workstation), IsibatOnline is a Web
application that provides storage, visualization and dissemination functionalities for
collected data. The Web application also offers some analysis functionalities for the
assessment of the seismic risk over the studied areas of a city.
4.1 Principles
The Isibat application relies on the following principles:
- An interactive and multi-level acquisition of semantic data: the user enters,
through its mobile device, the parameters characterizing the studied buildings, at
different levels of accuracy, depending on her skills and knowledge (expertise
and competencies).
- An automatic acquisition of contextual data: the geographic coordinates of the
buildings, as well as the date and the time of the collection, are automatically
provided by the mobile device.
- A contextualized use: various and progressive collection modes are offered,
mainly a seismic vulnerability assessment during a pre-seismic period, and a
damage evaluation during a post-seismic phase.
- A cartographic visualization: both the IsibatMobile and the IsibatOnLine
applications rely on cartographic component approach all along the collection,
the display and dissemination processes.
- A co-production and a sharing of information: the application is designed to
allow multiple contributors with varying levels of knowledge and different
objectives, to collect data either spontaneously or in the context of specific and
planned campaigns of acquisition. Once data are collected, they are stored on a
server and made available in various ways, through a Web interface.
4.2 IsibatMobile
The IsibatMobile application can be downloaded for free from the Apple Store6. It
runs in two modes: Vulnerability and Damage. Any inventoried building can be
edited alternately in one of two modes. Each of these modes offers functionalities for
entering, deleting and modifying the compulsory parameters needed for the
assessments of vulnerability and damage. Semantic data are entered using drop-down
lists containing items to select (vulnerability mode) or "box select" (damage mode).
The investigator may also, using her mobile device, take pictures or record some
audio comments, which act as metadata for the collected data.
6
Look for Isibat iPhone application in iTunes.
142 P.-A. Davoine et al.
Fig. 3. Isibat: the main functionalities when using the Vulnerability mode: (screen 1) edition of
the parameters at levels 1 and 2; (screen 2) edition of parameters at higher levels; (screen
3) example of help; (screen 4) Computation of the vulnerability of the building and multimedia
recording
The mobile application has a map component that makes it possible to locate the list
of inventoried buildings and display their level of vulnerability and / or damage (see
Fig. 5). The location associated with the identified building can be refined
interactively (see Figure 5 – screen 1). Base map used by default are those proposed
by Google, but the user is allowed to integrate her own base maps, either in a vector
or a raster matrix mode.
Isibat: A Web and Wireless Ap
pplication for Collecting Urban Data about Seismic Risk 143
4.3 IsibatOnLine
On the server side, the Web b application IsibatOnline is in charge of the managemment,
visualization and cartograp phic processing of collected data. The application conssists
of several modules (see Fig g. 6):
- A management mo odule which allows the registration or the downloadd of
collected data: an up pward flow sends the collected data to the server databaase,
while a downward d flow allows a contributor to download data from m a
collection that it wisshes to continue, modify or complete.
144 P.-A. Davoine et al.
Through the cartographic interface of IsibatOnLine, one can, for example, create
the map of buildings built before one given date. The OGC module is then used to
dynamically build the map corresponding to this filter criterion. If, subsequently,
buildings are added, they will automatically be added to this map. Also, maps
associated with the classes of vulnerability (as presented in section 2) allow for the
analysis of the homogeneity or inhomegeneity of some urban areas, at different
geographic scales (see Fig. 8).
Isibat: A Web and Wireless Ap
pplication for Collecting Urban Data about Seismic Risk 145
SQLite is a database engine without server, embarked on the iPhone. SQLite is open
source and in the public.
On the server side, IsibatOnline, is a Web application that has been mainly built
with the Google Web Toolkit (GWT) framework. This solution allowed us to write
the code using Java during the development phase, and then to translate this code in
Javascript when compiling. This choice was made for two reasons: first, it facilitates
the writing of automated unit and functional tests, and, second, it overcomes problems
of compatibility with different browsers, since the compilation generates several
Javascript versions, adapted to different browsers (Firefox, Chrome, IExplorer, ...).
Interactive maps of the application rely on a GWT component based itself on
OpenLayers components. The base map uses either OpenStreetMap or Google Maps
layers (chosen by the user). On this base map, OGC layers (WMS essentially) are
added: they display the data collected during the collections performed using
IsibatMobile. The statistics diagrams and the user interface have been designed using
GXT components, an open source library. A PostgreSQL/POSTGIS server ensures
the persistence and the access to data. The application is installed on a Tomcat server.
Exchanges between the two applications are made using XML files, based on a
proprietary schema, or simply on image files for photos. Each of the two applications
parses this file and inserts it into the database (SQLite or PostgreSQL) it uses. To
recover these files or copy them on the iPhone, one must use iTunes. Uploads to and
downloads from the Web application are performed classically.
Recent advances in mobile networks and wireless technologies on the one hand, map
components on the other hand, make it now possible to envisage and build platforms
for collecting in-situ geo-referenced data, based on efficient and powerful client-
server architectures which take advantage of the numerous sensors now embedded in
most of the mobile devices (smartphones, tablet PCs, ...) found on the market.
In this context, we have presented the application Isibat which is dedicated to the
in-situ seismic inventory of existing buildings either for vulnerability or damage
assessment purposes. Isibat actually consists of two applications: first, IsibatMobile is
a mobile client application, available on iPhone or iPad, intended to assist in an
intuitive and interactive way, contributors during a campaign of data collection,
during a pre or a post-seismic period. IsibatMobile can be used by experts as well as
by citizens. Second, IsibatOnLine is a Web application that acts as a server dedicated
to the management of the data collected using IsibatMobile. IsibatOnLine provides
access to data and, through dynamic and interactive map components, it allows for
querying the inventoried areas.
Up to now, Isibat has been used by expert contributors-investigators only in two
case studies: one concerning the city of Grenoble (France) for the assessment of urban
vulnerability and the other in the area of Ferrara in the north of Italy, to assess the
damage after the earthquake that struck the region in 2012. Feedbacks of expert users
allowed us to improve the usability of both the IsibatMobile and the IsibatOnLine
Isibat: A Web and Wireless Application for Collecting Urban Data about Seismic Risk 147
interfaces. Yet, experimentations and collections involving non-expert users have not
been conducted. This raises questions about data quality (how to represent the
quality?, how to evaluate it?, how to take it into account in future analyses and
processing, etc.) and then about data validation, that deserve to be studied thoroughly
and which, in fact, are questions raised by any application adopting a VGI-like
approach based on the participation of the citizens. We have recently started to work
on such issues.
References
1. Bossu, R., Gilles, S., Mazt-Roux, G., Roussel, F.: Citizen Seismology or How to Involve
the Public in Earthquake Response. In: Miller, D.M., Rivera, J. (eds.) Comparative
Emergency Managment: Examining Global and Régional Responses to Disasters, pp. 237–
259. Auerbach/Taylor and Francis Publishers (2011)
2. Calvi, G., Pinho, R., Magenes, G., Bommer, J., Restrepo-Velez, L., Crowley, H.:
Development of seismic vulnerability assessment methodologies over the past 30 years.
Indian Society Journal of Earthquake Technology 43(3), 75–104 (2006)
3. EMS98, “L’Echelle Macrosismique Européenne 1998”, Conseil de l’Europe, Cahiers du
Centre Européen de Géodynamique et de Séismologie, vol. 19, p. 124 (2001) (in French)
4. Gueguen, P., Michel, C., LeCorre, L.: A simplified approach for vulnerability assessment
in moderate-to-low seismic hazard regions: application to Grenoble (France). Bulletin of
Earthquake Engineering 4(3), 467–490 (2007), http://www.springerlink.com/
content/14hmjgn512805344/
5. GNDT, Instruzioni per la Compilazione de lla Sceda di Relivamento Esposizione e
Vulnerabilità Sismica Degli Edifici. Gruppo Nationale per la Difesa dai Terremoti,
Regione Emilia Romagna y Regione Toscan, Italy (1986) (In Italian)
6. Gires, J.-F., Touya, G.: Quality Assessment of the French OpenStreetMap Dataset.
Transactions in GIS 14, 435–459 (2010)
7. Goodchild, M.F.: Citizens as voluntary sensors: spatial data infrastructure in the word of
Web 2.0. International Journal of Data Infrastructure Research 2, 24–52 (2007)
8. Mericskay, B., Roche, S.: Cartographie 2.0: le grand public, producteur de contenus et de
savoirs géographiques avec le Web 2.0. Cybergeo: European Journal of Geography (2010),
http://cybergeo.revues.org/24710 (in French)
9. Noucher, M.: Coproduction of spatial data: from compromise to argumentative consensus.
Conditions and participatory processes for producing spatial data together. International
Journal of Geomatics and Spatial Analysis, Special issue (2011)
10. Ruitton-Allinieu, A.M.: The Crowdsourcing of geoinformation: data quality and possible
applications, Alto university, School of Engineering, department of surveying (2011)
11. RiskUE, An Advanced approach to earthquake risk scenarios with applications to different
European towns, Projet Européen, EVK4-CT-2000-00014 (2003)
12. Spence, R., Lebrun, B.: Earthquake scenarios for European cities – the risk-UE project.
Bull. Earthquake Eng. 4(4) (2006) (special issue)
13. Viana, W., Miron, A.-D., Moisuc, B., Gensel, J., Villanova-Oliver, M., Martin, H.:
Towards the semantic and context-aware management of mobile multimedia. Multimedia
Tools Appl. 53(2), 391–429 (2011)
A Journey from IFC Files to Indoor Navigation
1 Introduction
Every day, many people around the world have to walk through unfamiliar indoor
spaces such as large airports, office buildings, commercial centers, etc. Due to various
factors like modern design and functional requirements, many of such indoor spaces are
becoming increasingly large and complex. Therefore, indoor navigation is of realistic
importance and great potential. In particular, indoor navigation is useful for those peo-
ple that are not familiar with the internal structure of the building. Indoor navigation
is also very useful for those in a hurry to get from one place to another in an indoor
environment, e.g., from the check-in desk to the correct boarding gate at a large airport.
An indoor navigation system requires an appropriate indoor space model that repre-
sents the indoor entities as well as topology among those entities. Such a requirement is
alike to the use of maps of road networks in outdoor navigation settings. Nevertheless,
modeling indoor spaces is unique due to at least two reasons. First, movement inside
an indoor space is enabled and constrained by various indoor entities like walls, doors,
staircases, etc. Second, Euclidean distances and network distances that work for outdoor
settings fall short in indoor spaces because of the indoor entities and topologies.
Recently, some indoor space models [12, 18, 22] have been proposed to support in-
door navigation at different semantic levels. These proposals more or less assume that
all information about indoor entities and topology is already available and precise in
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 148–165, 2014.
c Springer-Verlag Berlin Heidelberg 2014
A Journey from IFC Files to Indoor Navigation 149
the model-specific format(s) when the indoor space model is to be generated for a given
indoor space. This assumption, however, is often questionable in reality.
In the architecture, engineering and construction (AEC) industries, the Industry Foun-
dation Classes (IFC) model, an international standard registered by ISO, is often used
to describe buildings. For example, its use is compulsory for publicly funded building
projects in Denmark [17]. The IFC model does not represent indoor space information
in the format(s) assumed by those navigation-oriented models mentioned above. In-
stead, it focuses on the geometric representation for indoor entities, and its description
for indoor topology is only implicit or even incomplete.
Apparently, there is a gap between the widely used industry standard for describing
indoor spaces and the indoor space models for navigation purposes. The research de-
scribed in this paper is thus motivated to bridge the gap by a series of technical steps
that altogether fulfil the purpose of indoor navigation. As a matter of fact, construct-
ing indoor topology from IFC files benefit not only indoor navigation but also other
applications like indoor tracking data cleansing [2].
In particular, we make the following contributions in this paper. First, we propose
an effective method that processes the IFC file of an indoor space and constructs in-
door topology from the file. Second, after the indoor topology is constructed, we design
a refined decomposition method that breaks down large indoor partitions in irregular
shapes. The decomposition can help speed up routing that involves large indoor par-
titions in irregular shapes. Third, with the availability of indoor topology and refined
decomposition, we design an algorithm that is able to compute indoor distances for
complex partition shapes. Last, we conduct extensive experiments to evaluate our pro-
posals. The results demonstrate that our proposals provide effective processing of IFC
files and efficient indoor navigation.
The rest of this paper is organized as follows. Section 2 reviews related work. Sec-
tion 3 elaborates on processing IFC files. Section 4 presents the refined decomposition.
Section 5 addresses the indoor routing. Section 6 reports the experimental results. Sec-
tion 7 concludes the paper.
2 Related Work
Lee [10] proposes the 3D Geometric Network Model that treats the vertical and hori-
zontal connectivity relationship among 3D spatial cells separately. Whiting et al. [16]
propose a 3D metrical-topological model that describes both shapes and connectivity of
spatial cells. Becker et al. [15] combine space partitions with possible events in a dual
space to enable navigation in multi-layered buildings. Focusing on topological relation-
ships, these models do not support distance-aware indoor navigation.
CityGML promoted by Kolbe et al. [6] is an OGC GML standard for modeling urban
elements in 3D objects. It offers architectural models for interior on its lowest Levels of
Detail (LOD) 4. Topological connections between geometries are optional in CityGML.
Most recently, Li et al. [7] are working on IndoorGML to develop it into an application
schema of OGC GML for indoor spaces.
Anagnostopoulos et al. [1] propose an ontological framework for indoor routing
that considers user profiles. Yang and Worboys [21] propose a navigation ontology for
outdoor-indoor spaces. Li and Lee [11] design a lattice-based semantic location model
where “length” of an indoor path is measured by the number of doors. This model falls
short in many practical scenarios as it does not calculate the real indoor distances [12].
Yuan and Schneider [22] propose the iNav model for indoor navigation. It however
does not support arbitrary indoor position-to-position distances. Xu and Güting [20]
propose a generic data model for moving objects in three kinds of spaces: free space,
road networks, and indoor space. Both models [20, 22] map doors to graph nodes and
rooms to edges. Such a design does not support the door directionality and is incompat-
ible with realistic operations like closing/opening a door. Yuan and Schneider [23] also
propose the LEGO representation that involves only so-called connector-to-connector
indoor distances. Lu et al. [12] develop a distance-aware indoor space model that sup-
ports indoor navigation for two arbitrary positions in an indoor space. Therefore, we
employ this latest indoor space model in this research.
This work differs substantially from previous works by the following features. First,
rather than formulating a new indoor space model, this work proposes necessary tech-
niques to instantiating an existing indoor space model [12] by processing raw digi-
tal building information appropriately. Such efforts have not seen in aforementioned
existing research on indoor space models. Second, this work improves existing tech-
niques in relevant aspects. In particular, this work proposes a refined indoor partition
decomposition method compared to an existing method [19]. Also, this work elabo-
rates on intra-partition indoor distance computation, which is only abstract in previous
research. Third, this work demonstrates the complete procedure of building indoor nav-
igation systems from raw digital building information. We also implement a prototype
A Journey from IFC Files to Indoor Navigation 151
system [3], which consists of a server and wireless-enabled mobile terminals, to verify
and evaluate the proposals in this work.
An IFC file contains explicit information about the containment relationship between
floors and building elements, but it lacks the topological relationships between con-
nected elements, e.g., a door and the connected room(s). Consequently, IFC files cannot
be used directly in indoor navigation that requires indoor topology.
An example of this can be seen in Figure 3. The two scenarios shown in the figure
are identical apart from how the split is performed. As it can be seen, the height of the
partition exceeds the width and the split should, according to the original algorithm,
be performed perpendicular to the height, as illustrated in Figure 3 (a). This, however,
creates a large and a small sub-partition, where the small partition is imbalanced. If the
split is performed perpendicular to the width of the partition, as seen in Figure 3 (b),
more balanced and evenly sized sub-partitions are created. As such, the solution to this
problem is to find and use the split which creates the most balanced sub-partitions.
Fig. 2. Example of problematic decompositions Fig. 3. Example of choosing the best split
Alignment on Dimension Split. Using a dead space threshold, the existing algorithm
[19] is able to decompose imbalanced convex partitions as intended. However, it is still
possible that a resulting partition contains turning points and is concave. This can cause
problems when making the dimensional split, i.e., the split perpendicular to the longer
dimension through the middle point on that dimension. An example is shown in Fig-
ure 4, where the partition is decomposed into two sub-partitions A and B. By examining
the partition before it is decomposed, it can be seen that it does contain a turning point.
However, assuming that the percentage of dead space does not exceed the threshold,
the partition is not decomposed using turning points. After the dimensional split, the
percentage of dead space in sub-partition A may exceed the threshold, allowing for
decomposition using the turning point. Using the best split solution described above
would create a small sub-partition in the upper right corner of sub-partition A. This
small sub-partition becomes more imbalanced when the dimensional splitting line is
closer to the turning point, possibly resulting in multiple dimensional splits.
The solution to this problem is to search the partition for turning points when making
the dimensional split. If any turning point in the partition is within the distance of a pre-
defined threshold, Talign , the splitting line is aligned with the turning point, eliminating
the aforementioned problem.
Algorithm. The improvements described above are integrated into Algorithm 1. The
refined algorithm takes as input the partition region r and three thresholds: Tshape ,
Tdeadspace , and Talign . First, in Line 2, the set of turning points is found for r. Next, in
Line 3, a check is made to see if r is concave and the amount of dead space in r exceeds
Tdeadspace . If that is the case, r is decomposed using turning points in Line 4-8. Here,
the turning point t closest to the middle of r is used to create two splitting lines. The
splitting line that results in the best split, is used to divide r into two or more regions,
{ri }. The decomposition algorithm is then run recursively on each of those regions.
If the check in Line 3 is not valid, another check is performed to determine if r is
imbalanced, as seen in Line 11. If that is the case, r is decomposed using dimensional
split (Lines 12-18). Here, the middle point m on r’s longer dimension is used to create
a splitting line s. Then s is aligned with any nearby turning point using the threshold
Talign . Finally, r is divided into two or more regions, {ri }, and the decomposition
algorithm is run recursively on each of those regions.
This section describes the algorithm for indoor distance computation and routing. The
overall routing algorithm we use is from a previous work [12]. It is based on door-to-
door distances and is able to compute the shortest route between two positions in the
indoor space. This is done by using an exploratory approach to find possible shortest
routes between two points and updating the result if a shorter route is found as the dif-
ferent paths are traversed. As the algorithm runs, the currently shortest indoor distance
156 M. Boysen et al.
from a source door to a destination door is stored and used to avoid unnecessary com-
putations. Furthermore, the door-to-door distances computed at a given time are reused
to limit the search. The computation of intra-partition distances between doors is not
the focus of the previous work [12]. In the following, we focus on the intra-partition
distances and design a refined algorithm to compute them.
In a simplified way, the shortest distance between two doors can be assumed to be
the Euclidean distance between them. However, this is not always correct, because the
path that represents this distance can be obstructed by obstacles or walls in concave
shaped partitions. An example is shown in Figure 5(a), where s and t are doors.
Here, the two polylines created in the initialization are used and since the intersecting
point closest1 to s, the point cp, lies on the polyline highlighted in blue, the intermediate
point is chosen from the concave vertices on this polyline by “walking the line”. This is
done by iterating through the concave vertices, starting with the one encountered first
when traversing the polyline from t to temp, in this case v4 . For each concave vertex,
the line segment from temp to the vertex is drawn, and the first vertex that the line
segment does not intersect and that is within the boundary of the partition, is chosen as
the intermediate point. This process is shown in Figure 7(b) and 7(c). First, v4 is tested
but the line drawn intersects with the boundary of the partition. So the next concave
vertex v1 is tested and it passes as an intermediate point since the line segment drawn
does not intersect with the boundary of the partition. As such, v1 is added to Rpath and
chosen as the new temp (Line 14).
Figure 7(d) illustrates the start of a new while-loop iteration, and the procedure
shown in Figure 7(a) is repeated with v1 as temp. In this iteration, cp lies on the other
polyline created in the initialization, which is then used. The for-loop in Lines 11-14 is
repeated once again, as shown in Figure 7e, where the first concave vertex encountered
on pl, v3 , is tested. The process is continued and repeated until t is reached, as shown
in Figure 7(f).
6 Experimental Studies
In this section, we report the results of our experimental studies. Section 6.1 reports the
results on the effectiveness and efficiency of IFC file processing. Section 6.2 reports the
results on indoor navigation.
In the experiments, we use eight IFC files (see Table 1) to evaluate our technical
proposals. Those files describe eight real buildings in Scandinavia. All experiments are
done on a Windows 7 enabled PC with an Intel Core 2 Duo P8600 @ 2.4 GHz processor
and 2.25 GB RAM.
Files alias Size (MB) Floor(s) Partition(s) Door(s) Stair(s) Elevator(s) Avg. exe. time (ms)
AC11 2,77 5 82 77 4 0 1945
Office A 4,00 3 99 102 2 0 3541
NEM-FZK 10,16 2 5 5 1 0 350
Cassio 10,82 4 352 433 14 0 8806
Clinic 12,90 4 269 249 3 0 8940
Dds 42,73 5 99 106 0 0 2893
HITOS 62,59 7 243 198 14 3 8292
Statsbygg 66,95 5 120 124 7 1 4991
1
The point which has the shortest Euclidean distance to another given point.
A Journey from IFC Files to Indoor Navigation 159
We first compare the two indoor topology construction methods, namely the threshold
based method and the generic method detailed in Section 3.2. The results are listed
in Table 2. It is apparent that the generic method is more effective as it successfully
connects more doors to their partitions. This is attributed to the fact that it lifts the two
simplifying assumptions that may be hard to satisfy in reality. In contrast, the threshold
based method performs quite badly when the threshold is low (100 in the experiments),
whereas it is difficult for an average user to set the appropriate threshold values.
File and Floor Decomposed #Partitions #Access points generic (ms) threshold (ms)
“Ground Floor” No 170 192 1933 2202
in Cassio Yes 241 266 2350
“First Floor” No 155 173 1147 2235
in Clinic Yes 211 231 1260
“Level 1” No 60 68 451 1180
in Office A Yes 93 105 468
“Third Floor” No 37 42 507 579
in Dds Yes 52 57 516
We also look at the execution time of processing the IFC files. We process each used
IFC file 100 times and report the average processing time cost. The results obtained by
using the threshold based method are shown in Table 1 (the last column). Even the IFC
file with the largest number of indoor entities costs less than 9 seconds to process.
We further run the generic method 100 times on a particular floor of the four selected
IFC files and give the average results in Table 3 (the last column). The four IFC files
are selected to represent the different sizes of all the IFC files we have. For comparative
purpose, we also give the counterpart processing time of the threshold based method.
As we can see, the generic method is more efficient.
(a) Office A
(b) Clinic
(c) Cassio
(d) Dds
Using a cache (WTL vs. OD). This test is performed by running each algorithm, start-
ing with an empty cache, for 50 randomly generated routes. This process is repeated
50 times to calculate the average computation time for each algorithm after a spe-
cific number of routes. The same four IFC files are also used for this test.
Decomposing Partitions. Another test is performed after large indoor partitions are
decomposed in the indoor space model. In the routing algorithm, the WTL solution
is used for these tests. This method is referred to as WTLD.
Routing Efficiency. We first report the computation cost for WTL and OD. The results
are shown in Figure 8. The bar charts show the computation time using OD in percent-
age of the computation time using WTL for the same route, where the red horizontal
lines indicate the cost of using WTL. For example, as shown in Figure 8(a), the com-
putation time using OD is almost 200% the time using WTL for the first route in the
indoor space described by IFC file Office A. In each of the four charts, it is clear that
route computation using OD costs longer time than that using WTL. This indicates that
WTL is more efficient in dealing with intra-partition distance computations. However,
the computation time varies a lot from route to route, which can be explained by the
varying number of concave partitions in those routes.
According to the results obtained using the IFC file Clinic (shown in Figure 8(b)),
OD is significantly (up to 23 times) slower than WTL. The performance gap is much
larger that that observed from the three other figures. A review of the Clinic file dis-
closes that the file contains a relatively high number of concave partitions, which in
most cases are connected to many doors. As a result, more intra-partition distances need
to be computed for the Clinic file. Furthermore, many partitions in the Clinic file have
a high number of vertices in their graph representations. As the OD method basically
employs Dijkstra’s algorithm to search the local graph, it inevitably costs considerable
higher computation time than the WTL method.
As mentioned, the difference in computation time between using OD and using WTL
varies significantly depending on the route. To provide an overview of the average com-
putation time for one route, for each of the different IFC files, a bar chart is shown in
Figure 9. For the file Clinic, the average computation time using OD is as much as
114.4s. However, the bar chart is intentionally cut off at 25s due to the space limitation.
Again, it is very clear that the average computation time for OD is significantly longer
than that for WTL in all tested cases.
Another important note from Figure 9 is that WTLD clearly outperforms WTL and
OD in terms of the average route computation time. This is an expected result. The
number of concave partitions is reduced substantially after the decomposition, and thus
WTLD is able to save considerable computation costs that otherwise would be needed
in routing involving concave partitions.
Effect of Cache. The results of the tests using cache are shown in Figure 10. For the
first couple of routes, in each of the charts, WTLD is faster than WTL, which is in turn
faster than OD. This is expected as the cache does not contain many reusable results at
the early stage. Therefore, these results reflect the base performance of each algorithm,
as already analyzed in Section 6.2.
When more routes are to be computed, both WTL and OD improves clearly. This
indicates that the cached door-to-door distances are reused a lot by these two methods.
A different but interesting observation from these figures is that WTLD does not benefit
visibly from the cache. When a large indoor partition is decomposed, several small par-
titions are generated. For each pair of adjacent small partitions, one or two or even more
“virtual” doors are also generated to connect them. As a result, there are considerably
more door-to-door distances when decomposition is used. As the cache size is fixed,
the ratio of cached door-to-door distances is decreased, which contributes to lower the
cache utilization when intra-partition distances are calculated using WTLD.
On the other hand, when large indoor partitions are not decomposed, the ratio of
cached door-to-door distances is relatively high and thus the cache is utilized more when
OD and WTL are used. Nevertheless, all methods converge finally when sufficient route
requests have been processed. This is because no significantly more new door-to-door
distances are cached after many routes have been calculated.
164 M. Boysen et al.
7 Conclusion
There exists a big gap between indoor space navigation needs and the industry standards
for describing indoor spaces. The research reported in this paper accepts the Industry
Foundation Classes (IFC) as input and supports efficient indoor navigation with spe-
cialized techniques. In particular, we propose an effective method that processes IFC
files and creates necessary topological relationships needed by indoor navigation. Also,
we refine an existing decomposition method that decomposes large indoor partitions
into smaller ones such that indoor routing can be done faster. Further, we design a local
algorithm for calculating intra-partition distances that renders indoor routing more effi-
cient. We conduct a series of experiments using several real IFC files. The experimental
results demonstrate that our proposals offer effective processing of IFC files and result
in more efficient indoor navigation than alternatives.
For future research, it is interesting to extract stair and elevator information from IFC
files to support indoor navigation across floors. The techniques proposed in this paper
can be easily extended for that purpose. It is also interesting to collaborate with AEC
industries on enhancing IFC standard with built-in support for indoor navigation.
References
1. Anagnostopoulos, C., Tsetsos, V., Kikiras, P., Hadjiefthymiades, S.P.: OntoNav: A semantic
indoor navigation system. In: Workshop on Semantics in Mobile Environments (2005)
2. Baba, A.I., Lu, H., Xie, X., Pedersen, T.B.: Spatiotemporal Data Cleansing for Indoor RFID
Tracking Data. In: MDM (1), pp. 187–196 (2013)
3. Boysen, M., de Haas, C., Lu, H., Xie, X., Pilvinyte, A.: Constructing Indoor Navigation
Systems from Digital Building Information. In: ICDE, 4p. (2014)
4. buildingSMART. IFC overview, http://www.buildingsmart-tech.org/
specifications/ifc-overview (accessed in February 2014)
5. buildingSMARTalliance. About the buildingsmart alliance, http://www.
buildingsmartalliance.org/index.php/about/ (accessed in February 2014)
6. CityGML (2012), http://www.citygml.org/ (accessed in February 2014)
7. IndoorGML SWG, http://www.opengeospatial.org/projects/groups/
indoorgmlswg (accessed in February 2014)
8. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn.
The MIT Press (2009)
9. Gallaher, M.P., O’Connor, A.C., Dettbarn Jr., J.L., Gilday, L.T.: Cost analysis of inadequate
interoperability in the U.S. capital facilities industry. Technical report, U.S. Department
of Commerce Technology Administration National Institute of Standards and Technology
(2004)
10. Lee, J.: A spatial access-oriented implementation of a 3-D GIS topological data model for
urban entities. GeoInformatica 8(3), 237–264 (2004)
11. Li, D., Lee, D.L.: A lattice-based semantic location model for indoor navigation. In: MDM,
pp. 17–24 (2008)
A Journey from IFC Files to Indoor Navigation 165
12. Lu, H., Cao, X., Jensen, C.S.: A foundation for efficient indoor distance-aware query pro-
cessing. In: ICDE, pp. 438–449 (2012)
13. Mike DeLacey, M.: Why BIM will become even more important in 2012 (2012),
https://enr.construction.com/technology/bim/2012/0111-why-bim
-will-become-even-more-important-in-2012.asp (accessed in February
2014)
14. National Institute of Building Sciences. Building information modeling (2008),
http://www.wbdg.org/bim/
15. Becker, T., Nagel, C., Kolbe, T.H.: A multilayered space-event model for navigation in indoor
spaces. In: Proc. 3rd International Workshop on 3D Geo-Info, pp. 61–77 (2008)
16. Whiting, E., Battat, J., Teller, S.: Topology of Urban Environments. In: CAAD Futures, pp.
114–128 (2007)
17. Wikipedia. Industry Foundation Classes (2013), http://en.wikipedia.org/wiki/
Industry Foundation Classes (accessed in February 2014)
18. Worboys, M.F.: Modeling indoor space. In: ISA, pp. 1–6 (2011)
19. Xie, X., Lu, H., Pedersen, T.B.: Efficient distance-aware query evaluation on indoor moving
objects. In: ICDE, pp. 434–446 (2013)
20. Xu, J., Güting, R.H.: A generic data model for moving objects. GeoInformatica 17(1), 125–
172 (2013)
21. Yang, L., Worboys, M.F.: A navigation ontology for outdoor-indoor space: (work-in-
progress). In: ISA, pp. 31–34 (2011)
22. Yuan, W., Schneider, M.: iNav: An indoor navigation model supporting length-dependent
optimal routing. In: AGILE, pp. 299–314 (2010)
23. Yuan, W., Schneider, M.: Supporting 3D route planning in indoor space based on the lego
representation. In: ISA, pp. 16–23 (2010)
24. Zhang, J., Papadias, D., Mouratidis, K., Zhu, M.: Spatial queries in the presence of obsta-
cles. In: Bertino, E., Christodoulakis, S., Plexousakis, D., Christophides, V., Koubarakis, M.,
Böhm, K. (eds.) EDBT 2004. LNCS, vol. 2992, pp. 366–384. Springer, Heidelberg (2004)
Using Cameras to Improve Wi-Fi
Based Indoor Positioning
1 Introduction
Over the past decade, location-based services (LBS) have gained in prominence. LBS
accounted for a revenue of USD 2.8 billion in 2010 and the expected revenue in 2015
is USD 10.3 billion [20]. However, today’s location-based services target mostly out-
door users. In contrast, studies find that people spend some 87% of their time in-
doors [5, 10, 13], and 70% of cellular calls and 80% of data connections in the USA
originated from indoors in 2013 [14]. Additionally, indoor LBS market is forecasted
to grow by 40% over the period 2012–2016 [21]. Thus, time is ripe for enabling also
indoor location-based services, where indoor positioning is a key enabler. Specifically,
indoor positioning systems enable a range of indoor location-based services, includ-
ing simple navigation services as well as more complex shopping assistants and friend
finders, to name but a few.
Key characteristics of indoor positioning systems include their maintainability and
accuracy. The maintainability of a system captures the cost of maintaining the system,
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 166–183, 2014.
c Springer-Verlag Berlin Heidelberg 2014
Using Cameras to Improve Wi-Fi Based Indoor Positioning 167
in particular ensuring that its accuracy remains acceptable. Next, accuracy often refers
to the average positioning error in 2D or 3D with respect to the ground truth. Instead,
we adopt the notion of room-level accuracy, where a position is considered correct if
it belongs to the same room as the ground truth position. Thus, the exact position of
a user inside a room is not relevant, but it is crucial to position the user in the correct
room. Room-level accuracy enables many indoor services (e.g., silence-your-phone-
in-a-meeting-room, in-store ads, and locate-a-friend) and data analyses (e.g., finding
hang-outs in airports, popular shops in malls, and frequent sequences of shops visited).
We consider the task of building a system with room-level accuracy that is capable of
maintaining its accuracy over time.
While GPS is ineffective in indoor settings, video cameras and Wi-Fi are promising
technologies for indoor positioning. Cameras can track indistinctly all people in a mon-
itored space with high room-level accuracy, but cannot easily match a specific person
with a location (if not relying on complex identification techniques). Hence, cameras
alone are insufficient for positioning. On the other hand, Wi-Fi based systems can po-
sition only collaborative people that have a Wi-Fi device turned on, and can provide
location of the specific user through the device, but they achieve highly different levels
of room-level accuracy in different settings (reported accuracy varies from sub-meter
up to 40 meters for pure Wi-Fi based systems).
There are different approaches to Wi-Fi positioning: model-based, fingerprinting,
and trilateration. We focus on Wi-Fi systems that use fingerprinting. A fingerprint con-
sists of a pair of an indoor location and a set of signal strengths of the Wi-Fi access
points seen at that location. Given a set of fingerprints and the signal strengths observed
by a mobile device, the system can position the device. In such a system one of the
main challenges is the collection of fingerprints. When done manually by surveyors,
this is time-consuming and expensive, and it needs to be repeated over time to maintain
system accuracy. The need for a surveyor can be avoided, in fact a user’s Wi-Fi device
can constantly emit Wi-Fi signal strengths measurements, that can generate fingerprints
if associated with the user’s position. A classic solution is to ask the users to mark their
locations on a map or select it from a list (e.g., [1, 19]). Such solutions reduce the cost,
but also increase the effort by users. We propose a method that automates the collection
of fingerprints, thus saving efforts by the users and increasing the fingerprint update rate
to avoid decreased accuracy over time. At the core of our approach is the use of a cam-
era to determine the room the user is in, resulting in automatic room-level fingerprinting
that is transparent to the user.
Figure 1 illustrates how different information from the two sources can be integrated
for reaching our goal. Two rooms are connected only to a corridor that is monitored
by a camera whose field of view (FOV) is shaded gray. A user walks from the corridor
to room 2 holding a Wi-Fi device; we can see the user’s actual position and reported
position (gray phones) at four times (t1 –t4 ). First, the example shows that the room-
level positioning of a Wi-Fi system can be inaccurate: at time t4 , the user is in room 2 ,
but the reported position is in room 1 . Second, the video system can tell that the user
entered room 2 at time t3 and did not leave; therefore, we can generate a fingerprint that
associates room 2 with the Wi-Fi signal strengths measurements of the user received
between t3 and t4 .
168 L. Radaelli, Y. Moses, and C.S. Jensen
݉ݎଵ ݉ݎଶ
ݐସ ݐସ ݐଷ
ݐଵ ݐଷ
ݐଵ ݐଶ
ݐଶ ܿݎ݀݅ݎݎ
To the best of our knowledge, only few works propose integration of fixed cam-
eras with other positioning technologies, and they all investigate intra-room position-
ing, while we consider room-level. None of these works explore the use of cameras in
fingerprinting. We provide a key building block for an automatic fingerprinting system
by proposing a solution for corridor-like spaces. The proposed method can be applied
to a more complex floor plan using a large set of cameras that cover the space. The ba-
sic solution proposed here is sufficient when the space is decomposed into corridor-like
subspaces and the method is applied to each subspace.
The remainder of the paper is structured as follows: in Sec. 2, we formulate the
problem and state our assumptions; Sec. 3 gives an overview of the assumed Wi-Fi
and video systems, and presents the proposed integration method; Sec. 4 reports on
experimental studies. We cover related work in Sec. 5 and conclude and provide future
research directions in Sec. 6.
2 Problem Formulation
3 Methods
We describe a method for integrating two different sources of information on the move-
ments of people, namely Wi-Fi positioning and video tracking, in order to automate
Wi-Fi location fingerprinting.
For a Wi-Fi positioning system, a fingerprint is a pair of an indoor location and a combi-
nation of signal strengths of Wi-Fi access points visible from the location. A fingerprint
is traditionally collected by a surveyor standing in a specific location with a Wi-Fi de-
vice and recording the signal strengths measured by the device for some time. The
resulting fingerprints are stored in a database and are subsequently used by the system
for positioning.
When a user submits the signal strength measurements “seen” by the user’s device,
the system returns the position in the database that corresponds to the fingerprint whose
signal strength measurements are the most similar to those submitted by the user. A
user’s position can be computed either on the server or on the device, with each ap-
proach having different pros and cons (e.g., cost of computation, privacy). A mapping
between the coordinate system of the location and an image of the floor plan is usu-
ally available so that the user’s position can be shown on the floor plan for navigation
purposes.
170 L. Radaelli, Y. Moses, and C.S. Jensen
l1
From these features, we can compute in-room-intervals of users and people enter-
ing/leaving the monitored space. The disappearing and appearing events of persons in
the scene can be identified by comparing the detected objects in successive frames. In
particular, when a tracked object disappears from the field of view, it indicates that a
person either entered a room or left the corridor. When a new object enters the field of
view, it may be either a person leaving a room or a person entering the corridor.
We assume that a room is associated to each door in the image seen by the camera.
We determine which room is involved in the event according to the line of feet and the
shape center with respect to the marked doors. If the person location does not corre-
spond to any of the doors, we label the event as corridor leaving (or entering) event. For
robustness, we consider detection in w successive frames.
Using Cameras to Improve Wi-Fi Based Indoor Positioning 171
Our video tracking algorithm returns a set of events, each with the timestamp of the
event, its type (enter/leave), and the room involved. Fig. 3 shows the result of applying
the algorithm to a video that records a person walking in the corridor and entering room
337 at time tx+1 , and then another person leaving the same room at time ty+1 ; the al-
gorithm detects a room-enter event enter337,tx+1 and a room-leave event leave337,ty+1 .
Find in-room-intervals: We first process the sequence of room events detected by the
video system. Four different situations might occur, as shown in Fig. 4.
1. Simple 3. Unclosed … …
ݐ ݐ
In-room-interval ݁݊ݎ݁ݐ݊݁ ݁ݒ݈ܽ݁ ݎ݁ݐ ݈݁ܽ݁ݒ In-room-interval ݁݊ݎ݁ݐ
or
2. Interleaved 4. Unopened … …
ݐ ݐ
In-room-interval ݁݊ݎ݁ݐ݊݁ ݎ݁ݐ ݈݁ܽ݁ݒ݈ܽ݁ ݁ݒ In-room-interval ݈݁ܽ݁ݒ
Algorithm 1. assignIntervals()
1: Input:Intervals, Users, τ, δ
2: PrevIntervals ← ∅;
3: UsedEvents ← ∅;
4: for i ∈ Intervals do
5: if i .type ∈ {SI, UcI} then
6: U ← getUsers(i , τ, δ) \ overlap(i , PrevIntervals);
7: if |U | > 0 then
8: user ← pickUser(U );
9: Assignments ← Assignments ∪ {(user , i )};
10: if i .type ∈ {II} then
11: iteration ← 1 ;
12: while (|PrevCombo| ∗ 2 < |i .events|) do
13: Combinations ← computeComb(i );
14: for l ∈ 1 , . . . , |Users| do
15: for c ∈ Combinations(l ) do
16: skipCombos(iteration − 1 );
17: if c.enter ∈ UsedEvents ∧ c.leave ∈ UsedEvents then
18: U ← c.users \ overlap(c.interval , PrevIntervals);
19: U ← U \ overlap(c.interval , PrevCombos);
20: if |U | > 0 then
21: c.user ← pickUser(U );
22: PrevCombos ← PrevCombos ∪ {c};
23: UsedEvents ← UsedEvents ∪ {c.enter , c.leave};
24: iteration ← iteration + 1 ;
25: Assignments ← Assignments ∪ getSimpleIntervals(PrevCombos);
26: PrevIntervals ← PrevIntervals ∪ {i };
27: return Assignments ;
1. ݐ 3. ݐ
݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ
or or
2. ݐ 4. ݐ
݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݁݊ݎ݁ݐ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ ݈݁ܽ݁ݒ
Fig. 5. Some of the possible pairings between room and corridor events
4 Experimental Study
We evaluate the proposed method in a controlled environment, namely a corridor of
offices in the Department of Computer Science at Aarhus University. We examine the
quality of the automatic fingerprints (Sec. 4.2), study the integration method (Sec. 4.3),
and consider the positioning accuracy achieved by automatic fingerprinting (Sec. 4.4).
4.1 Settings
The floor plan, in Fig. 6, encompasses a corridor with 14 offices. A Dell Integrated We-
bcam mounted on a laptop positioned as shown in the figure is used for the monitoring.
We employ a Wi-Fi positioning system [12] with two different sets of fingerprints in
two different studies, and we use Samsung Galaxy S3 and Nexus 3 phones connected
through a dedicated Android application.
corridor
corridor
Next, we compare the manual and automatic fingerprints based on two features: the
mean feature μ, a vector consisting of mean values of signal strengths for each visible
access point; and the standard-deviation feature σ, defined as a vector of corresponding
standard deviations (i.e., the ith entry is the standard deviation from the mean value for
1 10
the ith visible access point). We compute μ∗ = 10 μ
j=1 j (μj is the mean vector
from
10 the jth survey) as the average over the 10 surveys; similarly, we compute σ ∗ =
j=1 σ j as average of the standard-deviation features.
1
10
Fig. 7(a) shows μ∗ for manual (solid line) and automatic (dashed line) fingerprints.
For each bar, the point in the middle represents the average value for the access point,
and the height describes the standard deviation. For all access points, the average values
of manual and automatic fingerprints are very close. For access points 2 and 19, the
standard deviation of the automatic fingerprints is larger than for the manual ones, but
in all the remaining cases, also the standard deviations are comparable.
Fig. 7(b) shows σ ∗ . The value of the average standard-deviation feature for automatic
fingerprints is approximately double that of manual fingerprints. The impact of this
difference depends on how relevant the standard deviation is in the similarity measure
used for positioning a user and on the ratio of manual/automatic fingerprints in the
system. In fact, if most of the fingerprints are actually automatic then this does not affect
the system at all. A reason for the difference in standard deviation might be the fact that
during manual collection, the phone is stationary, while during automatic collection,
176 L. Radaelli, Y. Moses, and C.S. Jensen
10
-50
8
-60 6
-70 4
2
-80 0
-90 -2
0 5 10 15 20 25 30 0 5 10 15 20 25 30
IDs of Visible Access Points IDs of Visible Access Points
(a) Avg. mean feature μ∗ (b) Avg. standard-deviation feature σ ∗
-50 8
-60 6
-70 4
-80 2
-90 0
0 5 10 15 20 25 0 5 10 15 20 25
IDs of Visible Access Points IDs of Visible Access Points
(c) Avg. mean feature μ∗ , 2 phones (d) Avg. standard-deviation feature σ ∗ , 2
phones
the phone might be moving in the room. This may actually be an advantage, since users
being positioned are more likely to be moving around than to be stationary.
We also perform 10 surveys of the same type, but with two different phones, so that
different phones are used for manual and automatic fingerprinting. The similarity results
are as before, i.e., the similarity between manual and automatic fingerprints is 1, and the
similarity of automatic fingerprint with the other points in the radio map is near-zero.
A comparison of the average mean feature is shown in Fig. 7(c). Fingerprints col-
lected with the two phones are similar, but the automatic ones generally have a lower
mean feature and a lower standard deviation. Results for the standard-deviation feature,
in Fig. 7(d), show higher average values for one phone, but similar standard deviations.
We conclude that manual and automatic fingerprints are comparable, implying that
a system that contains both types of fingerprints, or possibly only automatic ones, is
feasible. When using different phones for collection, the results are less clear. Finger-
prints collected with different phones at the same location are more similar than the
fingerprints collected at different locations with different phones. We also find that fin-
gerprints taken with different phones show slightly different feature values, which might
reduce accuracy depending on the specifics of the Wi-Fi positioning system.
Using Cameras to Improve Wi-Fi Based Indoor Positioning 177
Actual value
Actual value
Event 13 9 0 0 x in i 12 1 User x 16 11 0 1
Not Not
12 3 - - x not in i 2 2 0 0 - -
event User x
(a) Room enter and leave (b) User x to room i match (c) User x to corridor event
event detection match
Matched
Not matched
100
% of Matches
80
60
40
20
0
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
user1
user2
all
#1 #2 #3 #4 #5 #6 #7 #8 #9
Experiments
the system to increase from one experiment to the next one due to new and more up-
to-date fingerprint uploaded. From the results we see that this is true to some extent.
Notice that for each pair of experiments involving the same room (e.g., experiments
#1 and #2), the accuracy is about three times higher in the experiment performed after
uploading an automatic fingerprint. Therefore, uploading a new fingerprint with current
measurements improves the positioning accuracy for that location.
On the other hand, we observe a drop every two experiments (every time a new room
is visited); one possible reason for this behavior is that measurements are more similar
to new fingerprints collected in other location than to old fingerprints collected at the
ground truth location. This calls for a method to “retire” fingerprints when they are too
old, or at least include the “age” of a fingerprint in the computation of a user’s position.
In experiments #8 and #9, users are asked to walk in the corridor without entering
any room. The resulting low accuracy can be due to the fact that no new fingerprints are
uploaded for the corridor during any of the experiments.
We perform a last experiment (experiment #10), where the path taken by the user
is the same as in experiment #1; the user walks in the corridor, enters room 337, stays
there for 1 minute, and then leaves the room and the corridor. A comparison of the
room-level positioning accuracy in the two experiments is shown in Fig. 10(a).
The accuracy in the last experiment is three times higher than the accuracy in the
first one, and three automatic fingerprints have been uploaded for room 337 between
the two experiments.
180 L. Radaelli, Y. Moses, and C.S. Jensen
Matched
Not matched
100
80
% of Matches
60
40
20
0
Exp. 1 Exp. 10
Experiments
(a) Room-level accuracy comparison
Fig. 10(b) shows the traces in the two experiments compared with the ground truth.
The solid line represents the ground truth, the dashed line experiment #1, and the dotted
line experiment #10. We see that not uploading new fingerprints for the corridor reduces
the accuracy of positioning in it, since the position of the user is assigned only to rooms
in experiment #10. Moreover, the wrong fingerprint generated in experiment #9, which
assigns a user to room 340 when the user is actually in the corridor, affects the position-
ing in experiment #10 (when the user is in the corridor, the position is reported as room
340). We also find that the positioning accuracy in rooms for which new fingerprints are
uploaded increases, and the user is correctly positioned in room 337 most of the time.
5 Related Work
Different technologies can provide positioning in indoor spaces [16]. We utilize two
different technologies: Wi-Fi and video cameras.
Wi-Fi based positioning has been studied widely, and a wide range of systems have
been proposed. Liu et al. [15] present a survey of approaches to wireless positioning.
There are three main different approaches: model-based, fingerprinting, and trilater-
ation. In a model-based and trilateration positioning the location of access points is
Using Cameras to Improve Wi-Fi Based Indoor Positioning 181
known and positioning is done using propagation models or lateration methods [2]. Our
work is focused on the systems that use Wi-Fi fingerprinting. Kjærgaard [12] presents
a taxonomy of fingerprinting techniques. A known problem of fingerprinting-based
systems is that they call for the collection of fingerprints, which is costly in terms of
time and resources. Thus, a number of recent studies investigate the use of robots [11],
techniques that enable users to do fingerprinting [19], and techniques that enable user
feedback [7] for reducing the cost of fingerprint collection. We tackle the problem of fin-
gerprint collection by exploiting cameras to allow automatic fingerprinting, thus elimi-
nating or reducing the need for active user involvement.
In the realm of video-based systems, different techniques have been investigated for
the tracking of objects in a space monitored by cameras. Some techniques use a single
camera, and some use multiple cameras with or without overlapping fields of view;
other techniques aim to recognize the shapes of objects; and yet some techniques focus
on positioning. Yilmaz et al. [23] contribute a comprehensive survey. We employ a
simple background subtraction technique that is sufficient in our experimental setting.
More advanced techniques are likely to be needed in more general settings, especially
when execution time is an issue [3, 6].
We propose a method of improving a Wi-Fi based positioning system by using cam-
eras. Only few works consider the integration of cameras with Wi-Fi based systems,
most of which consider phone cameras and not fixed cameras such as surveillance cam-
eras [8, 17]. These other approaches rely on a phone camera for the main positioning
and use Wi-Fi positioning to prune the space and improve the efficiency of video match-
ing algorithms. Our approach is the opposite, as we use Wi-Fi as the main positioning
technology.
Van den Berghe et al. [22] consider fixed cameras in a proposal for fusing cam-
era and Wi-Fi sensor data in order to provide intra-room positioning. They consider a
fingerprinting-based Wi-Fi positioning system and a camera installed on the ceiling of
a room. Their proposal detects moving objects in video, and it projects a found object
onto the floor plan using a Gaussian model. A particle filter “combines” the results of
camera detection with the Wi-Fi positioning in real-time. Accuracy findings in terms of
2D error inside the room of the resulting system are reported. When only one person is
in the room, the accuracy of the underlying Wi-Fi system alone is improved by 0.5–2
meters, but in case of many people walking in the room, the improvement is insignifi-
cant (less than 0.5 meters). Results are not given with respect to room-level accuracy.
The use of external cameras has also been explored in connection with RFID lo-
calization systems. Works in this direction vary with respect to RFID localization al-
gorithms and video processing algorithms [9, 18]. Most of the proposed systems are
evaluated in controlled environments; we use the same general approach to evaluate
our system.
accuracy and study this level of accuracy in a real positioning system when introducing
automatic fingerprinting.
Our experimental study indicates that automatic fingerprints are comparable with
fingerprints that are collected manually. In an evaluation of the effect of uploading new
automatic fingerprints to the positioning system, we find that the accuracy increases for
the rooms that have been newly fingerprinted, but also decreases for rooms with old
fingerprints. Hence, we conclude that a system that allows new fingerprints to be up-
loaded also needs a method for discarding obsolete fingerprints. In experiments where
we upload new fingerprints for rooms, but not for the corridor, the overall trace might
not show that a user actually passed through the corridor before entering a room.
A natural next step is to utilize the proposed method in a solution that covers an
entire floor or building. Our method can be applied independently to different monitored
subspaces, and by exploiting topological connections between the subspaces, it may be
possible to further improve the in-room-interval detection capability. A key challenge
is to extend the automatic fingerprinting to non-corridor-like spaces (e.g., rooms with
multiple doors), where one might need to recognize a person entering and leaving a
room through different doors. A possible solution is to rely on vision re-identification
techniques.
An interesting direction for future work is to study an online version of the method
that would make it possible to turn off the phone or to reduce scanning interval time
to save battery. In fact, in addition to positioning accuracy, battery consumption is an
important problem. Under the assumption that the user needs room-level positioning,
we may use cameras that detect when a user enters and leaves a room to turn the Wi-Fi
device off and on.
Acknowledgments. The authors thank Thor S. Prentow for setting up and running the
Wi-Fi positioning system. This research was supported in part by the Geocrowd Initial
Training Network funded by the European Commission as an FP7 Peoples Marie Curie
Action under grant agreement number 264994. Laura Radaelli did part of this work
while visiting IDC Herzliya.
References
1. Barry, A., Fisher, B., Chang, M.L.: A long-duration study of user-trained 802.11 localization.
In: Fuller, R., Koutsoukos, X.D. (eds.) MELT 2009. LNCS, vol. 5801, pp. 197–212. Springer,
Heidelberg (2009)
2. Bell, S., Jung, W.R., Krishnakumar, V.: WiFi-based enhanced positioning systems: accuracy
through mapping, calibration, and classification. In: Proc. ISA, pp. 3–9 (2010)
3. Breitenstein, M., Reichlin, F., Leibe, B., Koller-Meier, E., Van Gool, L.: Online multiperson
tracking-by-detection from a single, uncalibrated camera. IEEE TPAMI 33(9), 1820–1833
(2011)
4. Cristani, M., Farenzena, M., Bloisi, D., Murino, V.: Background Subtraction for Automated
Multisensor Surveillance: A Comprehensive Review. EURASIP J. Adv. Signal Process. Ar-
ticle 43, 24 pages (2010)
5. Dörre, W.H.: Time-activity-patterns of some selected small groups as a basis for exposure
estimation: A methodological study. J. Expo. Anal. Environ. Epidemiol. 7, 471–491 (1997)
Using Cameras to Improve Wi-Fi Based Indoor Positioning 183
6. Elgammal, A.: Background subtraction: Theory and practice. In: Wide Area Surveillance.
Augmented Vision and Reality, vol. 6, pp. 1–21 (2014)
7. Gallagher, T., Li, B., Dempster, A., Rizos, C.: Database updating through user feedback in
fingerprint-based Wi-Fi location systems. In: Proc. UPINLBS, pp. 1–8 (2010)
8. Hile, H., Borriello, G.: Positioning and orientation in indoor environments using camera
phones. IEEE Computer Graphics and Applications 28(4), 32–39 (2008)
9. Isasi, A., Rodriguez, S., Armentia, J.L.D., Villodas, A.: Location, tracking and identification
with RFID and vision data fusion. In: Proc. RFID Sys. Tech., pp. 1–6 (2010)
10. Jensen, C.S., Li, K.-J., Winter, S.: ISA 2010 workshop report: the other 87%: A report on the
second international workshop on indoor spatial awareness (San Jose, California - November
2, 2010). In: SIGSPATIAL Special 3(1), 10–12 (2011)
11. Kim, K.-H., Min, A.W., Shin, K.G.: Sybot: an adaptive and mobile spectrum survey system
for WiFi networks. In: Proc. MOBICOM, pp. 293–304 (2010)
12. Kjærgaard, M.B.: Indoor location fingerprinting with heterogeneous clients. Pervasive and
Mobile Computing 7(1), 31–43 (2011)
13. Klepeis, N.E., Nelson, W.C., Ott, W.R., Robinson, J.P., Tsang, A.M., Switzer, P., Behar,
J.V., Hern, S.C., Engelmann, W.H.: The national human activity pattern survey (NHAPS):
A resource for assessing exposure to environmental pollutants. J. Expo. Anal. Environ. Epi-
demiol. 11(3), 231–252 (2001)
14. Lacroix, T.E.: Indoor LBS market report (September 2013)
15. Liu, H., Darabi, H., Banerjee, P., Liu, J.: Survey of wireless indoor positioning techniques
and systems. IEEE Trans. Syst., Man, Cybern., C 37(6), 1067–1080 (2007)
16. Mautz, R.: Indoor Positioning Technologies. Geodätisch-geophysikalische Arbeiten in der
Schweiz (2012)
17. Morimitsu, H., Pimentel, R., Hashimoto, M., Cesar, R., Hirata, R.: Wi-Fi and keygraphs for
localization with cell phones. In: Proc. ICCV Workshops, pp. 92–99 (2011)
18. Nick, T., Cordes, S., Gotze, J., John, W.: Camera-assisted localization of passive RFID labels.
In: Proc. IPIN, pp. 1–8 (2012)
19. Park, J.-G., Charrow, B., Curtis, D., Battat, J., Minkov, E., Hicks, J., Teller, S., Ledlie, J.:
Growing an organic indoor location system. In: Proc. MobiSys, pp. 271–284 (2010)
20. Sythoff, J.T., Morrison, J.: Location-based services market forecast, 2011–2015. Pyramid
Research (May 2011)
21. Technavio. Global indoor LBS market 2012–2016 (August 2013)
22. Van den Berghe, S., Weyn, M., Spruyt, V., Ledda, A.: Fusing camera and Wi-Fi sensors for
opportunistic localization. In: Proc. UBICOMM, pp. 169–174 (2011)
23. Yilmaz, A., Javed, O., Shah, M.: Object tracking: a survey. ACM Comput. Surv. 38(4) (2006)
Integrating IndoorGML and CityGML
for Indoor Space
1 Introduction
With the progress of indoor positioning technologies and mobile devices such
as smart phones, a number of indoor map and navigation services have been
provided within large and complex buildings such as shopping malls [4]. For
these services, the demand for indoor spatial information has been increasing
and accordingly geospatial standards become important to share data and en-
hance the interoperability. There are three geospatial standards which may cover
indoor space: CityGML [6][10] and KML 2.0 of OGC (Open Geospatial Con-
sortium), and IFC (Industrial Foundation Classes)[1] of BuildingSmart, which
provide standard data model and XML schema for visualization, geometric rep-
resentation, and semantic properties of building components. In particular, the
D. Pfoser and K.-J. Li (Eds.): W2GIS 2014, LNCS 8470, pp. 184–196, 2014.
c Springer-Verlag Berlin Heidelberg 2014
Integrating IndoorGML and CityGML for Indoor Space 185
Option 3: No Geometry
room
gml::id=001 n
Option 1:
CityGML data External Reference
to room in CityGML
IndoorGML data
Cell
Primal space
3D (or 2D) Geometry 3D (or 2D) Induced
(ISO 19107) Topology (ISO 19107)
Poincare
Duality
Dual space
ExternalObject
0..1 *
<<Feature>> 0..1 <<Feature>>
indoorCore::CellSpace indoorCore::CellBoundary
boundedBy
0..1
2 connect
<<Feature>> <<Feature>> <<Feature>> 1..*
indoorCore::State 2 0..* indoorCore::Transition indoorCore::SpaceLayer
spaceLayer
0..* node edge 0..*
<<Feature>>
indoorCore::MultiSpaceLayer
0..* InterEdge
0..*
<<Feature>>
0..1 indoorCore::InterLayerConnection
InterConnect
IndoorNavi
<<Feature>> <<Feature>>
Module NavigableSpace NavigableBoundary
2.2 CityGML
CityGML is an OGC standard for XML application schema to represent, store,
and exchange 3D virtual city models. The most recent version of CityGML is
version 2.0 and based on GML 3.2.1. It includes not only the core module and
appearance module but also several thematic modules such as digital terrain,
tunnels, bridges, and buildings. It also provides a notion of level of details (LoD)
from LoD 0 to LoD 4, where LoD 4 aims to represent building interior space. In
this paper, we focus on the integration of IndoorGML and CityGML for indoor
space and consequently deal with LoD 4 of CityGML building module.
Figure 5 shows a simplified data model of LoD 4 of the building model. A
building mainly consists of three basic components; first BoundarySurface such
as walls, roofs, ceiling, and floors, second Room such as rooms and corridors,
Integrating IndoorGML and CityGML for Indoor Space 189
<<Feature>> *
_AbstractBuilding
* * *
* *
0..1 <<Feature>> <<Feature>>
Room BuildingInstallation
0..1 0..1 *
* *
<<Feature>>
IntBuildingInstallation
* *
<<Feature>>
BuildingFurniture
*
*
<<Feature>>
* _BoundarySurface *
0..2
*
<<Feature>>
_Opening
third Opening for windows and door. While BoundarySurface and Opening are
geometrically defined as surface or multi-surfaces (gml:MultiSurface in GML),
the geometry of Room is defined as either inline solid (gml:Solid in GML) or
a set of BoundarySurface. If the geometry of a room is defined as a set of
BoundarySurface, it must be a closed space. For example, if there is no physical
boundary between kitchen and living room, we need to make a virtual boundary
by using ClosureSurface to make each room a closed space. It implies that the
connectivity between rooms is found either via Opening or ClosureSurface in
CityGML.
2.3 Motivation
Linking IndoorGML and CityGML is useful for several reasons. First, a large part
of IndoorGML data can be derived from CityGML data. Second, the integration
of IndoorGML and CityGML via external references compensates the weakness
of each standard. However, few works have been done on rules or guidelines for
linking and integrating IndoorGML and CityGML. The goals of this paper are
to propose a derivation method of IndoorGML data from CityGML data and
to discuss the issues and possible solution for integrating two data sets in both
standards via external reference of IndoorGML.
ConnectionSpace Door
Door
AnchorSpace BuildingExit
GeneralSpace Room
Room
TransitionSpace Passage
– anchor: if the the instance of Door is a gate connecting indoor and outdoor
spaces, then it is considered as an anchor rather than a door in IndoorGML
and otherwise, it is considered a door.
– thin door vs. thick door: while Door is geometrically defined as a multi-
surface in CityGML, it is either a surface or a solid in IndoorGML de-
pending on the door model, that is, whether thin door model or thick door
model as shown in Figure 7. For example, ‘D1’ and ‘Cell D1’ in Figure
7 are represented as thin door and thick door model respectively. If thin
door model is employed in IndoorGML, Door of CityGML is mapped to
indoorNavi::ConnectionBoundary of IndoorGML, otherwise, it is mapped
to indoorNavi::ConnectionSpace in IndoorGML.
Integrating IndoorGML and CityGML for Indoor Space 191
Cell W7
B1
Cell R1
Cell W1
Cell W6
Cell R1 B3
Cell W5
Cell W2
D1 B2
Cell D1
Cell R2
Cell R2
B4 D3
Cell W4 Cell D3 Cell W3
n1 n2
n3
n4 n5
n7 n8
n6
n9 n12
n10
n11
IndoorGML CityGML
n7-1
n7 TransitionSpace Room
n7-2
navigation routes and therefore to compute optimal route between two points
in indoor space. For example, the route between n2 and n9 quites differs from
the navigation route of ordinary pedestrians. This strange route is explained by
two reasons. The first reason comes from a big hall or long corridor with several
doors as n7 in Figure 8. The second reason is due to case that the shape of cell is
concave and the straight line between two indoorCore::State instances passes
through walls.
In this paper, we propose a solution for this problem by introducing an extra
layer for navigation as shown in Figure 9. The indoorCore::State instances of
the original space layer is split into multiple instance to improve the route. For
example, a indoorCore::State instance n7 is split to two instances n7−1 and
n7−2 as shown in Figure 10 then the route from n2 to n9 becomes more ordinary
than the original one in Figure 8. More detail algorithm of node splitting is found
in [12].
194 J.-S. Kim, S.-J. Yoo, and K.-J. Li
n1 n2 n3-1
n4 n5
n3-2
n7-1 n7-2 n8
n6
n9 n12 n10-1
n10-2
n11
Layer1 N1 N2 N3
Layer2 N4 N5
Layer1 N1 N2 N3
An alternative option for extra layer is shown in Figure 13, where any inter-
section of Room objects of CityGML and cell of IndoorGML becomes an separate
cell of IndoorGML. In this case, the topological property of inter-layer connec-
tion becomes either contain or equal. Both of these options can be applied to
remove the one-to-many or many-to-many possibility.
Layer2 N4 N5
Layer3 N1 N6 N7 N3
Layer1 N1 N2 N3
6 Conclusions
Two geospatial standards - CityGML LoD 4 and IndoorGML - have been de-
veloped by OGC (Open Geospatial Consortium) to provide the interoperability
among indoor spatial information systems. While CityGML aims to provide a
framework of 3D city model including the interior space, IndoorGML mainly
focuses on indoor navigation in terms of cellular space model. In order to over-
come the mismatches between two geospatial standards, they may be served as a
complement for each other and their integration is useful for many indoor spatial
information service areas.
In this paper, we discussed the issues on the integration and proposed methods
and guidelines for the integration. The main contributions of the paper are
– First the mapping relationships between feature types of CityGML LoD 4
and IndoorGML, which is served as a fundamental understanding for the
integration.
– we presented methods and guidelines of automatic derivation of IndoorGML
instance from CityGML LoD dataset. Even though some restrictions should
be respected by CityGML LoD 4 dataset for successful derivation, we can
accurately build IndoorGML dataset with ease.
196 J.-S. Kim, S.-J. Yoo, and K.-J. Li
A prototype has been developed to validate our approaches and proved that
the approaches are feasible but require more extensions. In particular, a part of
derivation of IndoorGML data is automatic but a manual work is still required
in several cases. Therefore more future works are required to strengthen the au-
tomatic derivation and reduce the part for manual work. And only integration
between CityGML and IndoorGML was handled in the paper. However the inte-
gration between IndoorGML and IFC is to be done for the future work since IFC
is widely used not only architectural engineering but also geospatial information
area and IFC can be used as a source of raw data in many cases.
References
1. buildingSMART, IFC4 (Industrial Foundation Classes XML 4) RC4, http://www.
buildingsmart-tech.org/specifications/ifcxml-releases/ifcxml4-release
2. Computational Geometry Algorithms Library, http://www.cgal.org
3. Hiller, B., Hanson, J.: The Social Logic of Space. Cambridge University Press
(1984)
4. Indoor Google Maps, http://maps.google.com/help/maps/indoormaps
5. Kim, J.S., Han, Y.S., Li, K.J.: K-anonymity in Indoor Spaces Through Hierarchical
Graphs. In: Fourth ACM SIGSPATIAL International Workshop on Indoor Spatial
Awareness, pp. 21–28 (2012)
6. Kolbe, T.H., Groger, G., Plumer, L.: Citygml interoperable access to 3d city mod-
els. In: 1st International Symposium on Geo-Information for Disaster Management,
pp. 21–23 (2005)
7. Lee, J.: 3D GIS for Geo-coding Human Activity in Micro-scale Urban Environ-
ments. In: Egenhofer, M., Freksa, C., Miller, H.J. (eds.) GIScience 2004. LNCS,
vol. 3234, pp. 162–178. Springer, Heidelberg (2004)
8. Lee, J., Li, K.J., Zlatanova, S., Kolbe, T.H., Nagel, C., Becker, T.: Requirements
and Space-Event Modeling for Indoor Navigation. OGC 10-191r1 (2010)
9. Li, K.J., Yoo, S.J., Han, Y.S.: Geocoding Scheme for Multimedia in Indoor Space.
In: 20th International Conference on Advances in Geographic Information Systems,
pp. 434–437 (2013)
10. Open Geospatial Consortium, OGC City Geography Markup Language (CityGML)
Encoding Standard, Version 2.0, OGC 12-019 (2012)
11. Open Geospatial Consortium, OpenGIS Geography Markup Language (GML) En-
coding Standard Version 3.2.1, OGC 07-036 (2007)
12. Tsetsos, V., Anagnostopoulos, C., Kikiras, P., Hasiotis, P., Hadjiefthymiades, S.:
A Human-centered Semantic Navigation System for Indoor Environments. In: In-
ternational Conference on Pervasive Services, pp. 146–155 (2005)
Author Index