SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie Green Bay Google Transit

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
 
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
 
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versionExecuting bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versioncamunda services GmbH
 

Ähnlich wie 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...
 
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
 
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later versionExecuting bpmn 2.0 with j bpm 3 or (at your option) any later version
Executing bpmn 2.0 with j bpm 3 or (at your option) any later version
 

Kürzlich hochgeladen

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
[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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Kürzlich hochgeladen (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.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
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

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