Skip to content

Querying ImageServer APIs that don't have WMS or tile servers #932

@tsutterley

Description

@tsutterley

Would it be possible to build a class to query ESRI ImageServer APIs (similar to an ImageMapLayer within ESRI leaflet)? I am wishing to query the Reference Elevation Map of Antarctica (REMA) and ArcticDEM that are both available through ESRI. While ArcticDEM does have a hillshade map available through WMS, there are many more layers available through the ImageServer. As far as I can tell, the capability to query these servers is currently missing in ipyleaflet.

The procedure would be to build a querying string with the bbox of the current map and a few parameters for the ImageServer API. I think it would be similar to the ImageOverlay class.

The complete list of parameters are:

  • 'bbox': bounding box for reducing image
  • 'size': width and height of the output image
  • 'f': response format ('image' streams the bytes directly)
  • 'format': image format (e.g. 'png')
  • 'transparent': transparency
  • 'bboxSR': EPSG code of the bounding box
  • 'imageSR': EPSG code of the output image (here the leaflet map projection)
  • 'pixelType': data type of the raster image (e.g. 'F32')
  • 'interpolation': method for interpolating to output
  • 'compressionQuality': lossy quality if using jpeg
  • 'bandIds': bands (and order of bands) to export
  • 'noData': pixel value representing no data
  • 'noDataInterpretation': how to interpret no data (all bands or single band)
  • 'renderingRule': rules (json) for rendering
  • 'mosaicRule': rules (json) for mosaicking
  • 'time': time instance or extent for image (unix time)

An example querying string is below.
https://elevation2.arcgis.com/arcgis/rest/services/Polar/AntarcticDEM/ImageServer/exportImage?bbox=-104.86324392412149%2C+-82.5699189540039%2C+-96.80920292433169%2C+-71.52713368167746&bboxSR=4326&imageSR=3031&format=png&pixelType=F32&f=image
which renders:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions