# This file contains metadata for your plugin.

# This file should be included when you package your plugin.# Mandatory items:

[general]
name=TfC Tools
qgisMinimumVersion=3.40
description=A suite of tools by Transport for Cairo (TfC)
version=2.3
author=Transport for Cairo
email=info@transportforcairo.com

about=TfC Tools is a QGIS plugin suite developed by Transport for Cairo (TfC) to streamline and standardise transport data processing workflows.
    The suite provides user-friendly interfaces for common analytical tasks used in TfC’s research and transport data management projects.
    TfC Tools currently includes several tools organised into two groups:
    1. RouteLab Tools: tools that migrate field survey data from TfC’s RouteLab database into standardised tables, either in GeoPackage format or in a PostGIS Spatial Data Infrastructure (SDI).
       a. Export RouteLab to GeoPackage
       b. Export SDI (PostGIS) to GeoPackage
       c. RL2SDI (RouteLab to SDI Migration)
    2. GIS Tools: tools for transport network analysis, GTFS generation, and transport metrics.
       a. GIS2GTFS – converts GIS data into GTFS.
       b. Refresh SDI derived layers – after manual GIS edits
       c. Trip and Route Revenue Estimator
       d. Vehicle and Passenger Flow Estimator
    User Guide (PDF): https://github.com/transportforcairo/tfc_tools/blob/main/tfc_tools_user_guide.pdf

# Links
homepage=https://transportforcairo.com
repository=https://github.com/transportforcairo/tfc_tools
tracker=https://github.com/transportforcairo/tfc_tools/issues
# End of mandatory metadata

# Recommended items:
hasProcessingProvider=yes
changelog=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


# Tags are comma separated with spaces allowed
tags=transport,transit,gtfs,postgis,gis,qgis,flows,geopandas,sdx,sdI,python

category=Analysis
icon=icons/TfC-tools-icon.png
# experimental flag
experimental=False

# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False

# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=

Category of the plugin: Raster, Vector, Database or Web
# category=

# If the plugin can run on QGIS Server.
server=False

