/* ------------------------------------------------------------------------- * file loading methods * ----------------------------------------------------------------------- */ void NILoader::loadXML(OptionsCont& oc) { // load nodes loadXMLType(new NIXMLNodesHandler(myNetBuilder.getNodeCont(), myNetBuilder.getTLLogicCont(), oc), oc.getStringVector("node-files"), "nodes"); // load the edges loadXMLType(new NIXMLEdgesHandler(myNetBuilder.getNodeCont(), myNetBuilder.getEdgeCont(), myNetBuilder.getTypeCont(), myNetBuilder.getDistrictCont(), myNetBuilder.getTLLogicCont(), oc), oc.getStringVector("edge-files"), "edges"); if (!deprecatedVehicleClassesSeen.empty()) { WRITE_WARNING("Deprecated vehicle class(es) '" + toString(deprecatedVehicleClassesSeen) + "' in input edge files."); } // load the connections loadXMLType(new NIXMLConnectionsHandler(myNetBuilder.getEdgeCont(), myNetBuilder.getTLLogicCont()), oc.getStringVector("connection-files"), "connections"); // load traffic lights (needs to come last, references loaded edges and connections) loadXMLType(new NIXMLTrafficLightsHandler( myNetBuilder.getTLLogicCont(), myNetBuilder.getEdgeCont()), oc.getStringVector("tllogic-files"), "traffic lights"); }
void NILoader::load(OptionsCont& oc) { // load types first NIXMLTypesHandler* handler = new NIXMLTypesHandler(myNetBuilder.getTypeCont()); loadXMLType(handler, oc.getStringVector("type-files"), "types"); // try to load height data so it is ready for use by other importers #ifdef HAVE_INTERNAL HeightMapper::loadIfSet(oc); #endif // try to load using different methods NIImporter_SUMO::loadNetwork(oc, myNetBuilder); NIImporter_RobocupRescue::loadNetwork(oc, myNetBuilder); NIImporter_OpenStreetMap::loadNetwork(oc, myNetBuilder); NIImporter_VISUM::loadNetwork(oc, myNetBuilder); NIImporter_ArcView::loadNetwork(oc, myNetBuilder); NIImporter_Vissim::loadNetwork(oc, myNetBuilder); NIImporter_DlrNavteq::loadNetwork(oc, myNetBuilder); NIImporter_OpenDrive::loadNetwork(oc, myNetBuilder); NIImporter_MATSim::loadNetwork(oc, myNetBuilder); NIImporter_ITSUMO::loadNetwork(oc, myNetBuilder); if (oc.getBool("tls.discard-loaded") || oc.getBool("tls.discard-simple")) { myNetBuilder.getNodeCont().discardTrafficLights(myNetBuilder.getTLLogicCont(), oc.getBool("tls.discard-simple"), oc.getBool("tls.guess-signals")); size_t removed = myNetBuilder.getTLLogicCont().getNumExtracted(); if (removed > 0) { WRITE_MESSAGE(" Removed " + toString(removed) + " traffic lights before loading plain-XML"); } } loadXML(oc); // check the loaded structures if (myNetBuilder.getNodeCont().size() == 0) { throw ProcessError("No nodes loaded."); } if (myNetBuilder.getEdgeCont().size() == 0) { throw ProcessError("No edges loaded."); } // report loaded structures WRITE_MESSAGE(" Import done:"); if (myNetBuilder.getDistrictCont().size() > 0) { WRITE_MESSAGE(" " + toString(myNetBuilder.getDistrictCont().size()) + " districts loaded."); } WRITE_MESSAGE(" " + toString(myNetBuilder.getNodeCont().size()) + " nodes loaded."); if (myNetBuilder.getTypeCont().size() > 0) { WRITE_MESSAGE(" " + toString(myNetBuilder.getTypeCont().size()) + " types loaded."); } WRITE_MESSAGE(" " + toString(myNetBuilder.getEdgeCont().size()) + " edges loaded."); if (myNetBuilder.getEdgeCont().getNoEdgeSplits() > 0) { WRITE_MESSAGE("The split of edges was performed " + toString(myNetBuilder.getEdgeCont().getNoEdgeSplits()) + " times."); } if (GeoConvHelper::getProcessing().usingGeoProjection()) { WRITE_MESSAGE("Proj projection parameters used: '" + GeoConvHelper::getProcessing().getProjString() + "'."); } }
/* ------------------------------------------------------------------------- * file loading methods * ----------------------------------------------------------------------- */ void NILoader::loadXML(OptionsCont& oc) { // load nodes loadXMLType(new NIXMLNodesHandler(myNetBuilder.getNodeCont(), myNetBuilder.getTLLogicCont(), oc), oc.getStringVector("node-files"), "nodes"); // load the edges loadXMLType(new NIXMLEdgesHandler(myNetBuilder.getNodeCont(), myNetBuilder.getEdgeCont(), myNetBuilder.getTypeCont(), myNetBuilder.getDistrictCont(), myNetBuilder.getTLLogicCont(), oc), oc.getStringVector("edge-files"), "edges"); // load the connections loadXMLType(new NIXMLConnectionsHandler(myNetBuilder.getEdgeCont(), myNetBuilder.getTLLogicCont()), oc.getStringVector("connection-files"), "connections"); // load traffic lights (needs to come last, references loaded edges and connections) loadXMLType(new NIXMLTrafficLightsHandler( myNetBuilder.getTLLogicCont(), myNetBuilder.getEdgeCont()), oc.getStringVector("tllogic-files"), "traffic lights"); }