SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

Similar a Green Bay Google Transit Feed Specification

Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questionsRamu Palanki
 
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 ExtensionSafe Software
 
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 ronson1989
 
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...Safe Software
 
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)ukdpe
 
Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12Geo2tag LBS platform training at FRUCT12
Geo2tag LBS platform training at FRUCT12OSLL
 
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 GrabRoman
 
Scaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabScaling Experimentation & Data Capture at Grab
Scaling Experimentation & Data Capture at GrabRoman
 
Programming in C [Module One]
Programming in C [Module One]Programming in C [Module One]
Programming in C [Module One]Abhishek Sinha
 
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 ArangoDB Database
 
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
 
C++ Generators and Property-based Testing
C++ Generators and Property-based TestingC++ Generators and Property-based Testing
C++ Generators and Property-based TestingSumant Tambe
 
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 GoRodolfo Carvalho
 
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...AlexACMSC
 
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCD
DevOps Fest 2020. Дмитрий Кудрявцев. Реализация GitOps на Kubernetes. ArgoCDDevOps_Fest
 
OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009OGCE Overview for SciDAC 2009
OGCE Overview for SciDAC 2009marpierc
 
20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data science20200402 oracle cloud infrastructure data science
20200402 oracle cloud infrastructure data scienceKenichi Sonoda
 
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 XMLRocket Software
 
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 dataAlessandro Adamou
 
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 cloudTorsten Steinbach
 

Similar a Green Bay Google Transit Feed Specification (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
 

Último

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Green Bay Google Transit Feed Specification

  • 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