<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">TrIMPI: A Data Structure for Efficient Pattern Matching on Moving Objects</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Tsvetelin</forename><surname>Polomski</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Christian-Albrechts-University at Kiel</orgName>
								<address>
									<addrLine>Hermann-Rodewald-Straße 3</addrLine>
									<postCode>24118</postCode>
									<settlement>Kiel</settlement>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Hans-Joachim</forename><surname>Klein</surname></persName>
							<affiliation key="aff1">
								<orgName type="institution">Christian-Albrechts-University at Kiel</orgName>
								<address>
									<addrLine>Hermann-Rodewald-Straße 3</addrLine>
									<postCode>24118</postCode>
									<settlement>Kiel</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">TrIMPI: A Data Structure for Efficient Pattern Matching on Moving Objects</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">9BD66A8849695B7DD3A160810FF5F7B1</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T01:59+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Moving object databases</term>
					<term>motion patterns</term>
					<term>indexing structures</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Managing movement data efficiently often requires the exploitation of some indexing scheme. Taking into account the kind of queries issued to the given data, several indexing structures have been proposed which focus on spatial, temporal or spatio-temporal data. Since all these approaches consider only raw data of moving objects, they may be well-suited if the queries of interest contain concrete trajectories or spatial regions. However, if the query consists only of a qualitative description of a trajectory, e.g. by stating some properties of the underlying object, sequential scans on the whole trajectory data are necessary to compute the property, even if an indexing structure is available. The present paper presents some results of an ongoing work on a data structure for Trajectory Indexing using Motion Property Information (TrIMPI). The proposed approach is flexible since it allows the user to define application-specific properties of trajectories which have to be used for indexing. Thereby, we show how to efficiently answer queries given in terms of such qualitative descriptions. Since the index structure is built on top of ordinary data structures, it can be implemented in arbitrary database management systems.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">INTRODUCTION AND MOTIVATION</head><p>Most index structures for trajectories considered in the literature (e.g. <ref type="bibr" target="#b7">[8]</ref>) concentrate on (time dependent) positional data, e.g. R-Tree <ref type="bibr" target="#b8">[9]</ref> or TPR*-Tree <ref type="bibr" target="#b17">[17]</ref>. There are different approaches (e.g. <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b11">[12]</ref>) exploiting transformation functions on the original data and thereby reducing the indexing overhead through "light versions" of the trajectories to be indexed. In these approaches only stationary data is being handled. In cases where the queries of interest consist of concrete trajectories or polygons covering them, such indexing schemata as well as trajectory compression techniques (e.g. <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b9">[10]</ref>, <ref type="bibr" target="#b11">[12]</ref>, <ref type="bibr" target="#b12">[13]</ref>) may be well-suited. However, there are applications <ref type="bibr" target="#b13">[14]</ref> where a query may consist only of a 25 th GI-Workshop on Foundations of Databases (Grundlagen von Datenbanken), 28.05.2013 -31.05.2013, Illmenau, Germany.</p><p>Copyright is held by the author/owner(s).</p><p>qualitative description, e.g. return all trajectories where the underlying object slowed down (during any time interval) and after that it changed its course. Obviously, the motion properties slowdown and course alteration as well as their temporal adjustment can be computed using formal methods. The crucial point is that, even if an indexing structure is used, the stated properties must be computed for each trajectory and this results in sequential scan(s) on the whole trajectory data. Time consuming processing of queries is not acceptable, however, in a scenario where fast reaction on incoming data streams is needed. An example of such a situation with so-called tracks computed from radar and sonar data as input is the detection of patterns of skiff movements typical for many piracy attacks <ref type="bibr" target="#b13">[14]</ref>. A track comprises the position of an object at a time moment and can hold additional information e.g. about its current course and velocity. Gathering the tracks of a single object over a time interval yields its trajectory over this interval. To address the efficiency problem, we propose an indexing scheme which is not primarily focused on the "time-position data" of trajectories but uses meta information about them instead. We start with a discussion of related work in Section 2. Section 3 provides some formal definitions on trajectories and their motion properties. In section 4 we introduce the indexing scheme itself and illustrate algorithms for querying it. Section 5 summarizes the present work and outlines our future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">RELATED WORK</head><p>In this section we provide a short overview on previous contributions which are related to our approach. We start the section by reviewing classical indexing structures for moving objects data. Next to this, we show an approach which is similar in general terms to the proposed one and finally we review literature related to semantical aspects of moving objects.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Indexing of Spatial, Temporal and Spatio-Temporal Data</head><p>The moving object databases community has developed several data structures for indexing movement data. According to <ref type="bibr" target="#b7">[8]</ref>, these structures can be roughly categorized as structures indexing only spatial data, also known as spatial access methods (SAM); indexing approaches for temporal data, also known as temporal index structures; and those which manage both -spatial and temporal data, also known as spatio-temporal index structures. One of the first structures developed for SAMs is the well-known R-Tree <ref type="bibr" target="#b8">[9]</ref>. Several extensions of R-Trees have been provided over the years, thus yielding a variety of spatio-temporal index structures. An informal schematic overview on these extensions, including also new developments as the HTPR*-Tree <ref type="bibr" target="#b6">[7]</ref> can be found in <ref type="bibr" target="#b10">[11]</ref>. Since all of the proposed access methods focus mainly on the raw spatio-temporal data, they are well-suited for queries on history of movement and predicting new positions of moving objects, or for returning most similar trajectories to a given one. If a query consists only of a qualitative description, however, all the proposed indexing structures are of no use.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Applying Dimensionality Reduction upon Indexing -the GEMINI Approach</head><p>The overall approach we consider in this work is similar to the GEMINI (GEneric Multimedia INdexIng method) indexing scheme presented in <ref type="bibr" target="#b5">[6]</ref>. This approach was originally proposed for time series and has been applied later for other types of data, e.g. for motion data in <ref type="bibr" target="#b16">[16]</ref>. The main idea behind GEMINI is to reduce the dimensionality of the original data before indexing. Therefor, representatives of much lower dimensionality are created for the data (trajectory or time series) to be indexed by using an appropriate transform and used for indexing. A crucial result in <ref type="bibr" target="#b5">[6]</ref> is that the authors proved that in order to guarantee no false dismissals <ref type="bibr" target="#b11">[12]</ref>, the exploited transform must retain the distance (or similarity) of the data to be indexed, that is, the distance between representatives should not exceed the distance of the original time series. In the mentioned approaches, the authors achieve encouraging results on querying most similar trajectories (or time series) to a given one. However, since the representatives of the original data are trajectories or time series, respectively, evaluating a query which only describes a motion behavior would result in the inspection of all representatives.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Semantical Properties of Movement</head><p>Semantical properties of movement data have been considered in various works, e.g. in <ref type="bibr" target="#b1">[2]</ref>, <ref type="bibr" target="#b4">[5]</ref>, and <ref type="bibr" target="#b14">[15]</ref>. The authors of <ref type="bibr" target="#b1">[2]</ref> propose a spatio-temporal representation scheme for moving objects in the area of video data. The considered representation scheme distinguishes between spatio-temporal data of trajectories and their topological information, and also utilizes information about distances between pairs of objects. The topological information itself is defined through a set of topological relations operators expressing spatial relations between objects over some time interval, including faraway, disjoint, meet, overlap, isincluded-by/includes and same. In <ref type="bibr" target="#b4">[5]</ref>, a comprehensive study on the research that has been carried out on data mining and visual analysis of movement patterns has been provided. The authors propose a conceptual framework for movement behavior of different moving objects. The extracted behavior patterns are classified according to a taxonomy. In <ref type="bibr" target="#b14">[15]</ref>, the authors provide some aspects related to a semantic view of trajectories. They show a conceptual approach for how trajectory behaviors can be described by predicates that involve movement attributes and/or semantic annotations. The provided approach is rather informal and considers behavior analysis of moving objects on a general level.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">FORMAL BACKGROUND</head><p>This section provides the formal notions as well as the definitions needed throughout the rest of the paper. We start with the term trajectory and then direct later our attention to motion properties and patterns.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Trajectories</head><p>In our approach we consider the trajectory τ o of an object o simply as a function of time which assigns a position to o at any point in time. Since time plays only a role for the determination of temporal causality between the positions of an object, we abstract from "real time" and use any time domain instead. A time domain is any set which is interval scaled and countably infinite. The first requirement ensures that timestamps can be used for ordering and, furthermore, that the "delay" between two time assignments can be determined. The second requirement ensures that we have an infinite number of "time moments" which can be unambiguously indexed by elements of N. In the following we denote a time domain by T.</p><p>Since objects move in a space, we also need a notion for a spatial domain. In the following, let S denote the spatial domain. We require that S is equipped with an adequate metric, such as the Euclidean distance (e.g. for S = R × R), which allows us to measure the spatial distance between objects.</p><p>Having the notions of time and space we can define formally the term trajectory. Definition 1. Let T, S and O denote a time domain, a space domain and a set of distinct objects, respectively. Then, the trajectory</p><formula xml:id="formula_0">τ o of an object o ∈ O is a function τ o : T → S.</formula><p>For brevity, we can also write the trajectory of an object o ∈ O in the form (o, t 0 , s 0 ), (o, t 1 , s 1 ) . . . for those t ∈ T where τ o (t) = s is defined. A single element (o, t i , s i ) is called the track of object o at time t i .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Motion Patterns</head><p>We consider a motion pattern as a sequence of properties of trajectories which reveal some characteristics of the behavior of the underlying moving objects. Such properties may be expressed through any predicates which are important for the particular analysis, such as start, stop, turn, or speedup. Definition 2. Let T be a time domain, T be the set of trajectories of an object set O over T, and I T be the set of all closed intervals over T. A motion property on T is a function p : 2 T × I T → {true, f alse}.</p><p>That is, a motion property is fulfilled for a set of trajectories and a certain time interval if the appropriate predicate is satisfied. To illustrate this definition, some examples of motion properties are provided below:</p><p>• Appearance: Let t ∈ T. Then we define appear(•, •) as follows: appear</p><formula xml:id="formula_1">({τ o }, [t, t]) = true ⇔ ∀t ′ ∈ T : τ o (t ′ ) undefined → t ≤ t ′ .</formula><p>That is, an object "appears" only in the "first" moment it is being observed.</p><formula xml:id="formula_2">• Speedup: Let t 1 , t 2 ∈ T and t 1 &lt; t 2 . Then speedup(•, •) is de- fined as follows: speedup({τ o }, [t 1 , t 2 ]) = true ⇔ v(τ o , t 1 ) &lt; v(τ o , t 2 ) ∧ ∀t ∈ T : t 1 ≤ t ≤ t 2 → v(τ o , t 1 ) ≤ v(τ o , t) ≤ v(τ o , t 2 )</formula><p>where v(τ o , t) denotes the velocity of the underlying moving object o at time t. That is, the predicate speedup is satisfied for a trajectory and a time interval if and only if the velocity of the underlying object is increasing in the considered time interval. Note that the increase may not be strictly monotonic.</p><p>• Move away: Let t 1 , t 2 ∈ T and t 1 &lt; t 2 . Then we define:  Using motion properties, a motion pattern of a single trajectory or a set of trajectories is defined as a sequence of motion properties ordered by the time intervals in which they are fulfilled. It is important to note, that this common definition of a motion pattern allows multiple occurrences of the same motion property in the sequence. In order to get a well-defined notion it has to be required that the time intervals in which the motion properties are fulfilled are disjoint or that meaningful preferences on the motion properties are specified in order to allow ordering in case the time intervals overlap.</p><formula xml:id="formula_3">moveaway({τ o 1 , τ o 2 }, [t 1 , t 2 ]) = true ⇔ ∀t, t ′ ∈ T : t 1 ≤ t &lt; t ′ ≤ t 2 → dist(τ o 1 , τ o 2 , t) &lt; dist(τ o 1 , τ o 2 , t ′ )</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">TRAJECTORY INDEXING USING MO-TION PROPERTIES</head><p>In this section we explain how the proposed index is being created and used. Index creation starts with the determination of the motion pattern of each trajectory to be indexed. For this purpose, the motion predicates specified by the user are computed. The resulting motion patterns are indexed with references to the original trajectories.</p><p>The resulting index is schematically depicted in Figure <ref type="figure" target="#fig_0">1</ref>. TrIMPI consists mainly of a data structure holding the raw trajectory data, and secondary index structures for maintaining motion patterns. Thereby, we differentiate between indexing single motion properties and indexing motion patterns. A query to the index can be stated either through a motion pattern or through a concrete trajectory. The index is searched for motion patterns containing the given one or the computed one, respectively. In both cases, the associated trajectories are returned. The following subsections consider the outlined procedures more precisely.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Indexing Trajectory Raw Data</head><p>Since the focus of TrIMPI is not on querying trajectories by example, the index structure for the raw trajectory data can be rather simple. For our implementation, we considered a trajectory record file as proposed by <ref type="bibr" target="#b2">[3]</ref>. This structure (Figure <ref type="figure" target="#fig_0">1</ref>) stores trajectories in records of fixed length. The overall structure of the records is as follows ID o next_ptr prev_ptr {track 0 , . . . , track num−1 } .</p><p>ID o denotes the identifier of the underlying moving object, next_ptr and prev_ptr are references to the appropriate records holding further parts of the trajectory, and {track 0 , . . . , track num−1 } is a list of tracks of a predefined fixed length num. If a record r i for a trajectory τ o gets filled, a new record r j is created for τ o holding its further tracks. In this case, next_ptr r i is set up to point to r j , and prev_ptr r j is set up to point to r i . Using a trajectory record file, the data is not completely clustered, but choosing appropriate record size leads to partial clustering of the trajectory data in blocks. This has the advantage that extracting the complete trajectory requires only loading as much blocks as needed for storing a trajectory.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Indexing Motion Patterns</head><p>For the maintenance of motion patterns we consider two casessingle motion properties and sequences of motion properties. Storing single motion properties allows the efficient finding of trajectories which contain the considered motion property. This is advantageous if the searched property is not often satisfied. Thus, for each motion property p a "list" DBT p holding all trajectories satisfying this property is maintained. As we shall see in Algorithm 4.3, we have to combine such lists and, thus, a simple unsorted list would not be very favourable. Therefore, we implement these lists through B + -Trees (ordered by the trajectory/object identifiers). An evaluation of union and intersection of two B + -Trees with m and n leaves can be performed in O(m log m+n m ) <ref type="bibr" target="#b3">[4]</ref>. The search for motion patterns with more than one motion property can be conducted through the single DBT p structures. However, if the query motion pattern is too long, too many intersections of the DBT p structures will happen and the resulting trajectories will have to be checked for containing properties that match the given order, as well. To overcome this problem, sequences of motion properties are stored in an additional B + -Tree structure DBT . The elements of DBT have the form (p, τ o ) where p is a motion pattern, and o ∈ O.</p><p>To sort the elements of DBT , we apply lexicographical ordering. As a result, sequences with the same prefix are stored consecutively. Thus, storing of motion patterns that are prefixes of other motion patterns can be omitted.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Building the Index</head><p>The algorithm for the index creation is quite simple. It consists primarily of the following steps:</p><p>• Determine the motion properties for each trajectory τ o . Consider, if needed, a sliding window or some reduction or segmenting technique as proposed in <ref type="bibr" target="#b0">[1]</ref>, <ref type="bibr" target="#b5">[6]</ref>, <ref type="bibr" target="#b9">[10]</ref>, <ref type="bibr" target="#b11">[12]</ref>, <ref type="bibr" target="#b12">[13]</ref>, for example. Generate a list f of the motion properties of τ o , ordered by their appearance in τ o .</p><p>• Store τ o into the trajectory record file.</p><p>• Apply Algorithm 4.1 to f to generate access keys relevant for indexing.</p><p>• For each generated access key, check whether it is already contained in the index. If this is not the case, store it in the index. Link the trajectory record file entry of τ o to the access key.</p><p>Algorithm 4.1 is used to generate index keys of a pattern. An index key is any subpattern p</p><formula xml:id="formula_4">′ = (p ′ j ) m−1 j=0 of a pattern p = (p i ) n−1 i=0</formula><p>which is defined as follows:</p><formula xml:id="formula_5">• For each j ≤ m − 1 exists i ≤ n − 1 such that p ′ j = p i • For each j, k such that 0 ≤ j &lt; k ≤ m − 1 exist i, l such that 0 ≤ i &lt; l ≤ n − 1 and p ′ j = p i and p ′ k = p l .</formula><p>To generate the list of index keys, algorithm 4.1 proceeds iteratively. At each iteration of the outer loop (lines 3 to 16) the algorithm considers a single element p of the input sequence f . On the one hand, p is being added as an index key to the (interim) result (lines 14 and 15) and on the other hand it is being appended as a suffix to each previously generated index key (inner loop -lines 5 to 13). Algorithm 4.1 utilizes two sets whose elements are lists of motion propertiessupplist and entries. The set supplist contains at each iteration the complete set of index keys, including those which are prefixes of other patterns. The set entries is built in each iteration of the inner loop (lines 5 to 13) by appending the current motion property of the input sequence to any element of supplist. Thereby, at line 14 entries holds only index keys which are no prefixes of other index keys. Since the resulting lists of index keys are stored in a B + -Tree by applying a lexicographical order, sequences of motion properties which are prefixes of other sequences can be omitted. Therefore, the set entries is returned as final result (line 17). Since the given procedure may result in the computation of up to 2 k 0 different indexing keys for an input sequence with k 0 motion properties, a global constant G is used to limit the maximal length of index keys. Using an appropriate value for G leads to no drawbacks for the application. Furthermore, the proposed querying algorithm can handle queries longer than G. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.4">Searching for Motion Patterns</head><p>Since the index is primarily considered to support queries on sequences of motion properties, the appropriate algorithm for evaluating such queries given in the following is rather simple. In its "basic" version, query processing is just traversing the index and returning all trajectories referenced by index keys which contain the queried one (as a subpattern). This procedure is illustrated in algorithm 4.2. There are, however, some special cases which have to be taken into account. The first of them considers query sequences which are "too short". As stated in Section 4.2, it can be advantageous to evaluate queries containing only few motion properties by examination of the index structures for single motion properties. To be able to define an application specific notion of "short" queries, we provide besides G an additional global parameter α for which holds 1 ≤ α &lt; G. In algorithm 4.3, which evaluates queries of patterns of arbitrary length, each pattern of length shorter than α is being handled in the described way (lines 3 to 8). It is important that each trajectory of the interim result has to be checked whether it matches the queried pattern (lines 9 to 13). The other special case are queries longer than G (lines 16 to 24). As we have seen in algorithm 4.1, in such cases the index keys are cut to prefixes of length G. Thus, the extraction in this case considers the prefix of length G of the query sequence (lines 17) and extracts the appropriate trajectories (line 18). Since these trajectories may still not match the query sequence, e.g. by not fulfilling some of the properties appearing on a position after G − 1 in the input sequence, an additional check of the trajectories in the interim result is made (lines 19 to 23). The last case to consider are query sequences with length between α and G. In these cases, the index DBT holding the index keys is searched through a call to algorithm 4.2 and the result is returned. Finally, the function Match (algorithm 4.4) checks whether a tra- 26 end function jectory τ o fulfills a pattern s. For this purpose, the list of motion properties of τ o is being generated (line 2). Thereafter, s and the generated pattern of τ o are traversed (lines 5 to 14) so that it can be checked whether the elements of s can be found in the trajectory pattern of τ o in the same order. In this case the function Match returns true, otherwise it returns false.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">CONCLUSIONS AND OUTLOOK</head><p>In this paper we provided some first results of an ongoing work on an indexing structure for trajectories of moving objects called TrIMPI. The focus of TrIMPI lies not on indexing spatio-temporal data but on the exploitation of motion properties of moving objects. For this purpose, we provided a formal notion of motion properties and showed how they form a motion pattern. Furthermore, we showed how these motion patterns can be used to build a meta index. Algorithms for querying the index were also provided. In the next steps, we will finalize the implementation of TrIMPI and perform tests in the scenario of the automatic detection of piracy attacks mentioned in the Introduction. As a conceptual improvement of the work provided in this paper, we consider a flexibilisation of </p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Overview of the index structure</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Algorithm 4 . 1</head><label>41</label><figDesc>Building the indexing keysRequire: f is a sequence of motion properties Require: G is the maximal length of sequences to be indexed 1 function createIndexKeys( f ) 2 supplist ← empty set of lists 3 for all a ∈ f do 4 entries ← empty set of lists 5 for all l ∈ supplist do 6 new ← empty list 7 if |l| ≤ G then 8 new ← l.append(a)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Algorithm 4 . 2</head><label>42</label><figDesc>Basic querying of trajectories with a sequence of motion propertiesRequire: s is a sequence of motion properties; |s| ≤ G Require: DBT is the index containing motion patterns1 function GetEntriesFromDBT(s) 2 result ← {τ o | ∃p s.t. s ≤ p ∧ (p, τ o ) ∈ DBT }</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Algorithm 4 . 3 2 result ← empty set 3 if |s| &lt; α then 4 result ← T 5 for all p ∈ s do 6 suppset ← DBT p 7 result ← result ∩ suppset 8 end for 9 for 17 k</head><label>432345678917</label><figDesc>Querying trajectories with a sequence of arbitrary lengthRequire: s is a sequence of motion properties Require: G is the maximal length of stored sequences Require: DBT p is the index of the property p Require: 1 ≤ α &lt; G maximal query length for searching single property indexes1 function GetEntries(s) all τ o ∈ result do 10 if ! match(τ o , s) then 11 result ← result\{τ o } ← s[0..G − 1]18 result ← GetEntriesFromDBT (k) 19 for all τ o ∈ result do 20 if ! match(τ o , s) then 21 result ← result\{τ o }</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Algorithm 4 . 4 3 index_s ← 0 4 index_props ← 0 5 while 7 index_s</head><label>443457</label><figDesc>Checks whether a trajectory matches a motion pattern Require: τ o is a valid trajectory Require: s is a sequence of motion properties 1 function match(τ o , s) 2 motion_properties ← compute the list of motion properties of τ o index_props &lt; motion_properties.length do 6 if motion_properties[index_props] = s[index_s] then the definition of motion patterns including arbitrary temporal relations between motion predicates.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>where the term dist(τ o 1 , τ o 2 , t) denotes the distance between the underlying moving objects o 1 and o 2 at time t. That is, two objects are moving away from each other for a time interval, if their distance is increasing during the considered time interval.</figDesc><table /></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">ACKNOWLEDGMENTS</head><p>The authors would like to give special thanks to their former student Lasse Stehnken for his help in implementing TrIMPI.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Efficient similarity search in sequence databases</title>
		<author>
			<persName><forename type="first">R</forename><surname>Agrawal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Faloutsos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Swami</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 4th International Conference on Foundations of Data Organization and Algorithms, FODO&apos;93</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">D</forename><forename type="middle">B</forename><surname>Lomet</surname></persName>
		</editor>
		<meeting>the 4th International Conference on Foundations of Data Organization and Algorithms, FODO&apos;93<address><addrLine>Chicago, Illinois, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1993">October 13-15, 1993. 1993</date>
			<biblScope unit="volume">730</biblScope>
			<biblScope unit="page" from="69" to="84" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Content-based retrieval using moving objects&apos; trajectories in video data</title>
		<author>
			<persName><forename type="first">J.-W</forename><surname>Chang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H.-J</forename><surname>Lee</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-H</forename><surname>Um</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S.-M</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T.-W</forename><surname>Wang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IADIS International Conference Applied Computing</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="11" to="18" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">TMN-Tree: New trajectory index structure for moving objects in spatial networks</title>
		<author>
			<persName><forename type="first">J.-W</forename><surname>Chang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-S</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J.-H</forename><surname>Um</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computer and Information Technology (CIT), 2010 IEEE 10th International Conference on</title>
				<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2010-07">July 2010</date>
			<biblScope unit="page" from="1633" to="1638" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Adaptive set intersections, unions, and differences</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">D</forename><surname>Demaine</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>López-Ortiz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">I</forename><surname>Munro</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms, SODA &apos;00</title>
				<meeting>the eleventh annual ACM-SIAM symposium on Discrete algorithms, SODA &apos;00<address><addrLine>Philadelphia, PA, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="743" to="752" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Towards a taxonomy of movement patterns</title>
		<author>
			<persName><forename type="first">S</forename><surname>Dodge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Weibel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-K</forename><surname>Lautenschütz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information Visualization</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="240" to="252" />
			<date type="published" when="2008-06">June 2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Fast subsequence matching in time-series databases</title>
		<author>
			<persName><forename type="first">C</forename><surname>Faloutsos</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ranganathan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Manolopoulos</surname></persName>
		</author>
		<idno>. 472940</idno>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 1994 ACM SIGMOD international conference on Management of data, SIGMOD &apos;94</title>
				<editor>
			<persName><forename type="first">R</forename><forename type="middle">T</forename><surname>Snodgrass</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><surname>Winslett</surname></persName>
		</editor>
		<meeting>the 1994 ACM SIGMOD international conference on Management of data, SIGMOD &apos;94<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="1994">1994</date>
			<biblScope unit="page" from="419" to="429" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">HTPR*-Tree: An efficient index for moving objects to support predictive query and partial history query</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Fang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Peng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Song</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Web-Age Information Management</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">L</forename><surname>Wang</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Jiang</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><surname>Lu</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">L</forename><surname>Hong</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">B</forename><surname>Liu</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="volume">7142</biblScope>
			<biblScope unit="page" from="26" to="39" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Moving Object Databases</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">H</forename><surname>Güting</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schneider</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<publisher>Morgan Kaufmann</publisher>
		</imprint>
		<respStmt>
			<orgName>Data Management Systems</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">R-Trees: a dynamic index structure for spatial searching</title>
		<author>
			<persName><forename type="first">A</forename><surname>Guttman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 1984 ACM SIGMOD international conference on Management of data, SIGMOD &apos;84</title>
				<meeting>the 1984 ACM SIGMOD international conference on Management of data, SIGMOD &apos;84<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="1984">1984</date>
			<biblScope unit="page" from="47" to="57" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Speeding Up the Douglas-Peucker Line-Simplification Algorithm</title>
		<author>
			<persName><forename type="first">J</forename><surname>Hershberger</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Snoeyink</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 5th International Symposium on Spatial Data Handling, SDH&apos;92</title>
				<editor>
			<persName><forename type="first">P</forename><surname>Bresnahan</surname></persName>
		</editor>
		<meeting>the 5th International Symposium on Spatial Data Handling, SDH&apos;92<address><addrLine>Charleston, South Carolina, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1992-08-07">August 3-7, 1992. August 1992</date>
			<biblScope unit="page" from="134" to="143" />
		</imprint>
		<respStmt>
			<orgName>University of South Carolina. Humanities and Social Sciences Computing Lab</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">TPR-Tree Successors 2000-2012</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">S</forename><surname>Jensen</surname></persName>
		</author>
		<ptr target="http://cs.au.dk/~csj/tpr-tree-successors" />
		<imprint>
			<date type="published" when="2013-03-24">2013. 24.03.2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Dimensionality reduction for fast similarity search in large time series databases</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">J</forename><surname>Keogh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Chakrabarti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Pazzani</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mehrotra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal Of Knowledge And Information Systems</title>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="263" to="286" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">An online algorithm for segmenting time series</title>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">J</forename><surname>Keogh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Chu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Hart</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Pazzani</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2001 IEEE International Conference on Data Mining, ICDM&apos;01</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Cercone</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><forename type="middle">Y</forename><surname>Lin</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">X</forename><surname>Wu</surname></persName>
		</editor>
		<meeting>the 2001 IEEE International Conference on Data Mining, ICDM&apos;01<address><addrLine>San Jose, California, USA</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2001-12-02">29 November -2 December 2001. 2001</date>
			<biblScope unit="page" from="289" to="296" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<title level="m" type="main">How to Improve Maritime Situational Awareness using Piracy Attack Patterns</title>
		<author>
			<persName><forename type="first">T</forename><surname>Polomski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H.-J</forename><surname>Klein</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
	<note>submitted</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title level="m" type="main">Adding meaning to your steps</title>
		<author>
			<persName><forename type="first">S</forename><surname>Spaccapietra</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Parent</surname></persName>
		</author>
		<editor>M. Jeusfeld, L. Delcambre, and T.-W.</editor>
		<imprint/>
	</monogr>
	<note>keynote paper</note>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<author>
			<persName><forename type="first">Ling</forename></persName>
		</author>
		<title level="m">Conceptual Modeling -ER 2011, 30th International Conference, ER 2011</title>
				<meeting><address><addrLine>Brussels, Belgium</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2011-11-03">October 31 -November 3, 2011. 2011</date>
			<biblScope unit="page" from="13" to="31" />
		</imprint>
	</monogr>
	<note>Proceedings, ER&apos;11</note>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">Hierarchical querying scheme of human motions for smart home environment</title>
		<author>
			<persName><forename type="first">Y.-S</forename><surname>Tak</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Hwang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Eng. Appl. Artif. Intell</title>
		<imprint>
			<biblScope unit="volume">25</biblScope>
			<biblScope unit="issue">7</biblScope>
			<biblScope unit="page" from="1301" to="1312" />
			<date type="published" when="2012-10">Oct. 2012</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">The TPR*-tree: an optimized spatio-temporal access method for predictive queries</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Tao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Papadias</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Sun</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 29th international conference on Very large data bases -Volume 29</title>
				<editor>
			<persName><forename type="first">J</forename><forename type="middle">C</forename><surname>Freytag</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><forename type="middle">C</forename><surname>Lockemann</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Carey</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><forename type="middle">G</forename><surname>Selinger</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Heuer</surname></persName>
		</editor>
		<meeting>the 29th international conference on Very large data bases -Volume 29</meeting>
		<imprint>
			<publisher>VLDB Endowment</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="790" to="801" />
		</imprint>
	</monogr>
	<note>VLDB &apos;03</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
