<?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-07-13T17:40:19.117Z</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-07-13T17:40:19.118Z</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-07-13T17:40:19.119Z</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-07-13T17:40:19.118Z</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-13T17:40:19.120Z</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-07-13T17:40:19.118Z</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-07-13T17:40:19.120Z</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-07-13T17:40:19.118Z</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-13T17:40:19.118Z</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-13T17:40:19.120Z</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-13T17:40:19.120Z</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-13T17:40:19.120Z</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-07-13T17:40:19.118Z</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-13T17:40:19.119Z</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-13T17:40:19.119Z</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-07-13T17:40:19.118Z</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-13T17:40:19.119Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/gtfs-realtime-integration/</loc>
    <lastmod>2026-07-13T17:40:19.117Z</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-13T17:40:19.117Z</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-13T17:40:19.119Z</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-13T17:40:19.119Z</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-13T17:40:19.117Z</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-13T17:40:19.119Z</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-13T17:40:19.117Z</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-13T17:40:19.120Z</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-13T17:40:19.118Z</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-13T17:40:19.120Z</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-13T17:40:19.120Z</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-13T17:40:19.117Z</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-13T17:40:19.119Z</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-13T17:40:19.119Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url><url>
    <loc>https://www.transit-data.com/python-parsing-data-normalization/</loc>
    <lastmod>2026-07-13T17:40:19.117Z</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-07-13T17:40:19.121Z</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-07-13T17:40:19.122Z</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-07-13T17:40:19.121Z</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-07-13T17:40:19.120Z</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-13T17:40:19.122Z</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-07-13T17:40:19.121Z</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-13T17:40:19.122Z</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-13T17:40:19.121Z</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-13T17:40:19.122Z</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-13T17:40:19.122Z</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-07-13T17:40:19.118Z</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-13T17:40:19.121Z</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-13T17:40:19.121Z</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-07-13T17:40:19.121Z</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-13T17:40:19.122Z</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-07-13T17:40:19.120Z</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-13T17:40:19.122Z</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-07-13T17:40:19.121Z</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-13T17:40:19.122Z</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-07-13T17:40:19.122Z</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
</urlset>
