{"id":22148458,"url":"https://github.com/mierune/gtfs-go","last_synced_at":"2025-07-26T02:32:31.271Z","repository":{"id":41882810,"uuid":"310197438","full_name":"MIERUNE/GTFS-GO","owner":"MIERUNE","description":"QGIS-Plugin to parse GTFS data, to show and aggregate routes and stops.","archived":false,"fork":false,"pushed_at":"2025-05-29T00:12:23.000Z","size":6747,"stargazers_count":121,"open_issues_count":10,"forks_count":11,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-05-29T01:24:29.780Z","etag":null,"topics":["gtfs","python","qgis","qgis-plugin","traffic-analysis"],"latest_commit_sha":null,"homepage":"https://mierune.co.jp","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MIERUNE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-11-05T05:17:00.000Z","updated_at":"2025-05-29T00:12:22.000Z","dependencies_parsed_at":"2023-10-20T17:06:00.235Z","dependency_job_id":"5703809e-0603-4524-b467-5a0c5a7c915e","html_url":"https://github.com/MIERUNE/GTFS-GO","commit_stats":{"total_commits":175,"total_committers":4,"mean_commits":43.75,"dds":0.0971428571428572,"last_synced_commit":"f1a05d57ee6f6da9ec9ef4b3313f887b200edea0"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/MIERUNE/GTFS-GO","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIERUNE%2FGTFS-GO","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIERUNE%2FGTFS-GO/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIERUNE%2FGTFS-GO/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIERUNE%2FGTFS-GO/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MIERUNE","download_url":"https://codeload.github.com/MIERUNE/GTFS-GO/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIERUNE%2FGTFS-GO/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267107752,"owners_count":24037319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gtfs","python","qgis","qgis-plugin","traffic-analysis"],"created_at":"2024-12-01T23:27:55.661Z","updated_at":"2025-07-26T02:32:30.790Z","avatar_url":"https://github.com/MIERUNE.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GTFS-GO\n\n![GitHub Release](https://img.shields.io/github/v/release/MIERUNE/GTFS-GO?label=release)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/MIERUNE/GTFS-GO/test.yml?label=unittest)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/MIERUNE/GTFS-GO/lint.yml?label=lint)\n\nQGIS Plugin to extract GTFS-data as GeoJSON and render routes and stops on the Map.\n\n\u003cimg src='./doc_imgs/overview1.png' width=\"100%\"\u003e  \n\u003cimg src='./doc_imgs/overview2.png' width=\"100%\"\u003e\n\n## Usage\n\n\u003cimg src=\"doc_imgs/mainwindow1.png\" width=\"80%\"\u003e\n\n### General\n\n#### Select datasource\n\n- local zipfile\n- download preset datasource\n\n### Processing\n\n#### Simple parsing - routes and stops\n\n\u003cimg src=\"doc_imgs/simpleparsing1.png\" width=\"80%\"\u003e\n\nGTFS tables has routes-data and stops-data but tables-structure is somewhat complicated.  \nThis plugin can parse them into simple routes and stops GeoJSON files, also set a beautiful style on layers.\n\n#### Traffic frequency aggregation\n\n\u003cimg src=\"doc_imgs/frequency1.png\" width=\"80%\"\u003e\n\nGTFS also has service time-table information. This plugin can aggregate traffic frequency, how many times do each PATH used. PATH means lines between two stops.  \nIn addition, it is possible to unify SIMILAR stops - having same parent_stop or same prefix or same stop_name and near to each.\n\n- numbers along with lines indicate a frequency of each lines, set on left side towards direction of path (UK traffic style)\n- larger number of frequency, lines become bolder\n- result.csv is a table comparing before and after unified stops.\n\n### unifying algorithm\n\nYou can see similar stops unified into one stop.\n\n- before\n\n    \u003cimg src=\"doc_imgs/frequency2.png\" width=\"80%\"\u003e\n\n- after\n\n    \u003cimg src=\"doc_imgs/frequency3.png\" width=\"80%\"\u003e\n\n#### stops unifying rules\n\nSmaller number of rules is prefered.\n\n1. parent_stops\n\n    - if stops have parent_stops value, unifying them into parent station\n    - new stop_id is parent's one\n\n2. stop_id prefix\n\n    - by defining delimiter, split stop_name into prefix and suffix, group same prefix stops\n    - new stop_id is the first stop's one in grouped stops ordered by stop_id ascending.\n\n3. stop_name and distance\n\n    - unifying stops having same stop_name and near to each in certain extent - 0.003 degree in terms of lonlat-plane\n    - new stop_id is the first stop's one in grouped stops ordered by stop_id ascending.\n\n#### unifying result\n\nIn result.csv, you can see stops unifying result.\n\n\u003cimg src=\"doc_imgs/resultcsv.png\" width=\"80%\"\u003e\n\n## Acknowledgements\n\nVersion2.0.0, in which the frequency aggregating function is added, got technically and financially supported by [Toyota Mobility Foundation](https://toyotamobilityfoundation.jp/) and [Traffic Brain](https://t-brain.jp/). Thank you for great contributions!\n\n## Contribution\n\n### Translation\n\n1. edit to `gtfs_go.pro` and add `GTFSGO_lang_encoding.ts` inside the `TRANSLATION` variable\n2. cd i18n\n3. generate the translation files with `pylupdate5 ../gtfs_go.pro` on debian you have to install pylupdate with `apt install pyqt5-dev-tools`\n4. edit the newly generated file GTFSGO_lang.ts to contain the new translations\n5. generate qm file with `lrelease GTFSGO_lang_encoding.ts`\n\n### new data sources\n\n- Some data sources can be added from [here](https://transitfeeds.com/search?q=gtfs) however you need to check they have all the [required](https://github.com/MIERUNE/GTFS-GO/blob/master/gtfs_parser/constants.py) .txt files\n\n### Tests\n\n- needs pandas\n\n```\npip install pandas\n```\n\n```\ncd GTFS-GO\npython -m unittest discover gtfs_parser/tests\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmierune%2Fgtfs-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmierune%2Fgtfs-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmierune%2Fgtfs-go/lists"}