Definition at line 19 of file VehicleReader.java.
Static Public Member Functions | |
| static void | read (String trace, List< String > vehicleId, Map< String, Double > vehicleFirstOcc, Map< String, Double > vehicleLastOcc) |
| static void ns2::VehicleReader::read | ( | String | trace, | |
| List< String > | vehicleId, | |||
| Map< String, Double > | vehicleFirstOcc, | |||
| Map< String, Double > | vehicleLastOcc | |||
| ) | [inline, static] |
working method
| trace | name of sumo trace file | |
| vehicleId | list of unique ids of vehicles in sumo simulation | |
| vehicleFirstOcc | map: vehicle id -> first occurence of vehicle in sumo | |
| vehicleLastOcc | map: vehicle id -> last occurence of vehicle in sumo |
Definition at line 27 of file VehicleReader.java.
00031 { 00032 try { 00033 InputStream in = new FileInputStream(trace); 00034 XMLInputFactory factory = XMLInputFactory.newInstance(); 00035 XMLStreamReader parser = factory.createXMLStreamReader(in); 00036 float time = -1; 00037 // parse trace file 00038 for (int event = parser.next(); event != XMLStreamConstants.END_DOCUMENT; event = parser.next()) { 00039 if (event == XMLStreamConstants.START_ELEMENT) { 00040 // get current time 00041 if (parser.getLocalName().equals("timestep")) { 00042 for (int attr = 0; attr < parser.getAttributeCount(); attr++) { 00043 String attrName = parser.getAttributeLocalName(attr); 00044 String value = parser.getAttributeValue(attr); 00045 if ("time".equals(attrName)) { 00046 time = Float.parseFloat(value); 00047 } 00048 } 00049 } 00050 // vehicle element found 00051 if (parser.getLocalName().equals("vehicle")) { 00052 String id = ""; 00053 for (int attr = 0; attr < parser.getAttributeCount(); attr++) { 00054 String attrName = parser.getAttributeLocalName(attr); 00055 String value = parser.getAttributeValue(attr); 00056 if ("id".equals(attrName)) { 00057 id = value; 00058 } 00059 } 00060 00061 // add id if not already added 00062 if (!vehicleId.contains(id)) { 00063 vehicleId.add(id); 00064 // id is new -> first occurence of id 00065 vehicleFirstOcc.put(id, new Double(time)); 00066 } 00067 // maybe last occurence of id 00068 vehicleLastOcc.put(id, new Double(time)); 00069 } 00070 } 00071 } 00072 parser.close(); 00073 } catch (XMLStreamException ex) { 00074 System.err.println(ex); 00075 } catch (IOException ex) { 00076 System.err.println(ex); 00077 } 00078 }
1.5.6