docs: def to_string(self, format_str):
          '''
          Output lat, lon coordinates as string in chosen format
          Inputs:
              format (str) - A string of the form A%B%C where A, B and C are identifiers.
                Unknown identifiers (e.g. ' ', ', ' or '_' will be inserted as separators
                in a position corresponding to the position in format.
          Examples:
              >> palmyra = LatLon(5.8833, -162.0833)
              >> palmyra.to_string('D') # Degree decimal output
              ('5.8833', '-162.0833')
              >> palmyra.to_string('H% %D')
              ('N 5.8833', 'W 162.0833')
              >> palmyra.to_string('d%_%M')
              ('5_52.998', '-162_4.998')
          '''
          format2value = {'H': self.get_hemisphere(),
                          'M': abs(self.decimal_minute),
                          'm': int(abs(self.minute)),
                          'd': int(self.degree),
                          'D': self.decimal_degree,
                          'S': abs(self.second)}
          format_elements = format_str.split('%')
          coord_list = [str(format2value.get(element, element)) for element in format_elements]
          coord_str = ''.join(coord_list)
          if 'H' in format_elements: # No negative values when hemispheres are indicated
              coord_str = coord_str.replace('-', '')
          return coord_str