code: def from_string(cls, prjs):
          
          def parse(v):
              try:
                  return int(v)
              except ValueError:
                  pass
              try:
                  return float(v)
              except ValueError:
                  return v
  
          parts = [o.lstrip('+') for o in prjs.strip().split()]
  
          items = map(
              lambda kv: len(kv) == 2 and (kv[0], parse(kv[1])) or (kv[0], True),
              (p.split('=') for p in parts))
  
          return cls({k: v for k, v in items if '+'+k in PROJ4_PARAMS.keys()})
docs: Turn a PROJ.4 string into a mapping of parameters. Bare parameters
          like "+no_defs" are given a value of ``True``. All keys are checked
          against the ``all_proj_keys`` list.
  
          Args:
              prjs (str): A PROJ4 string.