SlideShare a Scribd company logo
1 of 29
Green Bay Google Transit
                 October 29, 2008




Brown County Planning Commission/Green Bay MPO
       Cole Runge, Principal Planner/MPO Director
          Lisa Conard, Planner (Transportation)
        Tim Hennig, Planner (Transportation/GIS)

Brown County Information Technology Department
          Carrie Borofka, Programmer Analyst
                Green Bay Metro
         Chris Phelps, Green Bay Metro Director
                      Google
                  Google Transit Team
Brief History
           • In 2005, all of Green
           Bay Metro’s bus stops were
           mapped via
           GPS coordinates. This
           information was used as
           part of the Google
           Transit development
           (Thanks Eric Heidenreiter
           and the help from other
           interns).
The Creation of Green Bay’s Google Transit
Brown County Planning Commission/Green Bay MPO developed the
Google Transit feeds using its geographic information system (GIS).
 • Additional GIS and tabular data was developed within a MS SQL
   Server/ArcSDE enterprise geodatabase environment.
        Implemented Google Transit feed specifications as part of Brown County’s
        transportation geodatabase model schema.
        Scripting data transformation services (DTS) of GIS and table data and
                                                                        data
        compiling the data into a CSV file format. Basically the data transfer is
                                                                      transfer
        automated based on Google’s specifications.

Google provides open source development tools.
 • There are tools you can use to validate your feeds.
 • Schedule viewer program.
 • KML (Keyhole Markup Language) writer program that integrates with
   Google Earth that validates bus stop location and information.

Networking is a must!
 •   The Google team will work with you.
 •   You can post questions or comments in the Google Transit Groups.
 •   Networking amongst other Google Transit developers (e.g. Cities of
     Appleton, Fond du Lac, and Duluth, ECRPC, and BLRPC).
GTF File Requirements
     All files in a Google Transit Feed Spec (GTFS) feed must be saved as comma-delimited
                                                                 saved    comma-
     text.
       •    The first line of your feeds must contain field names. Each subsection of the Field Definitions section
                                                                          subsection
            corresponds to one of the files in a transit feed and lists the field names you may use in that file.
       •    All field names are case-sensitive.
                                 case-
       •    Field values may not contain tabs, carriage returns or new lines.
                                                                           lines.
       •    Field value in CSV file: quot;Contains quot;quot;quotesquot;quot;, commas and textquot;

     Field values should not contain HTML tags, comments or escape sequences.
                                                                   sequences.

     Name your feed files using the following naming conventions:
       •    agency.txt
       •    stops.txt
       •    routes.txt
       •    trips.txt
       •    stop_times.txt
       •    calendar.txt
       •    calendar_dates.txt
       •    fare_rules.txt
       •    fare_attributes.txt
       •    shapes.txt
       •    frequencies.txt
       •    transfers.txt

     Zip the files in your feed. Name the zip file google_transit.zip. Post the zip file in a directory named
                                                   google_transit.zip.
     YYYYMMDD, where YYYYMMDD is the earliest date of valid service included in any of the files.
     YYYYMMDD,
Source: Google.com, http://code.google.com/transit/spec/transit_feed_specification.html, September 2008.
        Google.com, http://code.google.com/transit/spec/transit_feed_specification.html,
