class_docstr: SumoTrafficLight holds all the necessary data to define a traffic light in sumo:
  
      * connections (tlid, from_road, to_road, from_lane, to_lane, link_index).
      * phases (duration, state, min_dur, max_dur, nex, name).
      * parameters.
class_docstr_tok: ["SumoTrafficLight","holds","all","the","necessary","data","to","define","a","traffic","light","in","sumo",":","*","connections","(","tlid",",","from_road",",","to_road",",","from_lane",",","to_lane",",","link_index",")",".","*","phases","(","duration",",","state",",","min_dur",",","max_dur",",","nex",",","name",")",".","*","parameters","."]
docstr: Generates sumo traffic light id based on the junction connectivity.
docstr_tok: ["Generates","sumo","traffic","light","id","based","on","the","junction","connectivity","."]
code: def generate_tl_id(from_edge, to_edge):
      """
      Generates sumo traffic light id based on the junction connectivity.
      """
      return "{}:{}".format(from_edge, to_edge)
  
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 2 for calling the SumoTrafficLight obj's underlying member method code with example usage: obj.generate_tl_id(from_edge, to_edge) and returns: str