1 / 32

Open Web Processing Services for Improving Accuracy of GPS tracks by Filtering and Map-Matching

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. Background Inexpensive Collection of Position Information Compact lightweight GPS receivers

julie
Download Presentation

Open Web Processing Services for Improving Accuracy of GPS tracks by Filtering and Map-Matching

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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. 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, … … 1 Introduction

  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

  6. 2.2 Position Points Filtering • 1) Fixmode • ×not Fixed • √ 2D • √ 3D • 2) HDOP (iBlue747)

  7. http://en.wikipedia.org/wiki/Circular_error_probable Conversion between CEP, RMS, 2DRMS, and R95 While 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.

  8. 3) Velocity

  9. 2.3 Trajectory Simplification by Douglas-Peuker Mehtod

  10. 2.4 Road Matching • 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.

  11. 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)

  12. 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.

  13. (a) Frechet free space diagram (b) Frechet free space surface (Source: Alt 2004)

  14. 3 Implementation 3.1 System Framework

  15. 3.2 Database Management 1) Database Structure 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

  16. 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

  17. 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

  18. 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

  19. 3.3 PyWPS Processes - gpsnx_process Python (source code about 1400 lines) Pgdb - operating postgresql/postgis Shapely - buffer generation output by wkt format networkx - graph based topology analysis Matplotlib - plot figure

  20. 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

  21. 3.4 Demo

  22. 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.

  23. 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.

  24. Thank you for your attention

More Related