IsoCountry
                                 Google Transit Feed                                                                       -country_id : nmtoken
                               Specification (2007/06/20)

                                                                                                                                                                                                       TM: AUTHORITY or
                                            © 2007
                                                                                                                                                                                                       OPERATOR
                                                                                                                               calendar
                                            service
                                                                    validity condition                           service_id
                                        -service_Id            1
                                                                                                                 Monday() : boolean
                                                                                                           *     Tuesday() : boolean
                                                                1                                                Wednesday() : boolean                                            agency
                                                                                                                 Thursday() : boolean
                                            1                                                                                                                    agency_id : string
                                                                     TM VALIDITY                                 Friday() : boolean
                                                                     CONDITION                                   Saturday() : boolean                            agency_name() : string
                                                                                                                 Sunday() : boolean                              agency_url() : url
                                                                                                                 start_date() : date                             agency_timezone() : timezone
                                                        exceptions                                               end_date() : date                               angency_lang() : isoLang


                                                                                                                 calendar_dates                                                   1
                                                                                                                                                «uses»
                                                                                                     service_id
                                                                                           *                                                                  «enumeration»
                                                                                                     date() : date                                          availabilityEnum          routes
                                                         TM: VEHICLE                                 exception_type() : availabilityEnum
                                        vehicle journeys JOURNEY                                                                                           1 = available                                TM: ROUTE
                                                                                                                                                           2 = notAvailable                             + LINE

                         TM: BLOCK
                                                                                                               trips
                                                                                                                                                                                      *
                                                                                       tripId : nmtoken
                                                                     block
                                                                         *             route_id() : nmtoken
                                                                                       service_id() : nmtoken                                       1                     route_id
                                                       block                *          trip_headsign() : string                           * route/line    route_id : nmtoken                              «uses»
                                                                                *
                                                                                       direction_id() : boolean
                         TM: LINK                 -block_id                                                                                               route_short_name() : string
                                                                        1              block_id() : nmtoken
                         PROJECTION                                                                                                                       route_long_name() : string
                                                                                       shape_id()
                                                                                                                                                          route_desc() : string                                  «enumeration»
                                                                                                                                                   1      route_type() : modeEnum                                 modeEnum
                                                                                                   calls   1                                              route_url() : url
                                                               link projection                                                                                                                                 0 = Bus
                                     0..1                                                                              TM: STOP IN                        route_color() : hexColourValue
                                                                                                                                                                                                               1 = Ferry
                                                                                                                       SEQUENCE                           route_text_color() : hexColourValue
                                                                                                                                                                                                               2 = Rail
                                                                                                                       + PASSING                                                                               3 = Subway
                                         shape                                                                         TIMES                                                                                   4 = Tram
                            shape_id : nmtoken                                                 *                                                                                                               5 = Cablecar
                            shape_pt_lat() : lat                                                                                                           TM: FARE                                            6 = Funicular
                            shape_pt_lon() : lon                                                                                                           PRODUCT
                                                                                           stop_times
                            shape_pt_sequence() : integer
                            shape_dist_travel() : distance             trip_id : nmtoken
                                                                       stop_id : nmtoken                                                                                                                     «enumeration»
                                                                       stop_sequence : stop_times                                             distance matrix              fare                          paymentMethodEnum
                                                                                                                                                         1                                             0 = onBoard
                                                                       arrival_time() : time                                                                     fare_id : nmtoken
                            TM: SCHEDULED                       *                                                                                                                                      1 = beforeBoarding
                                                        stop           departure_time() : time
                            STOP POINT
                                                                       pickup_type() : activityEnum
                                                                                                                                                                                                1
                                                                       drop_off_type() : activityEnum
                                                                                     «uses»                                                                                               fare price
                                                                                                                                                                                                                     «uses»
                                                                                                                                                                                               1
                                        stops                                                                              TM: DISTANCE                      rules
                               stop_id : nmtoken                               «enumeration»                               MATRIX                                                          fares_attributes
                                                                                activityEnum
                               stop_name() : string        1                                                                                                             fare_id : nmtoken
                               stop_desc() : string                          0 = Regular
                                                                             1 = NoPickup                                                          *                     price() : amount
                               stop_lat() : lat
                               stop_lon() : lon                              2 = DrtPhone                                                                                currency_type() : isoCurrency
                               zone_id() : nmtoken                           3 = DrtDriver                                                                           *   payment_method() : paymentMethodEnum
                                                                                                                                       fares_rules                       transfers() : transfersPermittedEnum
                               stop_url() : url
                                                tarrif zone                          origin zone                                fare_id : nmtoken                        transfer_duration() : seconds        «uses»
                                                                                                                                route_id : nmtoken
                                            *                               destination zone                                    origin_id() : nmtoken                             currency *
                                                0..1                                                                   *
                                                                                                                                destination_id() : nmtoken
                                                                                                                       *        contains_id() : nmtoken
                                                        zone                                                                                                              0..1                                «enumeration»
                                                  zone_id : nmtoken                 0..1                                                                                                                transfersPermittedEnum
                                                                                                                                          *
                                                                                                                                                                IsoCurrency                            0 = none
                           TM: TARIFF                                               0..1 contains tarrif zone zone                                                                                     1 = one
                                                                                                                                                         currency_type : isoCurrency
                           ZONE                                                                                                                                                                        2 = two
                                                         0..1                                                                                                                                          3 = unlimited




Source: The Google Transit Feed Specification – Capabilities and Limitations, Kizoom Limited; London, 2007.
Option A




           Option B
Issues
-   In some cases, Google Transit may suggest walking a little
    further if the overall trip time is reduced.

    Google Transit’s default routing time is set to real-time.

    Transfer points were not specified (this was later corrected).

    Route deviations are not included.

    Updating and testing route changes may take one to two
    weeks.

    Google Transit is not customizable.

    Communications with Google Transit team are through email.

    Google gets name recognition, where Brown County and Green
    Bay Metro do not.
