Routing and analysis engine for GTFS (General Transit Feed Specification) data
at main 125 lines 7.1 kB view raw
1// Generated by using Rcpp::compileAttributes() -> do not edit by hand 2// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393 3 4#include <Rcpp.h> 5 6using namespace Rcpp; 7 8#ifdef RCPP_USE_GLOBAL_ROSTREAM 9Rcpp::Rostream<true>& Rcpp::Rcout = Rcpp::Rcpp_cout_get(); 10Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get(); 11#endif 12 13// rcpp_convert_time 14int rcpp_convert_time(const std::string& hms); 15RcppExport SEXP _gtfsrouter_rcpp_convert_time(SEXP hmsSEXP) { 16BEGIN_RCPP 17 Rcpp::RObject rcpp_result_gen; 18 Rcpp::RNGScope rcpp_rngScope_gen; 19 Rcpp::traits::input_parameter< const std::string& >::type hms(hmsSEXP); 20 rcpp_result_gen = Rcpp::wrap(rcpp_convert_time(hms)); 21 return rcpp_result_gen; 22END_RCPP 23} 24// rcpp_time_to_seconds 25Rcpp::IntegerVector rcpp_time_to_seconds(std::vector <std::string> times); 26RcppExport SEXP _gtfsrouter_rcpp_time_to_seconds(SEXP timesSEXP) { 27BEGIN_RCPP 28 Rcpp::RObject rcpp_result_gen; 29 Rcpp::RNGScope rcpp_rngScope_gen; 30 Rcpp::traits::input_parameter< std::vector <std::string> >::type times(timesSEXP); 31 rcpp_result_gen = Rcpp::wrap(rcpp_time_to_seconds(times)); 32 return rcpp_result_gen; 33END_RCPP 34} 35// rcpp_make_timetable 36Rcpp::DataFrame rcpp_make_timetable(Rcpp::DataFrame stop_times, std::vector <std::string> stop_ids, std::vector <std::string> trip_ids); 37RcppExport SEXP _gtfsrouter_rcpp_make_timetable(SEXP stop_timesSEXP, SEXP stop_idsSEXP, SEXP trip_idsSEXP) { 38BEGIN_RCPP 39 Rcpp::RObject rcpp_result_gen; 40 Rcpp::RNGScope rcpp_rngScope_gen; 41 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stop_times(stop_timesSEXP); 42 Rcpp::traits::input_parameter< std::vector <std::string> >::type stop_ids(stop_idsSEXP); 43 Rcpp::traits::input_parameter< std::vector <std::string> >::type trip_ids(trip_idsSEXP); 44 rcpp_result_gen = Rcpp::wrap(rcpp_make_timetable(stop_times, stop_ids, trip_ids)); 45 return rcpp_result_gen; 46END_RCPP 47} 48// rcpp_csa 49Rcpp::DataFrame rcpp_csa(Rcpp::DataFrame timetable, Rcpp::DataFrame transfers, const size_t nstations, const size_t ntrips, const std::vector <size_t> start_stations, const std::vector <size_t> end_stations, const int start_time, const int max_transfers); 50RcppExport SEXP _gtfsrouter_rcpp_csa(SEXP timetableSEXP, SEXP transfersSEXP, SEXP nstationsSEXP, SEXP ntripsSEXP, SEXP start_stationsSEXP, SEXP end_stationsSEXP, SEXP start_timeSEXP, SEXP max_transfersSEXP) { 51BEGIN_RCPP 52 Rcpp::RObject rcpp_result_gen; 53 Rcpp::RNGScope rcpp_rngScope_gen; 54 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type timetable(timetableSEXP); 55 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type transfers(transfersSEXP); 56 Rcpp::traits::input_parameter< const size_t >::type nstations(nstationsSEXP); 57 Rcpp::traits::input_parameter< const size_t >::type ntrips(ntripsSEXP); 58 Rcpp::traits::input_parameter< const std::vector <size_t> >::type start_stations(start_stationsSEXP); 59 Rcpp::traits::input_parameter< const std::vector <size_t> >::type end_stations(end_stationsSEXP); 60 Rcpp::traits::input_parameter< const int >::type start_time(start_timeSEXP); 61 Rcpp::traits::input_parameter< const int >::type max_transfers(max_transfersSEXP); 62 rcpp_result_gen = Rcpp::wrap(rcpp_csa(timetable, transfers, nstations, ntrips, start_stations, end_stations, start_time, max_transfers)); 63 return rcpp_result_gen; 64END_RCPP 65} 66// rcpp_freq_to_stop_times 67Rcpp::DataFrame rcpp_freq_to_stop_times(Rcpp::DataFrame frequencies, Rcpp::DataFrame stop_times, const size_t nrows, const std::string sfx); 68RcppExport SEXP _gtfsrouter_rcpp_freq_to_stop_times(SEXP frequenciesSEXP, SEXP stop_timesSEXP, SEXP nrowsSEXP, SEXP sfxSEXP) { 69BEGIN_RCPP 70 Rcpp::RObject rcpp_result_gen; 71 Rcpp::RNGScope rcpp_rngScope_gen; 72 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type frequencies(frequenciesSEXP); 73 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stop_times(stop_timesSEXP); 74 Rcpp::traits::input_parameter< const size_t >::type nrows(nrowsSEXP); 75 Rcpp::traits::input_parameter< const std::string >::type sfx(sfxSEXP); 76 rcpp_result_gen = Rcpp::wrap(rcpp_freq_to_stop_times(frequencies, stop_times, nrows, sfx)); 77 return rcpp_result_gen; 78END_RCPP 79} 80// rcpp_transfer_nbs 81Rcpp::List rcpp_transfer_nbs(Rcpp::DataFrame stops, const double dlim); 82RcppExport SEXP _gtfsrouter_rcpp_transfer_nbs(SEXP stopsSEXP, SEXP dlimSEXP) { 83BEGIN_RCPP 84 Rcpp::RObject rcpp_result_gen; 85 Rcpp::RNGScope rcpp_rngScope_gen; 86 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type stops(stopsSEXP); 87 Rcpp::traits::input_parameter< const double >::type dlim(dlimSEXP); 88 rcpp_result_gen = Rcpp::wrap(rcpp_transfer_nbs(stops, dlim)); 89 return rcpp_result_gen; 90END_RCPP 91} 92// rcpp_traveltimes 93Rcpp::IntegerMatrix rcpp_traveltimes(Rcpp::DataFrame timetable, Rcpp::DataFrame transfers, const size_t nstations, const std::vector <size_t> start_stations, const int start_time_min, const int start_time_max, const bool minimise_transfers, const int max_traveltime); 94RcppExport SEXP _gtfsrouter_rcpp_traveltimes(SEXP timetableSEXP, SEXP transfersSEXP, SEXP nstationsSEXP, SEXP start_stationsSEXP, SEXP start_time_minSEXP, SEXP start_time_maxSEXP, SEXP minimise_transfersSEXP, SEXP max_traveltimeSEXP) { 95BEGIN_RCPP 96 Rcpp::RObject rcpp_result_gen; 97 Rcpp::RNGScope rcpp_rngScope_gen; 98 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type timetable(timetableSEXP); 99 Rcpp::traits::input_parameter< Rcpp::DataFrame >::type transfers(transfersSEXP); 100 Rcpp::traits::input_parameter< const size_t >::type nstations(nstationsSEXP); 101 Rcpp::traits::input_parameter< const std::vector <size_t> >::type start_stations(start_stationsSEXP); 102 Rcpp::traits::input_parameter< const int >::type start_time_min(start_time_minSEXP); 103 Rcpp::traits::input_parameter< const int >::type start_time_max(start_time_maxSEXP); 104 Rcpp::traits::input_parameter< const bool >::type minimise_transfers(minimise_transfersSEXP); 105 Rcpp::traits::input_parameter< const int >::type max_traveltime(max_traveltimeSEXP); 106 rcpp_result_gen = Rcpp::wrap(rcpp_traveltimes(timetable, transfers, nstations, start_stations, start_time_min, start_time_max, minimise_transfers, max_traveltime)); 107 return rcpp_result_gen; 108END_RCPP 109} 110 111static const R_CallMethodDef CallEntries[] = { 112 {"_gtfsrouter_rcpp_convert_time", (DL_FUNC) &_gtfsrouter_rcpp_convert_time, 1}, 113 {"_gtfsrouter_rcpp_time_to_seconds", (DL_FUNC) &_gtfsrouter_rcpp_time_to_seconds, 1}, 114 {"_gtfsrouter_rcpp_make_timetable", (DL_FUNC) &_gtfsrouter_rcpp_make_timetable, 3}, 115 {"_gtfsrouter_rcpp_csa", (DL_FUNC) &_gtfsrouter_rcpp_csa, 8}, 116 {"_gtfsrouter_rcpp_freq_to_stop_times", (DL_FUNC) &_gtfsrouter_rcpp_freq_to_stop_times, 4}, 117 {"_gtfsrouter_rcpp_transfer_nbs", (DL_FUNC) &_gtfsrouter_rcpp_transfer_nbs, 2}, 118 {"_gtfsrouter_rcpp_traveltimes", (DL_FUNC) &_gtfsrouter_rcpp_traveltimes, 8}, 119 {NULL, NULL, 0} 120}; 121 122RcppExport void R_init_gtfsrouter(DllInfo *dll) { 123 R_registerRoutines(dll, NULL, CallEntries, NULL, NULL); 124 R_useDynamicSymbols(dll, FALSE); 125}