1 open web processing services for improving accuracy of gps tracks by filtering and map-matching...

Post on 16-Dec-2015

221 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Open Web Processing Services for Improving Accuracy of GPS tracks by

Filtering and Map-Matching

Xianfeng Song @ GUCAS, Venkatesh Raghavan @ OCU

Daisuke Yoshida @ OCU

2009.10.21

2

1 Introduction

Background

Inexpensive Collection of Position Information– Compact lightweight GPS receivers

– Cell phones and personal digital assistants

Open Data for Road Network– Google Maps, Open Street Map

– Local (OSAKA WMS MAP)

Application of GPS Position Data– Navigation, POI collection / registration

– Road Network Updating, … …

3

Key Questions for normal users ?

GPS Position Point Accuracy– GPS Receivers

– Geometrical Effects of Geo-environment (urban canyons)

Free Services for Data Improvement– Online services available

(more displaying, less processing)

– Free tools not enough, post-processing or assisted GPS is needed (processing tools + road network dataset)

4

Objective

Developing open geo-processing services to

support co-registering the vehicle GPS traces with

road network, based on open GIS standards and

open source geospatial software.

5

2 Methods

2.1 GPS Track Data Processing Workflow

FILTERING

MATCHINGOUTPUT

INPUT

Geographic Links between traces and road paths

Algorithm based on Hausdorff DistanceAlgorithm based on Frechet Distance, introducing road connectivity

Line Generalization

Douglas-Peucker algorithm with different distance measures

Primary Filters

PDOP,Fix Type,Satellite Number, ...

Advanced Filters

Velocity, Heading,Annular Velocity, ...

Vehicle GPS Track Logging Data

6

2.2 Position Points Filtering

1) Fixmode

×not Fixed

√ 2D

√ 3D

2) HDOP (iBlue747)

CEP = 3, (95%)

2DRMS = 1.2 * HDOP * CEP

???

7

http://en.wikipedia.org/wiki/Circular_error_probable

Conversion between CEP, RMS, 2DRMS, and R95While 50% is a very common definition for CEP, the circle dimension can be defined for percentages. Approximate formulas are available to convert the distributions along the two axes into the equivalent circle radius for the specified percentage.

Accuracy MeasureProbability (%)

Root mean squared (RMS) 63 to 68

Circular error probability (CEP) 50

Twice the distance root mean square (2DRMS) 95 to 98

95% radius (R95) 95

From/to CEP RMS R95 2DRMS

CEP - 1.2 2.1 2.4

RMS 0.83 - 1.7 2.0

R95 0.48 0.59 - 1.2

2DRMS 0.42 0.5 0.83 -

8

3) Velocity

1

3

4

5

6

7

8

2

1

3 5

6

7

8

2

1max

1

, 60 /i i

i i

p pv v km ht t

9

2.3 Trajectory Simplification by Douglas-Peuker Mehtod

10

11

2.4 Road Matching

1) Hausdorff Distance

Given two curves A = {a1, a2, …, am} and B = {b1, b2, …, bn}, the length-weighed Hausdorff distance from A to B, H(A,B), is approximately calculated as follows.

Where, di is the shortest distance from the ith vertex ai to the curve B, u(ai,ai+1) is the length of segment (ai,ai+1), R is the total length of the curve A.

1H( , ) = ( ) / 2, 1, 2, ...,i i iA B r d d i m-1

( , ), 1, 2, ..., mi id d a B i

11

( , ), ( , ), 1, 2, ..., m -1i i

i i i

u a ar R u a a i

R

12

13

2) Frechet Distance

Given two curves P = P(n), 0 ≤ n ≤ N and Q = Q (m) with 0 ≤ m ≤ M. P(n) refers to a given position on the curve, with P(0) referring to the first vertex of the curve and P(N) referring to its last vertex. The sequential position of a vertex on a curve can be expressed as a function of time t with 0 ≤ t ≤ 1 by using two continuous and increasing function α(t) and β(t), where α(0) = 0, α(1) = N, β(0) = 0 and β(1) = M, therefore a position on the curve as a function of time is given by P(α(t)) and Q(β(t)).

A matching between P and Q is simply a pair of monotone reparametrizations (α, β) of P and Q respectively, where the point P(α(t)) is matched to the point Q(β(t)). Mathematically, the Frechet distance between two curves is defined as (Thomas Eiter and Heikki Mannila, 1994)

14

Where d(P(α(t)), Q(β(t))) is the Euclidian distance between two

