Version: [4287] TfC Tools 2.4

Version 2.4:
• New GTFS editing workflow: edit the SDI source layers in QGIS, then
re-export GTFS — Refresh SDI is now the hub that validates edits and
rebuilds derived layers
• Pre-flight GTFS attribute validation in Refresh SDI — checks
stop/agency IDs, route_type, agency timezone, interval times, headways
and cross-layer foreign keys; reports issues in the log, with an
optional Strict validation mode that aborts on errors
• Safe key repairs in Refresh SDI (opt-in) — remaps agency_id stored
as a gid to its text code and coerces integer keys stored as "1.0"
back to INTEGER, fixing common foreign_key_violation causes
• Exported GeoPackages embed a default read-only QGIS edit form —
locks the recomputed transit_trips_view columns and adds
not-null/unique constraints on stop_id and agency_id
• Export SDI (PostGIS) now ships the transit_trips base table
(matching the RouteLab export), so Refresh SDI can fully rebuild
transit_trips_view after edits
• Refresh SDI recomputes trips_view terminal/vehicle/geometry-derived
columns from the view when the base table is absent (legacy
GeoPackages)
• Updated in-plugin help and User Guide for the editing workflow,
validation and key-repair options
Version 2.3:
• GIS2GTFS feed version bug fix — feed_name no longer silently used as
feed_version
• Interval attribution in Vehicle and Passenger Flow now ID-based
(onboard_instances.interval_id → transit_intervals.observer_id),
replacing timestamp bucketing
• 6-tier hierarchical occupancy imputation with per-cell confidence
fields (imputation_tier, imputation_method), replacing single-median
fallback
• Batch feature writing in memory layer export, fixing crashes on
large layers and pandas nullable type leaks
Version 2.2:
• Dynamic GTFS calendar derived from interval day-of-week flags,
replacing the hardcoded Ground_Daily / Ground_Weekdays services
• Per-interval trip expansion in GIS2GTFS, fixing duplicate
trip/start-time errors and incorrect arrival times when intervals
overlap
• New runtime library compatibility check at plugin load (warns on
out-of-range pandas, geopandas, shapely, numpy)
• Forward compatibility with pandas 3.0
• Vehicle and Passenger Flow joins now key on stable interval IDs
instead of interval names, robust to renames and legacy exports
Version 2.1:
• New advanced stop-extraction parameters exposed in RL2GPKG and
Refresh SDI
• New 6-tier OD travel-time estimation with fallback cascade, tagged
by calculation method
• Big performance improvements in Refresh SDI
• Smart Postgres refresh path
Version 2.0:
• New tools: RL2GPKG, SDI2GPKG, Revenue Estimator, Refresh SDI
• GeoPackage input supported alongside PostgreSQL
• Vehicle and Passenger Flow updates
• Optional fallback headway for null values
Version 1.1:
• Dynamic time intervals pulled directly from the database instead of
static “morning” and “afternoon” intervals
• Lighter plugin with fewer required libraries
• Help panel updated with clearer explanations and a link to the User
Guide PDF

yes

transportforcairo

2026-07-21T10:44:12.438462+00:00

3.40.0

3.99.0

None

no

Version management

Plugin details