38 #include <xercesc/parsers/SAXParser.hpp>
39 #include <xercesc/util/PlatformUtils.hpp>
40 #include <xercesc/util/TransService.hpp>
41 #include <xercesc/sax2/SAX2XMLReader.hpp>
58 #ifdef HAVE_INTERNAL // catchall for internal stuff
59 #include <internal/RouteAggregator.h>
60 #endif // have HAVE_INTERNAL
62 #ifdef CHECK_MEMORY_LEAKS
64 #endif // CHECK_MEMORY_LEAKS
82 WRITE_WARNING(
"Trying to set a weight for the unknown edge '" +
id +
"'.");
84 WRITE_ERROR(
"Trying to set a weight for the unknown edge '" +
id +
"'.");
97 ROEdge* e = myNet.getEdge(
id);
103 WRITE_WARNING(
"Trying to set a weight for the unknown edge '" +
id +
"'.");
105 WRITE_ERROR(
"Trying to set a weight for the unknown edge '" +
id +
"'.");
118 myLoaders(oc.exists(
"unsorted-input") && oc.getBool(
"unsorted-input") ? 0 :
DELTA_T),
131 throw ProcessError(
"Missing definition of network to load!");
134 throw ProcessError(
"The network file '" + file +
"' could not be found.");
148 throw ProcessError(
"The districts file '" + file +
"' could not be found.");
193 bool endReached =
false;
194 bool errorOccured =
false;
197 for (
SUMOTime time = firstStep; time < end && !errorOccured && !endReached; time +=
DELTA_T) {
211 #ifdef HAVE_INTERNAL // catchall for internal stuff
216 RouteAggregator::processAllRoutes(net, router);
237 for (std::vector<std::string>::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) {
242 std::string msg =
"The loader for " + optionName +
" from file '" + *fileIt +
"' could not be initialised;";
243 std::string reason = e.what();
244 if (reason !=
"Process Error" && reason !=
"") {
245 msg = msg +
"\n Reason: " + reason +
".";
247 msg = msg +
"\n (unknown reason).";
259 const std::string& measure,
bool useLanes) {
265 std::vector<SAXWeightsHandler::ToRetrieveDefinition*> retrieverDefs;
271 if (measure !=
"traveltime") {
272 std::string umeasure = measure;
273 if (measure ==
"CO" || measure ==
"CO2" || measure ==
"HC" || measure ==
"PMx" || measure ==
"NOx" || measure ==
"fuel") {
274 umeasure = measure +
"_perVeh";
282 for (std::vector<std::string>::const_iterator fileIt = files.begin(); fileIt != files.end(); ++fileIt) {
292 const std::map<std::string, ROEdge*>& edges = net.
getEdgeMap();
293 for (std::map<std::string, ROEdge*>::const_iterator i = edges.begin(); i != edges.end(); ++i) {
294 (*i).second->buildTimeLines(measure);