Skip to content

Update Saskatoon, Sherbrooke, Guelph and Rouyn-Noranda feeds and add new agencies in Quebec#2026

Draft
JerPatterson wants to merge 7 commits into
transitland:mainfrom
JerPatterson:main
Draft

Update Saskatoon, Sherbrooke, Guelph and Rouyn-Noranda feeds and add new agencies in Quebec#2026
JerPatterson wants to merge 7 commits into
transitland:mainfrom
JerPatterson:main

Conversation

@JerPatterson
Copy link
Copy Markdown

  • Updated Saskatoon static and realtime links
  • Updated Sherbrooke realtime links
  • Updated Guelph static link (the old one has not been updated)
  • Updated Rouyn-Noranda static and realtime links (now using Zenbus)
  • Added 5 agencies using Zenbus in Quebec

@github-actions

This comment was marked as low quality.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

DMFR Format Check Results

This PR includes files that need formatting adjustments to follow the "opinionated" DMFR format.

Suggested Changes:

diff --git a/feeds/zenbus.net.dmfr.json b/feeds/zenbus.net.dmfr.json
index e610e16a..cd25c294 100644
--- a/feeds/zenbus.net.dmfr.json
+++ b/feeds/zenbus.net.dmfr.json
@@ -62,6 +62,46 @@
         "share_alike_optional": "no"
       }
     },
+    {
+      "id": "f-rouyn~noranda~qc~ca",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=rouynnoranda",
+        "static_historic": [
+          "https://www.donneesquebec.ca/recherche/dataset/41ae2192-51ec-4e20-9a1a-6dd1ffd43777/resource/c08636e0-5ce0-4bcf-9fb3-e3be76665c84/download/gtfs_20221122.zip"
+        ]
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-rouyn~noranda~qc~ca",
+          "name": "L'autobus de ville",
+          "website": "https://www.rouyn-noranda.ca/citoyens/transports/autobus",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-rouyn~noranda~qc~ca-rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-rouyn~noranda~qc~ca-rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=rouynnoranda",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=rouynnoranda"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
     {
       "id": "f-stc~pierre-de~saurel",
       "spec": "gtfs",
@@ -311,6 +351,43 @@
         "share_alike_optional": "no"
       }
     },
+    {
+      "id": "f-zenbus~boischatel",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=boischatel"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-zenbus~boischatel",
+          "name": "Municipalité de Boischatel",
+          "website": "https://www.boischatel.ca/citoyens/mon-millieu-de-vie/transport-en-commun",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-zenbus~boischatel~rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-zenbus~boischatel~rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=boischatel",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=boischatel"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
     {
       "id": "f-zenbus~bordeaux~navettes~aeroport",
       "spec": "gtfs",
@@ -597,6 +674,43 @@
         "share_alike_optional": "no"
       }
     },
+    {
+      "id": "f-zenbus~limocar",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=limocar"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-zenbus~limocar",
+          "name": "Limocar",
+          "website": "https://limocar.ca/",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-zenbus~limocar~rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-zenbus~limocar~rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=limocar",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=limocar"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
     {
       "id": "f-zenbus~mayenne",
       "spec": "gtfs",
@@ -672,6 +786,43 @@
         "share_alike_optional": "no"
       }
     },
+    {
+      "id": "f-zenbus~mobilite~charlevoix",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=charlevoix"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-zenbus~mobilite~charlevoix",
+          "name": "Mobilité Charlevoix",
+          "website": "https://mobilitecharlevoix.ca/",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-zenbus~mobilite~charlevoix~rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-zenbus~mobilite~charlevoix~rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=charlevoix",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=charlevoix"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
     {
       "id": "f-zenbus~mont~tremblant~rt",
       "spec": "gtfs-rt",
@@ -723,6 +874,80 @@
         "share_alike_optional": "no"
       }
     },