points P(α(t)) and Q(β(t)). For every possible function α(t) and β(t)

at time t, there is the largest distance, and the Frechet distance

should be the minimal one found among these maximum

distances.

[0,1] [0,N] [0,1][0,1] [0,M]

( , ) min {max ( ( ( )), ( ( )))}F tP Q d P t Q t

15

ε

α

vj

vi

sij

sij

0

0

1 2 p - 1α

p

1FDj

FDi

G

n

o

m

l

i

j

k

Ln

Ll

Li

Lk

Lj

Rj

Rk

Ri

Rm

Rl

Ro

Rn

FDj

FDk

FDi

FDl

FDl,n

FDi,l

FDk,i

FDj,i

(a) Frechet free space diagram

(b) Frechet free space surface (Source: Alt 2004)

16

17

3 Implementation

3.1 System

Framework

OpenLayersApachePyWPS

ApacheCGI-BIN

AddingDeletingListing

Trajectory Management

filteringmatchingwkt formatting

Co-registry Process

traj. catalogue

position points

road network

PostgreSQL

Google MapAPI

MapserverWMS

DATABASEWEB SERVERBROWSER

18

3.2 Database Management

Trajectory Catalogue:

Field | Type | Description--------+-----------+------------------------- tid | integer | Trajectory ID t0 | timestamp | the time of first point t1 | timestamp | the time of last point gps | text | GPS type

1) Database Structure

19

GPS Position Points Database :

Field | Type | Description-----------+-----------+---------------------------------- time | timestamp | position time lat | double | latitude lon | double | longitude fixmode | integer | the mode of positioning pdop | double | position dilution of precision hdop | double | horizontal dilution of precision … … | … … | … … -----------+-----------+---------------------------------- tid | integer | which trajectory the point belongs to filter | integer | by which filter the point was removed

20

OSAKA Road Network : Field | Type | Description------------+----------+---------------------- gid | integer | road id name | text | road name kokubango | bigint | encoding … … | … … | … … ------------+----------+---------------------- source | bigint | road from-node id target | bigint | road to-node id length | numeric | road length reverse_co | numeric | to_cost | numeric |------------+----------+---------------------- the_geom | geometry | road linearstring geometry

21

2) Database Program

Adding

uploading gps track data into position point

database, meanwhile adding one new trajectory

into Trajectory Catalogue

Deleting

removing the trajectory from catalogue,

meanwhile deleting its associate position points

Listing

listing the available trajectories in the

catalogue

22

3.3 PyWPS Processes - gpsnx_process

Pgdb - operating postgresql/postgis

Shapely - buffer generation

output by wkt format

networkx - graph based topology analysis

Matplotlib - plot figure

Python (source code about 1400 lines)

23

http://wgrass.media.osaka-cu.ac.jp/cgi-bin/wps3.py?

service=wps&Version=1.0.0&Request=Execute&

Identifier=gpsnx_process&

DataInputs=track=9;

fixmode=2;hdop=2;

velocity=60.0;

dp=5.0;

mt=hd;

rawpnt=1;dptrj=1;mtrds=1

24

25

3.4 Demo

26

27

28

29

30

4 Summary

• Geoprocessing services for accuracy enhancement and map matching

of GPS traces were implemented using the OSGeo stack.

• Map matching algorithms for vehicle tracking data are implemented

using the PyWPS.

• Track-logs stored in the PostgreSQL/PostGIS enable handling of large

volume data of road network.

• Openlayers client is used to visualize the processing results.

• Potential uses for better road navigation, map making and development

of POI-DB using low-cost GPS devices.

• Plans to integrate algorithm in the ZOO-OWS Platform to provide ZOO-

LBS support.

31

As a part of the core processes of map matching in PyWPS, specific

filters of GPS tracks, related to vehicle motion characteristics, are

first applied to produce high quality vehicle trajectories. Secondly,

advanced curve-to-curve distance measurement algorithms –

Hausdorff distance and Frechet distance are implemented in Python

to perform map matching of road network. The system has been

tested under dense urban road network conditions in Osaka City in

Japan. The results of the experiments suggest that the Web

Services are effective for retrieval of the paths from urban street

network and accurate matching of tracking data form low-cost GPS

tracking devices. The services implemented as a part of this

research will be not only useful for vehicle tracking but also for

automated update of road network and in improving quality of

community driven geo-data collection initiatives such as the Open

Street Map.

32

top related