class_docstr: Provide a SRTM download mechanism.
class_docstr_tok: ["Provide","a","SRTM","download","mechanism","."]
code: def url(self, format_dict):
      warnings.warn(
          "SRTM requires an account set up and log in to access. "
          "Use of this Downloader is likely to fail with HTTP 401 "
          "errors."
      )
  
      # override the url method, looking up the url from the
      # ``SRTMDownloader._SRTM_LOOKUP_MASK`` array
      lat = int(format_dict["y"][1:])
      # Change to co-latitude.
      if format_dict["y"][0] == "N":
          colat = 90 - lat
      else:
          colat = 90 + lat
  
      lon = int(format_dict["x"][1:4])
      # Ensure positive.
      if format_dict["x"][0] == "W":
          lon = 360 - lon
  
      if SRTMDownloader._SRTM_LOOKUP_MASK[lon, colat]:
          return (
              SRTMDownloader._SRTM_BASE_URL
              + "{y}{x}.SRTMGL{resolution}.hgt.zip"
          ).format(**format_dict)
      else:
          return None
  
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 2 for calling the SRTMDownloader obj's underlying member method code with example usage: obj.url(format_dict) and returns: unknown, None