class_docstr: This object holds the topology of a sumo net. Internally, the information is structured as
  follows:
  
      - topology: {
          (road_id, lane_id): [(successor_road_id, succesor_lane_id), ...], ...}
      - paths: {
          (road_id, lane_id): [
              ((in_road_id, in_lane_id), (out_road_id, out_lane_id)), ...
          ], ...}
      - odr2sumo_ids: {
          (odr_road_id, odr_lane_id): [(sumo_edge_id, sumo_lane_id), ...], ...}
class_docstr_tok: ["This","object","holds","the","topology","of","a","sumo","net",".","Internally",",","the","information","is","structured","as","follows",":","-","topology",":","{","(","road_id",",","lane_id",")",":","[","(","successor_road_id",",","succesor_lane_id",")",",","...","]",",","...","}","-","paths",":","{","(","road_id",",","lane_id",")",":","[","(","(","in_road_id",",","in_lane_id",")",",","(","out_road_id",",","out_lane_id",")",")",",","...","]",",","...","}","-","odr2sumo_ids",":","{","(","odr_road_id",",","odr_lane_id",")",":","[","(","sumo_edge_id",",","sumo_lane_id",")",",","...","]",",","...","}"]
code: def __init__(self, topology, paths, odr2sumo_ids):
      # Contains only standard roads.
      self._topology = topology
      # Contaions only roads that belong to a junction.
      self._paths = paths
      # Mapped ids between sumo and opendrive.
      self._odr2sumo_ids = odr2sumo_ids
  
imports: import argparse
  import bisect
  import collections
  import logging
  import shutil
  import subprocess
  import tempfile
  import lxml.etree
  import glob
  import os
  import sys
  import carla
  import sumolib
label_desc: Use image node_id 1 to create a new SumoTopology object from inherited base classes: object with example: obj = SumoTopology(topology, paths, odr2sumo_ids)