+    {
+      "id": "f-zenbus~mrc~brome~missisquoi",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=bromemissisquoi"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-zenbus~mrc~brome~missisquoi",
+          "name": "MRC Brome-Missisquoi",
+          "website": "https://www.mrcbm.qc.ca/transport/transport-collectif",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-zenbus~mrc~brome~missisquoi~rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-zenbus~mrc~brome~missisquoi~rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=bromemissisquoi",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=bromemissisquoi"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
+    {
+      "id": "f-zenbus~mrc~cote~de~beaupre",
+      "spec": "gtfs",
+      "urls": {
+        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=cote-de-beaupre"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      },
+      "operators": [
+        {
+          "onestop_id": "o-zenbus~mrc~cote~de~beaupre",
+          "name": "MRC de La Côte-de-Beaupré",
+          "website": "https://www.mrccotedebeaupre.com/transport-collectif-et-adapte/",
+          "associated_feeds": [
+            {
+              "feed_onestop_id": "f-zenbus~mrc~cote~de~beaupre~rt"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "id": "f-zenbus~mrc~cote~de~beaupre~rt",
+      "spec": "gtfs-rt",
+      "urls": {
+        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=cote-de-beaupre",
+        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=cote-de-beaupre"
+      },
+      "license": {
+        "spdx_identifier": "ODbL-1.0",
+        "url": "http://opendatacommons.org/licenses/odbl/summary/",
+        "share_alike_optional": "no"
+      }
+    },
     {
       "id": "f-zenbus~oloron~sainte~marie",
       "spec": "gtfs",
@@ -1318,231 +1543,6 @@
         "url": "http://opendatacommons.org/licenses/odbl/summary/",
         "share_alike_optional": "no"
       }
-    },
-    {
-      "id": "f-zenbus~limocar",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=limocar"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-zenbus~limocar",
-          "name": "Limocar",
-          "website": "https://limocar.ca/",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-zenbus~limocar~rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-zenbus~limocar~rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=limocar",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=limocar"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
-    },
-    {
-      "id": "f-zenbus~mrc~brome~missisquoi",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=bromemissisquoi"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-zenbus~mrc~brome~missisquoi",
-          "name": "MRC Brome-Missisquoi",
-          "website": "https://www.mrcbm.qc.ca/transport/transport-collectif",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-zenbus~mrc~brome~missisquoi~rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-zenbus~mrc~brome~missisquoi~rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=bromemissisquoi",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=bromemissisquoi"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
-    },
-    {
-      "id": "f-zenbus~boischatel",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=boischatel"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-zenbus~boischatel",
-          "name": "Municipalité de Boischatel",
-          "website": "https://www.boischatel.ca/citoyens/mon-millieu-de-vie/transport-en-commun",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-zenbus~boischatel~rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-zenbus~boischatel~rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=boischatel",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=boischatel"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
-    },
-    {
-      "id": "f-zenbus~mrc~cote~de~beaupre",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=cote-de-beaupre"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-zenbus~mrc~cote~de~beaupre",
-          "name": "MRC de La Côte-de-Beaupré",
-          "website": "https://www.mrccotedebeaupre.com/transport-collectif-et-adapte/",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-zenbus~mrc~cote~de~beaupre~rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-zenbus~mrc~cote~de~beaupre~rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=cote-de-beaupre",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=cote-de-beaupre"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
-    },
-    {
-      "id": "f-zenbus~mobilite~charlevoix",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=charlevoix"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-zenbus~mobilite~charlevoix",
-          "name": "Mobilité Charlevoix",
-          "website": "https://mobilitecharlevoix.ca/",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-zenbus~mobilite~charlevoix~rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-zenbus~mobilite~charlevoix~rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=charlevoix",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=charlevoix"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
-    },
-    {
-      "id": "f-rouyn~noranda~qc~ca",
-      "spec": "gtfs",
-      "urls": {
-        "static_current": "https://zenbus.net/gtfs/static/download.zip?dataset=rouynnoranda",
-        "static_historic": [
-          "https://www.donneesquebec.ca/recherche/dataset/41ae2192-51ec-4e20-9a1a-6dd1ffd43777/resource/c08636e0-5ce0-4bcf-9fb3-e3be76665c84/download/gtfs_20221122.zip"
-        ]
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      },
-      "operators": [
-        {
-          "onestop_id": "o-rouyn~noranda~qc~ca",
-          "name": "L'autobus de ville",
-          "website": "https://www.rouyn-noranda.ca/citoyens/transports/autobus",
-          "associated_feeds": [
-            {
-              "feed_onestop_id": "f-rouyn~noranda~qc~ca-rt"
-            }
-          ]
-        }
-      ]
-    },
-    {
-      "id": "f-rouyn~noranda~qc~ca-rt",
-      "spec": "gtfs-rt",
-      "urls": {
-        "realtime_vehicle_positions": "https://zenbus.net/gtfs/rt/poll.proto?file=vp&dataset=rouynnoranda",
-        "realtime_trip_updates": "https://zenbus.net/gtfs/rt/poll.proto?file=tu&dataset=rouynnoranda"
-      },
-      "license": {
-        "spdx_identifier": "ODbL-1.0",
-        "url": "http://opendatacommons.org/licenses/odbl/summary/",
-        "share_alike_optional": "no"
-      }
     }
   ]
 }

You can apply these changes by:

  1. Using a code editor
  2. Running transitland-lib locally
  3. Waiting for a maintainer to help

Thank you for contributing to Transitland Atlas! 🚀

@JerPatterson JerPatterson marked this pull request as draft May 9, 2026 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant