docs: def get_nearest_points_dirty(self, center_point, radius, unit='km'):
          """
          return approx list of point from circle with given center and radius
          it uses geohash and return with some error (see GEO_HASH_ERRORS)
          :param center_point: center of search circle
          :param radius: radius of search circle
          :return: list of GeoPoints from given area
          """
          if unit == 'mi':
              radius = utils.mi_to_km(radius)
          grid_size = GEO_HASH_GRID_SIZE[self.precision]
          if radius > grid_size / 2:
              # radius is too big for current grid, we cannot use 9 neighbors
              # to cover all possible points
              suggested_precision = 0
              for precision, max_size in GEO_HASH_GRID_SIZE.items():
                  if radius > max_size / 2:
                      suggested_precision = precision - 1
                      break
              raise ValueError(
                  'Too large radius, please rebuild GeoHashGrid with '
                  'precision={0}'.format(suggested_precision)
              )
          me_and_neighbors = geohash.expand(self.get_point_hash(center_point))
          return chain(*(self.data.get(key, []) for key in me_and_neighbors))