SUMO - Simulation of Urban MObility
|
#include <AGCity.h>
Public Member Functions | |
AGCity (RONet *net) | |
void | carAllocation () |
void | completeBusLines () |
void | completeStreets () |
void | generatePopulation () |
void | generateWorkPositions () |
const AGStreet & | getRandomStreet () |
const AGStreet & | getStreet (const std::string &edge) |
void | schoolAllocation () |
void | workAllocation () |
Data Fields | |
std::list< AGBusLine > | busLines |
std::vector< AGPosition > | cityGates |
std::list< AGHousehold > | households |
std::list< AGAdult > | peopleIncoming |
std::list< AGSchool > | schools |
AGDataAndStatistics & | statData |
std::vector< AGStreet > | streets |
std::vector< AGWorkPosition > | workPositions |
Private Member Functions | |
AGSchool | closestSchoolTo (AGPosition pos) |
void | generateIncomingPopulation () |
void | generateOutgoingWP () |
Private Attributes | |
int | nbrCars |
RONet * | net |
int | NrStreets |
bool | streetsCompleted |
AGCity::AGCity | ( | RONet * | net | ) | [inline] |
void AGCity::carAllocation | ( | ) |
Definition at line 325 of file AGCity.cpp.
References AGDataAndStatistics::busStations, AGDataAndStatistics::carRate, AGDataAndStatistics::getPeopleOlderThan(), AGDataAndStatistics::hhFarFromPT, households, AGDataAndStatistics::householdsNbr, AGDataAndStatistics::limitAgeChildren, nbrCars, statData, and SUMOReal.
Referenced by AGActivityGen::importInfoCity().
AGSchool AGCity::closestSchoolTo | ( | AGPosition | pos | ) | [private] |
void AGCity::completeBusLines | ( | ) |
Definition at line 161 of file AGCity.cpp.
References busLines.
Referenced by AGActivityGen::importInfoCity().
void AGCity::completeStreets | ( | ) |
generates streets: complete the "streets" vector using the DataAndStat's map edges.
Definition at line 55 of file AGCity.cpp.
References AGDataAndStatistics::factorInhabitants, AGDataAndStatistics::factorWorkPositions, RONet::getEdgeMap(), AGDataAndStatistics::getPeopleYoungerThan(), AGDataAndStatistics::incomingTraffic, AGDataAndStatistics::inhabitants, AGDataAndStatistics::limitAgeChildren, AGDataAndStatistics::limitAgeRetirement, net, NrStreets, statData, streets, streetsCompleted, SUMOReal, AGDataAndStatistics::unemployement, and AGDataAndStatistics::workPositions.
Referenced by getStreet(), and AGActivityGen::importInfoCity().
void AGCity::generateIncomingPopulation | ( | ) | [private] |
generates people from outside the city for incoming traffic generation
Definition at line 238 of file AGCity.cpp.
References AGDataAndStatistics::getRandomPopDistributed(), AGDataAndStatistics::incomingTraffic, AGDataAndStatistics::limitAgeChildren, AGDataAndStatistics::limitAgeRetirement, peopleIncoming, and statData.
Referenced by generatePopulation().
void AGCity::generateOutgoingWP | ( | ) | [private] |
generates workpositions on the city's gates (entrances) for the outgoing work traffic.
N_out = N_in * (ProportionOut / (1 - ProportionOut)) = N_out = N_in * (Noutworkers / (Nworkers - Noutworkers))
Definition at line 133 of file AGCity.cpp.
References cityGates, AGDataAndStatistics::getPeopleYoungerThan(), AGDataAndStatistics::getRandomCityGateByOutgoing(), getStreet(), AGDataAndStatistics::limitAgeChildren, AGDataAndStatistics::limitAgeRetirement, AGDataAndStatistics::outgoingTraffic, statData, SUMOReal, AGDataAndStatistics::unemployement, workPositions, and AGDataAndStatistics::workPositions.
Referenced by generateWorkPositions().
void AGCity::generatePopulation | ( | ) |
Definition at line 170 of file AGCity.cpp.
References generateIncomingPopulation(), AGDataAndStatistics::getPeopleOlderThan(), AGDataAndStatistics::getPeopleYoungerThan(), households, AGDataAndStatistics::limitAgeChildren, AGDataAndStatistics::limitAgeRetirement, nbrCars, statData, and streets.
Referenced by AGActivityGen::importInfoCity().
void AGCity::generateWorkPositions | ( | ) |
Definition at line 106 of file AGCity.cpp.
References generateOutgoingWP(), statData, streets, workPositions, and AGDataAndStatistics::workPositions.
Referenced by AGActivityGen::importInfoCity().
const AGStreet & AGCity::getRandomStreet | ( | ) |
returns a random street
Definition at line 389 of file AGCity.cpp.
References RandHelper::rand(), and streets.
Referenced by AGActivities::generateRandomTraffic(), AGFreeTime::typeFromHomeDay(), AGFreeTime::typeFromHomeEvening(), and AGFreeTime::typeFromHomeNight().
const AGStreet & AGCity::getStreet | ( | const std::string & | edge | ) |
manipulation functions
verify if it is the first time this function is called in this case, we have to complete the streets with the network edges this means that streets are completely loaded (no any more to be read from stat-file)
Definition at line 364 of file AGCity.cpp.
References completeStreets(), AGDataAndStatistics::consolidateStat(), statData, streets, and streetsCompleted.
Referenced by generateOutgoingWP(), AGActivityGenHandler::parseBusStation(), AGActivityGenHandler::parseCityGates(), and AGActivityGenHandler::parseSchool().
void AGCity::schoolAllocation | ( | ) |
Definition at line 246 of file AGCity.cpp.
References households.
Referenced by AGActivityGen::importInfoCity().
void AGCity::workAllocation | ( | ) |
people from the city
people from outside
Definition at line 267 of file AGCity.cpp.
References AGDataAndStatistics::AdultNbr, households, peopleIncoming, statData, workPositions, and AGDataAndStatistics::workPositions.
Referenced by AGActivityGen::importInfoCity().
std::list<AGBusLine> AGCity::busLines |
Definition at line 91 of file AGCity.h.
Referenced by completeBusLines(), AGActivities::generateActivityTrips(), and AGActivityGenHandler::parseBusLine().
std::vector<AGPosition> AGCity::cityGates |
Definition at line 93 of file AGCity.h.
Referenced by AGActivities::generateInOutTraffic(), generateOutgoingWP(), and AGActivityGenHandler::parseCityGates().
std::list<AGHousehold> AGCity::households |
Definition at line 92 of file AGCity.h.
Referenced by carAllocation(), AGActivities::generateActivityTrips(), generatePopulation(), schoolAllocation(), and workAllocation().
int AGCity::nbrCars [private] |
Definition at line 116 of file AGCity.h.
Referenced by carAllocation(), and generatePopulation().
RONet* AGCity::net [private] |
Definition at line 108 of file AGCity.h.
Referenced by completeStreets().
int AGCity::NrStreets [private] |
Definition at line 115 of file AGCity.h.
Referenced by completeStreets().
std::list<AGAdult> AGCity::peopleIncoming |
Definition at line 94 of file AGCity.h.
Referenced by generateIncomingPopulation(), AGActivities::generateInOutTraffic(), and workAllocation().
std::list<AGSchool> AGCity::schools |
Definition at line 90 of file AGCity.h.
Referenced by AGHousehold::allocateChildrenSchool(), AGActivityGenHandler::parseSchool(), and AGHousehold::regenerate().
Definition at line 87 of file AGCity.h.
Referenced by AGHousehold::allocateAdultsWork(), carAllocation(), completeStreets(), generateIncomingPopulation(), AGActivities::generateInOutTraffic(), generateOutgoingWP(), AGHousehold::generatePeople(), generatePopulation(), AGActivities::generateRandomTraffic(), AGActivities::generateTrips(), generateWorkPositions(), getStreet(), AGActivityGen::importInfoCity(), AGHousehold::isCloseFromPubTransport(), AGActivityGenHandler::parseBracket(), AGActivityGenHandler::parseBusStation(), AGActivityGenHandler::parseCityGates(), AGActivityGenHandler::parseClosingHour(), AGActivityGenHandler::parseGeneralCityInfo(), AGActivityGenHandler::parseOpeningHour(), AGActivityGenHandler::parseParameters(), AGActivityGenHandler::parseStation(), AGHousehold::regenerate(), AGHousehold::retiredHouseholders(), AGActivityGen::varDepTime(), and workAllocation().
std::vector<AGStreet> AGCity::streets |
Definition at line 88 of file AGCity.h.
Referenced by completeStreets(), generatePopulation(), generateWorkPositions(), getRandomStreet(), getStreet(), and AGActivityGenHandler::parseStreets().
bool AGCity::streetsCompleted [private] |
false until the function completeStreets is called this function completes streets and turn this parameter to true
Definition at line 113 of file AGCity.h.
Referenced by completeStreets(), and getStreet().
std::vector<AGWorkPosition> AGCity::workPositions |
Definition at line 89 of file AGCity.h.
Referenced by AGHousehold::allocateAdultsWork(), generateOutgoingWP(), generateWorkPositions(), AGHousehold::regenerate(), and workAllocation().