25
CONNECT. TRANSFORM. AUTOMATE. Getting From A to B with FME Benjamin Quest con terra GmbH

Getting from A to B with FME

Embed Size (px)

DESCRIPTION

A presentation focused on how Stadtwerke Münster, a public transit authority in Germany, used FME to efficiently transform timetables and bus route data into the General Transit Feed Specification (GTFS) used by Google Transit. See more presentations from the FME User Conference 2014 at: www.safe.com/fmeuc

Citation preview

Page 1: Getting from A to B with FME

CONNECT. TRANSFORM. AUTOMATE.

Getting From A to B with FME Benjamin Quest con terra GmbH

Page 2: Getting from A to B with FME

Abstract

!  Stadtwerke Münster was the first public transit authority in Germany to publish their data to Google Transit and to enable customers to easily find their best connection from one location to another. The multimodal transport options are easily accessible on any device including mobile phones. Stadtwerke Münster used FME to transform timetables and bus route data form the existing management systems into the General Transit Feed Specification (GTFS) used by Google Transit. FME helped to proof and harmonize the bus timetable data coming from heterogeneous data sources within the transit authority. The next step in the very near future will be the support of real time transit data delivery to customers powered by FME.

Page 3: Getting from A to B with FME

Agenda

!  Destination !  From A: Source Data !  To B: Destination Schema !  Quality Assurance !  Some Obstacles !  Herr Müller !  Road Ahead

Page 4: Getting from A to B with FME

Client: Stadtwerke Münster

!  Contractor for electricity, heat and water !  Local public transport agency

!  115.000 passengers per day !  100.000 arrivals and departures per day !  170 busses !  400 km bus network !  600 stations !  18 bus routes + 6 night bus routes !  16 taxi bus routes

Page 5: Getting from A to B with FME

Customer Information

!  Time tables at bus stations !  Ticket and time table information

on website !  Fahrgastinformationssystem FIS

!  Departure times at bus stops !  Apps for Android and iOS

Page 6: Getting from A to B with FME

Destination

!  Promoting multimodal routing in the city of Münster

!  Make Stadtwerke Münster the first public transport agency on Google Transit in Germany

!  " Transform and transfer timetable information to Google Transit

!  A typical FME challenge: Getting the data from schema A to schema B

Page 7: Getting from A to B with FME

From A: Source Data

!  Multiple applications, databases and files

!  Export formats on national VDV standards but heterogeneous: !  ASCII CSV (with/without header) or

XML !  " Use of VDV DIVA exchange

format (DINO) based on CSV

Page 8: Getting from A to B with FME

To B: General Transit Feed Specification (GTFS)

!  Open standard !  ZIP archive with CSV files !  GTFS real-time extension

!  Binary format !  Specification discussion board

agency

routes

calendar

stop_times

trips

… …

Page 9: Getting from A to B with FME

Quality Assurance I

!  QA with FME reviewing the data and during the workspace design process

!  For example: completeness of data !  Route names !  Destination descriptions !  Route geometry !  Bus stop description (example: “entrance only”) !  Taxi bus " bus on demand

Page 10: Getting from A to B with FME

Quality Assurance II

!  Using Google tools within FME !  Python shutdown script

!  Creation of HTML report with Feed Validator !  Creation of batch file with shortcut to Schedule

Viewer

Page 11: Getting from A to B with FME

Google Tools

Google Feed Validator Google Schedule Viewer

Page 12: Getting from A to B with FME

Obstacle I: Non or Almost Non Spatial Data

!  ~600 bus stations !  ~1200 bus stops, but

!  50 without location !  200 located on the centerline of the street !  300 located wrong

!  Solution !  New survey with GISPAD, placing and controlling

using ArcMap and orthophotos

Page 13: Getting from A to B with FME

Obstacle II: “Stops_to_close” Warnings

!  Bus stops with redundant representations in the source database !  One bus stop, but different identifiers for multiple

routes (bus, night bus, taxi bus) !  Exactly same coordinates, sometimes discrepancy

in centimeter scale

!  FME solution: DuplicateRemover + FeatureMerger (Duplicates) on coordinates rounded to meters

Page 14: Getting from A to B with FME

Obstacle III: Coordinate Offset

!  Source coordinate system: DINO !  EPSG:31467 / DHDN GK Zone 3

!  Destination coordinate system: GTFS !  EPSG:4326 / LL WGS84

!  Insufficient results with high precision transformations BeTa2007_NTv2 and 7 parameter !  5 meter offset

Page 15: Getting from A to B with FME

Obstacle III: Coordinate Offset

!  FME Solution: Implementing Google transformation parameters in MyCoordSysDefs.fme

Default Transformation “Google” Transformation

Page 16: Getting from A to B with FME

Obstacle IV: Representation of Stop Times

!  DINO (source database) 1.  Departure at 12:23 from station x 2.  Next stop in 60 seconds at station y 3.  Next stop in 120 seconds at station z

!  GTFS 1.  Stop at 12:23 at station x 2.  Stop at 12:24 at station y 3.  Stop at 12:26 at station z

12:23

+ 60 sec

+ 120 sec

12:23

12:24

12:26

Page 17: Getting from A to B with FME

FME Solution

!  Use of VariableSetter and VariableRetriever to calculate the absolute time schedules for every route

!  Less runtime than using FeatureMerger

Page 18: Getting from A to B with FME

Obstacle V: On Demand Taxi Busses

!  A lot of stops with the same departure time

!  GTFS doesn’t allow identic departure times on consecutive stops

Page 19: Getting from A to B with FME

FME Solution

!  “Removing” redundant stop times !  Sorter + VariableSetter and

VariableRetriever

Page 20: Getting from A to B with FME

Feed Publication

!  Google Transit Partner Portal !  Publication of feed by partner !  2 options

!  Upload of csv files !  Feed via

(Secured) URL !  Individual review

by Google at 1st upload

Page 21: Getting from A to B with FME

Google Transit Partner Portal

!  Visual route control by user

Page 22: Getting from A to B with FME

Project History

!  Final review and approval by Google in July 2012 !  Publication of German railway timetables in

August 2012 !  Go live in November 2012 as the first local public

transport agency in Germany together with City of Munich

!  " Destination reached!

Page 23: Getting from A to B with FME

Herr Müller

!  Visiting Münster for the first time !  Likes to go from the mainstation to Münster

castle

Page 24: Getting from A to B with FME

Road Ahead

!  Implementation of real route geometries !  Implementation of GTFS real time

!  Real time departures and arrivals !  Delays !  Shifted or inactive stops (constructions) !  Real time vehicle locations

Page 25: Getting from A to B with FME

Thank You!

!  For more information:

con terra GmbH [email protected]

Benjamin Quest [email protected] @benjamin_quest

CONNECT. TRANSFORM. AUTOMATE.