<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.transit-data.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/</loc>
    <lastmod>2026-06-24T19:56:57.226Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/agency-metadata-and-feed-versioning-practices/</loc>
    <lastmod>2026-06-24T19:58:15.956Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/agency-metadata-and-feed-versioning-practices/best-practices-for-gtfs-agency-metadata/</loc>
    <lastmod>2026-06-24T19:56:43.190Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/coordinate-reference-systems-for-transit-data/</loc>
    <lastmod>2026-06-24T19:56:43.173Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/coordinate-reference-systems-for-transit-data/choosing-a-projected-crs-for-transit-analysis/</loc>
    <lastmod>2026-07-12T23:52:49.877Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/gtfs-validation-rules-and-common-schema-errors/</loc>
    <lastmod>2026-06-24T19:56:43.174Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/gtfs-validation-rules-and-common-schema-errors/how-to-validate-a-gtfs-feed-with-python/</loc>
    <lastmod>2026-06-24T19:56:43.187Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/mastering-stopstxt-and-stop_timestxt-relationships/</loc>
    <lastmod>2026-06-24T19:56:43.176Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/spatial-analysis-and-route-geometry/</loc>
    <lastmod>2026-07-12T23:53:48.720Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/spatial-analysis-and-route-geometry/extracting-route-geometry-from-gtfs-shapes/</loc>
    <lastmod>2026-07-12T23:53:48.729Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/spatial-analysis-and-route-geometry/geopandas-spatial-joins-for-transit-stops/</loc>
    <lastmod>2026-07-12T23:53:48.718Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/spatial-analysis-and-route-geometry/snapping-gtfs-stops-to-shapes-in-python/</loc>
    <lastmod>2026-07-12T23:53:48.725Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/timezone-handling-and-schedule-normalization/</loc>
    <lastmod>2026-06-24T19:56:43.175Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/timezone-handling-and-schedule-normalization/converting-local-transit-times-to-utc-in-python/</loc>
    <lastmod>2026-07-12T23:53:48.713Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/timezone-handling-and-schedule-normalization/handling-daylight-saving-time-in-gtfs-schedules/</loc>
    <lastmod>2026-07-12T23:53:48.721Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/understanding-gtfs-static-feed-structure/</loc>
    <lastmod>2026-06-24T19:56:43.179Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-feed-architecture-fundamentals/understanding-gtfs-static-feed-structure/mapping-gtfs-route-types-to-standard-categories/</loc>
    <lastmod>2026-07-12T23:53:48.726Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/</loc>
    <lastmod>2026-07-12T23:45:00.423Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/decoding-gtfs-realtime-protobuf-feeds/</loc>
    <lastmod>2026-07-12T23:53:48.715Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/decoding-gtfs-realtime-protobuf-feeds/parsing-gtfs-rt-protobuf-with-python/</loc>
    <lastmod>2026-07-12T23:53:48.724Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/decoding-gtfs-realtime-protobuf-feeds/polling-gtfs-realtime-feeds-efficiently/</loc>
    <lastmod>2026-07-12T23:53:48.716Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/handling-gtfs-service-alerts/</loc>
    <lastmod>2026-07-12T23:53:48.733Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/handling-gtfs-service-alerts/parsing-service-alerts-in-python/</loc>
    <lastmod>2026-07-12T23:53:48.734Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/matching-realtime-to-static-schedules/</loc>
    <lastmod>2026-07-12T23:53:48.717Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/matching-realtime-to-static-schedules/joining-tripupdates-to-stop-times/</loc>
    <lastmod>2026-07-12T23:53:48.722Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/processing-tripupdates-and-delays/</loc>
    <lastmod>2026-07-12T23:53:48.735Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/processing-tripupdates-and-delays/computing-arrival-predictions-from-tripupdates/</loc>
    <lastmod>2026-07-12T23:53:48.732Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/processing-tripupdates-and-delays/handling-skipped-stops-in-tripupdates/</loc>
    <lastmod>2026-07-12T23:53:48.738Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/tracking-vehicle-positions-in-realtime/</loc>
    <lastmod>2026-07-12T23:53:48.737Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/tracking-vehicle-positions-in-realtime/calculating-vehicle-speed-and-bearing-from-gtfs-rt/</loc>
    <lastmod>2026-07-12T23:53:48.730Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/tracking-vehicle-positions-in-realtime/matching-vehicle-positions-to-gtfs-trips/</loc>
    <lastmod>2026-07-12T23:53:48.731Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/</loc>
    <lastmod>2026-06-24T19:56:43.172Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/agency-metadata-and-feed-versioning-practices/</loc>
    <lastmod>2026-06-24T20:07:44.507Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/agency-metadata-and-feed-versioning-practices/automating-gtfs-version-control-with-python-scripts/</loc>
    <lastmod>2026-06-24T19:56:43.194Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/automating-feed-updates-with-gtfs-kit/</loc>
    <lastmod>2026-06-24T19:57:08.746Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/batch-processing-strategies-for-multi-agency-feeds/</loc>
    <lastmod>2026-06-24T19:56:43.179Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/batch-processing-strategies-for-multi-agency-feeds/merging-multiple-gtfs-feeds-in-python/</loc>
    <lastmod>2026-07-12T23:48:02.258Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/error-logging-and-data-quality-categorization/</loc>
    <lastmod>2026-06-25T07:48:14.688Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/error-logging-and-data-quality-categorization/detecting-duplicate-trips-in-gtfs-feeds/</loc>
    <lastmod>2026-07-12T23:49:33.653Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/exporting-gtfs-to-databases-and-warehouses/</loc>
    <lastmod>2026-07-12T23:56:37.310Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/exporting-gtfs-to-databases-and-warehouses/loading-gtfs-into-postgis-with-python/</loc>
    <lastmod>2026-07-12T23:48:25.039Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/exporting-gtfs-to-databases-and-warehouses/writing-gtfs-to-partitioned-parquet/</loc>
    <lastmod>2026-07-12T23:50:37.150Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/handling-frequency-based-vs-timetable-schedules/</loc>
    <lastmod>2026-06-24T19:56:43.186Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/handling-frequency-based-vs-timetable-schedules/calculating-service-headways-from-gtfs/</loc>
    <lastmod>2026-07-12T23:51:05.490Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/handling-frequency-based-vs-timetable-schedules/converting-gtfs-frequencytxt-to-exact-departure-times/</loc>
    <lastmod>2026-07-12T23:53:48.727Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/mastering-stopstxt-and-stop_timestxt-relationships/</loc>
    <lastmod>2026-06-24T20:09:07.794Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/mastering-stopstxt-and-stop_timestxt-relationships/fixing-missing-stop_timestxt-records-in-python/</loc>
    <lastmod>2026-07-12T23:53:48.739Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/memory-efficient-processing-for-large-feeds/</loc>
    <lastmod>2026-06-24T19:56:43.180Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/memory-efficient-processing-for-large-feeds/optimizing-pandas-memory-usage-for-transit-feeds/</loc>
    <lastmod>2026-07-12T23:44:40.875Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/parsing-gtfs-with-pandas-and-partridge/</loc>
    <lastmod>2026-06-24T19:56:43.181Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/parsing-gtfs-with-pandas-and-partridge/pandas-vs-polars-vs-partridge-for-large-feeds/</loc>
    <lastmod>2026-07-12T23:46:24.718Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/parsing-gtfs-with-pandas-and-partridge/step-by-step-guide-to-parsing-gtfs-with-partridge/</loc>
    <lastmod>2026-06-25T07:48:25.242Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
