code: def convertShape(shapeString):
      
  
      cshape = []
      for pointString in shapeString.split():
          p = [float(e) for e in pointString.split(",")]
          if len(p) == 2:
              cshape.append((p[0], p[1], 0.))
          elif len(p) == 3:
              cshape.append(tuple(p))
          else:
              raise ValueError(
                  'Invalid shape point "%s", should be either 2d or 3d' % pointString)
      return cshape
docs: Convert xml shape string into float tuples.
  
      This method converts the 2d or 3d shape string from SUMO's xml file
      into a list containing 3d float-tuples. Non existant z coordinates default
      to zero. If shapeString is empty, an empty list will be returned.