- Notifications
You must be signed in to change notification settings - Fork2
R package to estimate public transport emissions based on GTFS data
License
ipeaGIT/gtfs2emis
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
gtfs2emis is an R package to estimate the emission levels of publictransport vehicles based on General Transit Feed Specification (GTFS)data. The package requires two main inputs: i) public transport data inGTFS standard format; and ii) some basic information on fleetcharacteristics such as vehicle age, technology, fuel, and Euro stage.As it stands, the package estimates several pollutants (see table below)at high spatial and temporal resolutions. Pollution levels can becalculated for specific transport routes, trips, time of the day, or forthe transport system as a whole. The output with emission estimates canbe extracted in different formats, supporting analysis of how emissionlevels vary across space, time, and by fleet characteristics. A fulldescription of the methods used in the gtfs2emis model is presented inVieira, Pereira and Andrade(2022).
You can installgtfs2emis:
# From CRANinstall.packages("gtfs2emis")library(gtfs2emis)# or use the development version with latest featuresutils::remove.packages('gtfs2emis')devtools::install_github("ipeaGIT/gtfs2emis")library(gtfs2emis)
Thegtfs2emis package has two core functions.
transport_model()converts GTFS data into a GPS-like table withthe space-time positions and speeds of public transport vehicles.The only input required is aGTFS.zipfeed.emission_model()estimates hot-exhaust emissions based on fourinputs:
- the result from the
transport_model();
- the result from the
- a
data.framewith info on fleet characteristics;
- a
- a
stringindicating which emission factor model should be considered;
- a
- a
stringindicating which pollutants should be estimated.
- a
To help users analyze the output fromemission_model(), thegtfs2emis package has few functions:
emis_to_dt()to convert the output ofemission_model()fromlisttodata.table.emis_summary()to aggregate emission estimates by the time of theday, vehicle type, or road segment.emis_grid()to spatially aggregate emission estimates using anycustom spatial grid or polygons.
To illustrate functionality, the package includes small sample data setsof the public transport and fleet of Curitiba (Brazil), Detroit (USA),and Dublin (Ireland). Estimating the emissions of a given publictransport system usinggtfs2emis can be done in three simple steps, asfollows.
The first step is to use thetransport_model() function to convertGTFS data into a GPS-like table, so that we can get the space-timeposition and speed of each vehicle of the public transport system athigh spatial and temporal resolutions.
# read GTFS.zipgtfs_file<- system.file("extdata/irl_dub_gtfs.zip",package="gtfs2emis")gtfs<-gtfstools::read_gtfs(gtfs_file)# generate transport modeltp_model<- transport_model(gtfs_data=gtfs,spatial_resolution=100,parallel=TRUE)
The second step is to prepare adata.frame with some characteristicsof the public transport fleet. Note that different emission factormodels may require information on different fleet characteristics, suchas vehicle age, type, Euro standard, technology, and fuel. This can beeither: - A simple table with the overall composition of the fleet. Inthis case, thegtfs2emis will assume that fleet is homogeneouslydistributed across all routes; OR - A detailed table that (1) bringsinfo on the characteristics of each vehicle and, (2) tells theprobability with which each vehicle type is allocated to each transportroute.
Here is what a simple fleet table to be used with the EMEP-EEA emissionfactor model looks like:
fleet_file<- system.file("extdata/irl_dub_fleet.txt",package="gtfs2emis")fleet_df<- read.csv(fleet_file)fleet_df#> veh_type euro fuel N fleet_composition tech#> 1 Ubus Std 15 - 18 t III D 10 0.00998004 -#> 2 Ubus Std 15 - 18 t IV D 296 0.29540918 SCR#> 3 Ubus Std 15 - 18 t V D 148 0.14770459 SCR#> 4 Ubus Std 15 - 18 t VI D 548 0.54690619 DPF+SCR
In the final step, theemission_model() function to estimate hotexhaust emissions of our public transport system. Here, the user needsto pass the results fromtransport_model(), some fleet data asdescribed above, and select which emission factor model and pollutantsshould be considered (see the options available below). The output fromemission_model() is alist with severalvectors anddata.frameswith emission estimates and related information such as vehiclevariables (fuel,age,tech,euro,fleet_composition), travelvariables (slope,load,gps) or pollution (EF,emi).
emi_list<- emission_model(tp_model=tp_model,ef_model="ef_europe_emep",fleet_data=fleet_df,pollutant= c("NOx","PM10"))names(emi_list)#> [1] "pollutant" "veh_type" "euro"#> [4] "fuel" "tech" "slope"#> [7] "load" "speed" "EF"#> [10] "emi" "fleet_composition" "tp_model"
Currently, thegtfs2emis package provides a computational method toestimate running exhaust emissions factors based on the followingemission factor models:
- Brazil
- CETESB: 2019 model from the Environmental Company of Sao Paulo (CETESB)
- Europe
- EMEP/EEA:European Monitoring and Evaluation Programme, developed by theEuropean Environment Agency (EEA).
- United States
- EMFAC2017/CARB: California EmissionFactor model, developed by the California Air Resources Board(CARB).
- MOVES3/EPA: Vehicle EmissionSimulator, developed by the Environmental Protection Agency(EPA).
| Source | Pollutants |
|---|---|
| CETESB | CH4, CO, CO2, ETOH, FC (Fuel Consumption), FS (Fuel Sales), gCO2/KWH, gD/KWH, HC, KML, N2O, NH3, NMHC, NO, NO2, NOx, PM10 and RCHO |
| EMFAC2017/CARB | CH4, CO, CO2, N2O, NOx, PM10, PM25, ROG (Reactive Organic Gases), SOX, and TOG (Total Organic Gases) |
| EMEP/EEA | CH4, CO, CO2, EC, FC, N2O, NH3, NOx, PM10, SPN23 (#kWh), and VOC |
| MOVES3/EPA | CH4, CO, CO2, EC, HONO, N2O, NH3, NH4, NO, NO2, NO3, NOx, PM10, PM25, SO2, THC, TOG, and VOC |
| Source | Buses | Characteristics |
|---|---|---|
| CETESB | Micro, Standard, Articulated | Age, Fuel, EURO standard |
| EMEP/EAA | Micro, Standard, Articulated | Fuel, EURO standard, technology, load, slope |
| EMFAC2017/CARB | Urban Buses | Age, Fuel |
| MOVES3/EPA | Urban Buses | Age, Fuel |
gtfs2emis also provides emissions estimates from tire, brake andsurface wear using theEMEP/EEAmodel.The function estimates emissions of particulate matter (PM),encompassing black carbon (BC), which arises from distinct sources(tire, brake, and road surface wear). The focus is on primary particles,which refer to those that are directly emitted, rather than thosegenerated from the re-suspension of previously deposited material.
Check out the guides for learning everything there is to know about allthe different features:
There are several others transport emissions models available fordifferent purposes (see below). As of today,gtfs2emis is the onlymethod with the capability to estimate emissions of public transportsystems using GTFS data.
- R:vein Bottom-up and top-downinventory using GPS data.
- R:EmissV Top-down inventory.
- Python:PythonEmissDataJupyter notebook to estimate simple top-down emissions.
- Python:YETI YETI - Yet AnotherEmissions From Traffic Inventory
- Python:mobairbottom-up model using GPS data.
- Include cold-start, resuspension, and evaporative emissions factors
- Add railway emission factors
citation("gtfs2emis")#> To cite gtfs2emis in publications use:#>#> Vieira, J. P. B., Pereira, R. H. M., & Andrade, P. R. (2023). Estimating#> Public Transport Emissions from General Transit Feed Specification Data.#> Transportation Research Part D: Transport and Environment. Volume 119,#> 103757. https://doi.org/10.1016/j.trd.2023.103757#>#> A BibTeX entry for LaTeX users is#>#> @article{vieira2023estimating,#> title = {Estimating Public Transport Emissions from {{General Transit Feed Specification}} Data},#> author = {Vieira, Jo{\~a}o Pedro Bazzo and Pereira, Rafael H. M. and Andrade, Pedro R.},#> year = {2023},#> month = jun,#> journal = {Transportation Research Part D: Transport and Environment},#> volume = {119},#> pages = {103757},#> issn = {1361-9209},#> doi = {10.1016/j.trd.2023.103757},#> urldate = {2023-05-06},#> langid = {english},#> keywords = {Emission factors,Emission models,GTFS,Gtfs2emis,Public transport emissions,Urban bus}#> }
Thegtfs2emis package is developed by a team at the Institute forApplied Economic Research (IPEA) in collaboration from the NationalInstitute for Space Research (INPE), both from Brazil.
About
R package to estimate public transport emissions based on GTFS data
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.

