class_docstr: A source of SRTM data, which implements Cartopy's :ref:`RasterSource
  interface <raster-source-interface>`.
class_docstr_tok: ["A","source","of","SRTM","data",",","which","implements","Cartopy","'s",":","ref",":","`","RasterSource","interface","<","raster-source-interface",">","`","."]
docstr: Fetch SRTM elevation for the given projection and approximate extent.
docstr_tok: ["Fetch","SRTM","elevation","for","the","given","projection","and","approximate","extent","."]
code: def fetch_raster(self, projection, extent, target_resolution):
      """
      Fetch SRTM elevation for the given projection and approximate extent.
  
      """
      if not self.validate_projection(projection):
          raise ValueError(
              f"Unsupported projection for the "
              f"SRTM{self._resolution} source."
          )
  
      min_x, max_x, min_y, max_y = extent
      min_x, min_y = np.floor([min_x, min_y])
      nx = int(np.ceil(max_x) - min_x)
      ny = int(np.ceil(max_y) - min_y)
      skip = False
      if nx > self._max_tiles[0]:
          warnings.warn(
              f"Required SRTM{self._resolution} tile count ({nx}) exceeds "
              f"maximum ({self._max_tiles[0]}). Increase max_nx limit."
          )
          skip = True
      if ny > self._max_tiles[1]:
          warnings.warn(
              f"Required SRTM{self._resolution} tile count ({ny}) exceeds "
              f"maximum ({self._max_tiles[1]}). Increase max_ny limit."
          )
          skip = True
      if skip:
          return []
      else:
          img, _, extent = self.combined(min_x, min_y, nx, ny)
          return [LocatedImage(np.flipud(img), extent)]
  
imports: import io
  from pathlib import Path
  import warnings
  import numpy
  from cartopy import config
  import cartopy.crs
  from cartopy.io import Downloader, LocatedImage, RasterSource, fh_getter
label_desc: Use image node_id 3 for calling the _SRTMSource obj's underlying member method code with example usage: obj.fetch_raster(projection, extent, target_resolution) and returns: list, list