source: tmcsimulator/trunk/src/tmcsim/utilities/VehicleDetectionStation.java @ 276

Revision 276, 2.3 KB checked in by jdalbey, 7 years ago (diff)

BuildHighwayFile?.java: added some diagnostic messages.

Line 
1
2package tmcsim.utilities;
3
4import java.util.ArrayList;
5import java.util.List;
6import java.util.NoSuchElementException;
7import java.util.Scanner;
8
9/**
10 * Represent a single VDS, "a logical grouping of detectors" at a particular
11 * location in one direction.
12 * @author jdalbey
13 */
14public final class VehicleDetectionStation
15{
16    public final String id;
17    public final String fwy;
18    public final String dir;
19    public final String postmile;
20    public final String latitude;
21    public final String longitude;
22    public final String type;   // type of lanes being monitored
23    public final String street;
24    private String station_address; 
25    private List<String> laneList; // list of all lanes (loop detectors) that
26                                    // this VDS monitors.
27    /**
28     *  Constructor
29     * @param lineScanner A Scanner that uses tab as a delimiter for a single
30     * line of the vds meta file.
31     */
32    public VehicleDetectionStation(Scanner lineScanner)
33    {
34        id = lineScanner.next();
35        fwy = lineScanner.next();
36        dir = lineScanner.next();
37        lineScanner.next(); // skip District
38        lineScanner.next(); // skip Country
39        lineScanner.next(); // skip City
40        String raw_pm = lineScanner.next().trim();
41        // remove any postmile prefix, if it exists.
42        if (Character.isAlphabetic(raw_pm.charAt(0)))
43        {
44            raw_pm = raw_pm.substring(1);
45        }
46        postmile = raw_pm;
47        lineScanner.next(); // skip Abs_PM
48        latitude = lineScanner.next(); 
49        longitude = lineScanner.next(); 
50        lineScanner.next();   // skip length
51        type = lineScanner.next();   // skip type
52        lineScanner.next(); // skip lanes
53        street = lineScanner.next();  // TODO read street name correctly
54        laneList = new ArrayList<String>(); // list of lane descriptors   
55    }   
56    public void setStaAddr(String address)
57    {
58        this.station_address = address;
59    }
60    public String getStaAddr()
61    {
62        return this.station_address;
63    }
64    public void addLane(String laneDescription)
65    {
66        this.laneList.add(laneDescription);
67    }
68    public List getLaneList()
69    {
70        return laneList;
71    }
72   
73    @Override
74    public String toString()
75    {
76        return station_address + " " + fwy + " " + dir + " " + postmile;
77    }
78}
Note: See TracBrowser for help on using the repository browser.