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: Adds a new landmark.
  
  Returns True if the landmark is successfully included. Otherwise, returns False.
docstr_tok: ["Adds","a","new","landmark",".","Returns","True","if","the","landmark","is","successfully","included",".","Otherwise",",","returns","False","."]
code: def add_landmark(
      self,
      landmark_id,
      tlid,
      from_road,
      to_road,
      from_lane,
      to_lane,
      link_index=-1,
  ):
      """
      Adds a new landmark.
  
      Returns True if the landmark is successfully included. Otherwise, returns False.
      """
      if link_index == -1:
          link_index = len(self.connections)
  
      def is_same_connection(c1, c2):
          return (
              c1.from_road == c2.from_road
              and c1.to_road == c2.to_road
              and c1.from_lane == c2.from_lane
              and c1.to_lane == c2.to_lane
          )
  
      connection = SumoTrafficLight.Connection(
          tlid, from_road, to_road, from_lane, to_lane, link_index
      )
      if any(
          [is_same_connection(connection, c) for c in self.connections]
      ):
          logging.warning(
              "Different landmarks controlling the same connection. Only one will be included."
          )
          return False
  
      self.add_connection(connection)
      self.add_parameter(link_index, landmark_id)
      return True
  
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 7 for calling the SumoTrafficLight obj's underlying member method code with example usage: obj.add_landmark(landmark_id, tlid, from_road, to_road, from_lane, to_lane, link_index) and returns: True, unknown, False