code: def station_at_coords(self, lat, lon, limit=None):
          
          geo.assert_is_lon(lon)
          geo.assert_is_lat(lat)
          if limit is not None:
              assert isinstance(limit, int), "'limit' must be int or None"
              if limit < 1:
                  raise ValueError("'limit' must be None or greater than zero")
          params = {'lat': lat, 'lon': lon}
          if limit is not None:
              params['cnt'] = limit
          uri = http_client.HttpClient.to_url(FIND_STATION_URL,
                                              self._API_key,
                                              self._subscription_type,
                                              self._use_ssl)
          _, json_data = self._wapi.cacheable_get_json(uri, params=params)
          return self._parsers['station_list'].parse_JSON(json_data)
docs: Queries the OWM Weather API for weather stations nearest to the
          specified geographic coordinates (eg: latitude: 51.5073509,
          longitude: -0.1277583). A list of *Station* objects is returned,
          this instance encapsulates a last reported *Weather* object.
  
          :param lat: location's latitude, must be between -90.0 and 90.0
          :type lat: int/float
          :param lon: location's longitude, must be between -180.0 and 180.0
          :type lon: int/float
          :param cnt: the maximum number of *Station* items to be retrieved
              (default is ``None``, which stands for any number of items)
          :type cnt: int or ``None``
  
          :returns: a list of *Station* objects or ``None`` if station data is
              not available for the specified location
          :raises: *ParseResponseException* when OWM Weather API responses' data
              cannot be parsed, *APICallException* when OWM Weather API can not be
              reached