Building a GTFS-Flex Feed from Published Stop Coordinates: Demand Responsive Transport in Yatomi City, Aichi, Japan
Abstract
Yatomi City (Aichi Prefecture, Japan) operates a demand-responsive transport service, Choisoko Yatomi, for which no GTFS feed is published. This record contains a GTFS-Flex feed for that service built from the city's published materials — its web pages, the service leaflet and its stop-location map — together with the R scripts that produced it and a Shiny application that searches trips between two stops. The city publishes its stop locations as a Google My Maps layer with coordinates and attributes, so the feed is produced by converting that layer with build_stops.R; no georeferencing is involved. The service parameters — Monday to Saturday, 08:00–18:00, closures on Sundays, national holidays and the year-end period, bookings from two weeks ahead up to 30 minutes before the ride by phone or online — are taken from the city's page and leaflet and set at the top of build_feed.R. The feed covers the 107 public-facility and business stops; residential stops are not written to the feed, and fares, membership and vehicle transfers between operating areas are not encoded. It passes the Canonical GTFS Schedule Validator 8.0.1 with no errors and is recognized as fixed-stops demand-responsive transit. The validator output is deposited unmodified, in both JSON and HTML form. This record is a companion to the Fuso Town feed (doi:10.5281/zenodo.22608420), where the same GTFS-Flex structure is reconstructed from a printed map. The application reads any GTFS-Flex feed with this file structure: the Yatomi feed is loaded at startup, the Fuso Town feed can be selected, and other feeds can be read by uploading a zip. Version 1.1 adds an English interface alongside the Japanese one. The deposited screenshot shows the application reading the published GTFS-Flex feed of Verkehrsverbund Berlin-Brandenburg. Live demo: https://moteki.shinyapps.io/yatomi_flex/ This feed was created independently by the author from published information. It is offered as a demonstration that a demand-responsive service can be represented in GTFS-Flex from public sources, and as a template for municipalities that publish stop coordinates. Inquiries about this feed should be directed to the author of this repository. Inquiries about the service itself should be directed to the city. Running the application. The application reads the feed and returns an estimated departure and arrival window for a chosen pair of stops, together with the road route. gtfsflex_viewer3.zip contains the application with the files it reads. The same package hosted on the author's website can be launched directly from R: shiny::runUrl("https://policyevaluation.net/gtfsflex/gtfsflex_viewer3.zip") app.R is also deposited on its own. The application requires the shiny, leaflet, dplyr, readr, httr, and jsonlite packages, and an internet connection for the OSRM routing endpoint set at the top of the script. Its interface is in Japanese, with an English option in the upper right of the page. Generative AI declaration. The feed, the scripts, the application and this description were drafted and edited with Claude (Anthropic). The feed and the validation results were produced by running the code. The author has checked them and takes responsibility for the content.