Advantages of Google Transit
 You can search based on street address, street name,
 generalized area, or business name.

  Google provides web routing technology for free as opposed to
  paying thousands of dollars to maintain a network server.
•    Great for smaller transit systems.
•    Great for Metro call takers regarding transit routing.

  Google can provide web routing for commerce.
•   Example: A business may want to show how to get from
    Green Bay Metro to their business facility.

 Another transit guide option for existing and future riders.

 Green Bay will be known for its partnership with Google and for
 providing a service that can be accessed through the world wide
 web.

 We now have extensive GIS transit data (e.g. bus stops, time
 points, time frequencies, and fare information) for GIS and
 planning purposes.
Lessons Learned
The complexity of developing and planning the Google
Transit using GIS and implementing it as part of the
Brown County’s transportation geodatabase model.

The complexity of inputting, testing, and correcting the
Google Transit feeds. You may have to wait a couple of
weeks to make corrections and retest your feeds.

There are other ways to develop the Google Transit
feeds.
•   Excel download from Google Groups.
•   Data table approach.
•   Transit scheduling and operations software (e.g. GIRO’s
    Hastus Software).
Future Obstacles

Incorporating a workflow process that
includes GIS and tabular editing.
Updating time points and sequences
within GIS and tabular.
Adding limited-service routes, deviations,
and detours.
How to Get Started
Create a Google user account.
• https://www.google.com/accounts/NewAccount

Contact Google Transit.
• maps-transit-content@google.com

Print Google Transit specifications.
• http://code.google.com/transit/spec/transit_feed_specification.html

Download open source GTFS software.
• http://code.google.com/p/googletransitdatafeed/

Get involved with Google Groups.
• http://groups.google.com/
      Search for Google Transit

Brown County Planning Commission/MPO FTP
• ftp://ftp.co.brown.wi.us/ (Type this in your Windows Explore)
      User Name: MPO
      Password: BrownCounty
Google Transit Demo
                October 29, 2008




Brown County Planning Commission/Green Bay MPO
       Cole Runge, Principal Planner/MPO Director
          Lisa Conard, Planner (Transportation)
        Tim Hennig, Planner (Transportation/GIS)

            305 E. Walnut Street, Room 320
             Green Bay, Wisconsin 54301
                Phone: (920) 448-6480
        Web: www.co.brown.wi.us/planning.html

More Related Content

Similar to Green Bay Google Transit

Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
Ramu Palanki
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
OSLL
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
NLJUG
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
marpierc
 

Similar to Green Bay Google Transit (20)

Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
 
What's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability ExtensionWhat's New in ArcGIS 10.1 Data Interoperability Extension
What's New in ArcGIS 10.1 Data Interoperability Extension
 
Clustering WSDL Documents to Bootstrap the Discovery of Web Services
Clustering WSDL Documents to Bootstrap the Discovery of Web Services Clustering WSDL Documents to Bootstrap the Discovery of Web Services
Clustering WSDL Documents to Bootstrap the Discovery of Web Services
 
MCE GeoProcessing Services for ADM(IE): Self Validation of Spatial Data Input...
MCE GeoProcessing Services for ADM(IE): Self Validation of Spatial Data Input...MCE GeoProcessing Services for ADM(IE): Self Validation of Spatial Data Input...
MCE GeoProcessing Services for ADM(IE): Self Validation of Spatial Data Input...
 
Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)Mike Taulty OData (NxtGen User Group UK)
Mike Taulty OData (NxtGen User Group UK)
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12
 
Large scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at GrabLarge scale data capture and experimentation platform at Grab
Large scale data capture and experimentation platform at Grab
 
Scaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabScaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at Grab
 
Programming in C [Module One]
Programming in C [Module One]Programming in C [Module One]
Programming in C [Module One]
 
Webinar: ArangoDB 3.8 Preview - Analytics at Scale
Webinar: ArangoDB 3.8 Preview - Analytics at Scale Webinar: ArangoDB 3.8 Preview - Analytics at Scale
Webinar: ArangoDB 3.8 Preview - Analytics at Scale
 
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
Modularity and Domain Driven Design; a killer Combination? - Tom de Wolf & St...
 
C++ Generators and Property-based Testing
C++ Generators and Property-based TestingC++ Generators and Property-based Testing
C++ Generators and Property-based Testing
 
Go 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX GoGo 1.10 Release Party - PDX Go
Go 1.10 Release Party - PDX Go
 
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
Alexandria ACM Student Chapter | Specification & Verification of Data-Centric...
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science
 
U2 Dynamic Objects for JSON and XML
U2 Dynamic Objects for JSON and XMLU2 Dynamic Objects for JSON and XML
U2 Dynamic Objects for JSON and XML
 
Relaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked dataRelaxing global-as-view in mediated data integration from linked data
Relaxing global-as-view in mediated data integration from linked data
 
IBM Insight 2015 - 1823 - Geospatial analytics with dashDB in the cloud
IBM Insight 2015 - 1823 - Geospatial analytics with dashDB in the cloudIBM Insight 2015 - 1823 - Geospatial analytics with dashDB in the cloud
IBM Insight 2015 - 1823 - Geospatial analytics with dashDB in the cloud
 

Recently uploaded

Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 

Green Bay Google Transit

  • 1. Green Bay Google Transit October 29, 2008 Brown County Planning Commission/Green Bay MPO Cole Runge, Principal Planner/MPO Director Lisa Conard, Planner (Transportation) Tim Hennig, Planner (Transportation/GIS) Brown County Information Technology Department Carrie Borofka, Programmer Analyst Green Bay Metro Chris Phelps, Green Bay Metro Director Google Google Transit Team
  • 2. Brief History • In 2005, all of Green Bay Metro’s bus stops were mapped via GPS coordinates. This information was used as part of the Google Transit development (Thanks Eric Heidenreiter and the help from other interns).
  • 3. The Creation of Green Bay’s Google Transit Brown County Planning Commission/Green Bay MPO developed the Google Transit feeds using its geographic information system (GIS). • Additional GIS and tabular data was developed within a MS SQL Server/ArcSDE enterprise geodatabase environment. Implemented Google Transit feed specifications as part of Brown County’s transportation geodatabase model schema. Scripting data transformation services (DTS) of GIS and table data and data compiling the data into a CSV file format. Basically the data transfer is transfer automated based on Google’s specifications. Google provides open source development tools. • There are tools you can use to validate your feeds. • Schedule viewer program. • KML (Keyhole Markup Language) writer program that integrates with Google Earth that validates bus stop location and information. Networking is a must! • The Google team will work with you. • You can post questions or comments in the Google Transit Groups. • Networking amongst other Google Transit developers (e.g. Cities of Appleton, Fond du Lac, and Duluth, ECRPC, and BLRPC).
  • 4. GTF File Requirements All files in a Google Transit Feed Spec (GTFS) feed must be saved as comma-delimited saved comma- text. • The first line of your feeds must contain field names. Each subsection of the Field Definitions section subsection corresponds to one of the files in a transit feed and lists the field names you may use in that file. • All field names are case-sensitive. case- • Field values may not contain tabs, carriage returns or new lines. lines. • Field value in CSV file: quot;Contains quot;quot;quotesquot;quot;, commas and textquot; Field values should not contain HTML tags, comments or escape sequences. sequences. Name your feed files using the following naming conventions: • agency.txt • stops.txt • routes.txt • trips.txt • stop_times.txt • calendar.txt • calendar_dates.txt • fare_rules.txt • fare_attributes.txt • shapes.txt • frequencies.txt • transfers.txt Zip the files in your feed. Name the zip file google_transit.zip. Post the zip file in a directory named google_transit.zip. YYYYMMDD, where YYYYMMDD is the earliest date of valid service included in any of the files. YYYYMMDD, Source: Google.com, http://code.google.com/transit/spec/transit_feed_specification.html, September 2008. Google.com, http://code.google.com/transit/spec/transit_feed_specification.html,
  • 5.
  • 6.
  • 7. IsoCountry Google Transit Feed -country_id : nmtoken Specification (2007/06/20) TM: AUTHORITY or © 2007 OPERATOR calendar service validity condition service_id -service_Id 1 Monday() : boolean * Tuesday() : boolean 1 Wednesday() : boolean agency Thursday() : boolean 1 agency_id : string TM VALIDITY Friday() : boolean CONDITION Saturday() : boolean agency_name() : string Sunday() : boolean agency_url() : url start_date() : date agency_timezone() : timezone exceptions end_date() : date angency_lang() : isoLang calendar_dates 1 «uses» service_id * «enumeration» date() : date availabilityEnum routes TM: VEHICLE exception_type() : availabilityEnum vehicle journeys JOURNEY 1 = available TM: ROUTE 2 = notAvailable + LINE TM: BLOCK trips * tripId : nmtoken block * route_id() : nmtoken service_id() : nmtoken 1 route_id block * trip_headsign() : string * route/line route_id : nmtoken «uses» * direction_id() : boolean TM: LINK -block_id route_short_name() : string 1 block_id() : nmtoken PROJECTION route_long_name() : string shape_id() route_desc() : string «enumeration» 1 route_type() : modeEnum modeEnum calls 1 route_url() : url link projection 0 = Bus 0..1 TM: STOP IN route_color() : hexColourValue 1 = Ferry SEQUENCE route_text_color() : hexColourValue 2 = Rail + PASSING 3 = Subway shape TIMES 4 = Tram shape_id : nmtoken * 5 = Cablecar shape_pt_lat() : lat TM: FARE 6 = Funicular shape_pt_lon() : lon PRODUCT stop_times shape_pt_sequence() : integer shape_dist_travel() : distance trip_id : nmtoken stop_id : nmtoken «enumeration» stop_sequence : stop_times distance matrix fare paymentMethodEnum 1 0 = onBoard arrival_time() : time fare_id : nmtoken TM: SCHEDULED * 1 = beforeBoarding stop departure_time() : time STOP POINT pickup_type() : activityEnum 1 drop_off_type() : activityEnum «uses» fare price «uses» 1 stops TM: DISTANCE rules stop_id : nmtoken «enumeration» MATRIX fares_attributes activityEnum stop_name() : string 1 fare_id : nmtoken stop_desc() : string 0 = Regular 1 = NoPickup * price() : amount stop_lat() : lat stop_lon() : lon 2 = DrtPhone currency_type() : isoCurrency zone_id() : nmtoken 3 = DrtDriver * payment_method() : paymentMethodEnum fares_rules transfers() : transfersPermittedEnum stop_url() : url tarrif zone origin zone fare_id : nmtoken transfer_duration() : seconds «uses» route_id : nmtoken * destination zone origin_id() : nmtoken currency * 0..1 * destination_id() : nmtoken * contains_id() : nmtoken zone 0..1 «enumeration» zone_id : nmtoken 0..1 transfersPermittedEnum * IsoCurrency 0 = none TM: TARIFF 0..1 contains tarrif zone zone 1 = one currency_type : isoCurrency ZONE 2 = two 0..1 3 = unlimited Source: The Google Transit Feed Specification – Capabilities and Limitations, Kizoom Limited; London, 2007.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19. Option A Option B
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Issues - In some cases, Google Transit may suggest walking a little further if the overall trip time is reduced. Google Transit’s default routing time is set to real-time. Transfer points were not specified (this was later corrected). Route deviations are not included. Updating and testing route changes may take one to two weeks. Google Transit is not customizable. Communications with Google Transit team are through email. Google gets name recognition, where Brown County and Green Bay Metro do not.
  • 25. Advantages of Google Transit You can search based on street address, street name, generalized area, or business name. Google provides web routing technology for free as opposed to paying thousands of dollars to maintain a network server. • Great for smaller transit systems. • Great for Metro call takers regarding transit routing. Google can provide web routing for commerce. • Example: A business may want to show how to get from Green Bay Metro to their business facility. Another transit guide option for existing and future riders. Green Bay will be known for its partnership with Google and for providing a service that can be accessed through the world wide web. We now have extensive GIS transit data (e.g. bus stops, time points, time frequencies, and fare information) for GIS and planning purposes.
  • 26. Lessons Learned The complexity of developing and planning the Google Transit using GIS and implementing it as part of the Brown County’s transportation geodatabase model. The complexity of inputting, testing, and correcting the Google Transit feeds. You may have to wait a couple of weeks to make corrections and retest your feeds. There are other ways to develop the Google Transit feeds. • Excel download from Google Groups. • Data table approach. • Transit scheduling and operations software (e.g. GIRO’s Hastus Software).
  • 27. Future Obstacles Incorporating a workflow process that includes GIS and tabular editing. Updating time points and sequences within GIS and tabular. Adding limited-service routes, deviations, and detours.
  • 28. How to Get Started Create a Google user account. • https://www.google.com/accounts/NewAccount Contact Google Transit. • maps-transit-content@google.com Print Google Transit specifications. • http://code.google.com/transit/spec/transit_feed_specification.html Download open source GTFS software. • http://code.google.com/p/googletransitdatafeed/ Get involved with Google Groups. • http://groups.google.com/ Search for Google Transit Brown County Planning Commission/MPO FTP • ftp://ftp.co.brown.wi.us/ (Type this in your Windows Explore) User Name: MPO Password: BrownCounty
  • 29. Google Transit Demo October 29, 2008 Brown County Planning Commission/Green Bay MPO Cole Runge, Principal Planner/MPO Director Lisa Conard, Planner (Transportation) Tim Hennig, Planner (Transportation/GIS) 305 E. Walnut Street, Room 320 Green Bay, Wisconsin 54301 Phone: (920) 448-6480 Web: www.co.brown.wi.us/planning.html