Beispiel #1
0
    def __init__(self):
        # Dictionary containing a street object for each street name (key)
        self.streets = dict()
        self.corresponding_intersections = dict()
        self.adjacent_street_names = dict()

        street_config_root = XmlParser.parse("streetconfig.xml").getroot()
        xml_street_list = street_config_root[0]
        for xml_street in xml_street_list:
            street = Street()
            street.street_name = xml_street.attrib['name']
            street.traffic_light_number = int(
                xml_street.attrib['trafficLightNumber'])
            for xml_street_child in xml_street.iter('RoadComponent'):
                start_point = MapPoint(int(xml_street_child[0].attrib['x']),
                                       int(xml_street_child[0].attrib['y']))
                end_point = MapPoint(int(xml_street_child[1].attrib['x']),
                                     int(xml_street_child[1].attrib['y']))
                road_component = RoadComponent(
                    heading=MapHeading[xml_street_child.attrib['heading']],
                    start=start_point,
                    end=end_point)
                street.road_component_list.append(road_component)
            # Insert adjacent streets
            self.adjacent_street_names[street.street_name] = list()
            for xml_adjacent_street in xml_street.iter('AdjacentStreet'):
                self.adjacent_street_names[street.street_name].append(
                    xml_adjacent_street.attrib['streetName'])
            # Append street to dictionary
            self.streets[street.street_name] = street

        self.build_intersections()