# Class: ImageArcGISRest

This documentation is for OpenLayers v10.9.0. The latest is v.

## ol/source/ImageArcGISRest~ImageArcGISRest

    import ImageArcGISRest from 'ol/source/ImageArcGISRest.js';

Source for data from ArcGIS Rest services providing single, untiled images. Useful when underlying map service has labels.

If underlying map service is not using labels, take advantage of ol image caching and use `TileArcGISRest` data source.

#### new ImageArcGISRest(options)

source/ImageArcGISRest.js, line 51

  Name | Type | Description
  --- | --- | ---
  `attributions` | AttributionLike | undefined | Attributions.
  `crossOrigin` | null | string | undefined | The `crossOrigin` attribute for loaded images. Note that you must provide a `crossOrigin` value if you want to access pixel data with the Canvas renderer. See https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image for more detail.
  `referrerPolicy` | ReferrerPolicy | undefined | The `referrerPolicy` property for loaded images.
  `hidpi` | boolean (defaults to true) | Use the `ol/Map#pixelRatio` value when requesting the image from the remote server.
  `imageLoadFunction` | LoadFunction | undefined | Optional function to load an image given a URL.
  `interpolate` | boolean (defaults to true) | Use interpolated values when resampling. By default, linear interpolation is used when resampling. Set to false to use the nearest neighbor instead.
  `params` | Object.<string, *> | undefined | ArcGIS Rest parameters. This field is optional. Service defaults will be used for any fields not specified. `FORMAT` is `PNG32` by default. `F` is `IMAGE` by default. `TRANSPARENT` is `true` by default. `BBOX`, `SIZE`, `BBOXSR`, and `IMAGESR` will be set dynamically. Set `LAYERS` to override the default service layer visibility. See https://developers.arcgis.com/rest/services-reference/export-map.htm for further reference.
  `projection` | ProjectionLike | undefined | Projection. Default is the view projection. The projection code must contain a numeric end portion separated by : or the entire code must form a valid ArcGIS SpatialReference definition.
  `ratio` | number (defaults to 1.5) | Ratio. `1` means image requests are the size of the map viewport, `2` means twice the size of the map viewport, and so on.
  `resolutions` | Array.<number> | undefined | Resolutions. If specified, requests will be made for these resolutions only.
  `url` | string | undefined | ArcGIS Rest service URL for a Map Service or Image Service. The url should include /MapServer or /ImageServer.

  ##### Fires:

  - `change` (BaseEvent) - Generic change event. Triggered when the revision counter is increased.
  - `error` (BaseEvent) - Generic error event. Triggered when an error occurs.
  - `imageloadend` (ImageSourceEvent) - Triggered when an image finishes loading.
  - `imageloaderror` (ImageSourceEvent) - Triggered if image loading results in an error.
  - `imageloadstart` (ImageSourceEvent) - Triggered when an image starts loading.
  - `propertychange` (ObjectEvent) - Triggered when a property is changed.

### Extends

- ImageSource

### Methods

#### dispatchEvent(event){boolean | undefined} inherited

events/Target.js, line 85

  Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a `type` property.

  Name | Type | Description
  --- | --- | ---
  `event` | BaseEvent | string | Event object.

  ##### Returns:

  `false` if anyone called preventDefault on the event object or if any of the listeners returned false.

#### get(key){*} inherited

Object.js, line 136

  Gets a value.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.

  ##### Returns:

  Value.

#### getAttributions(){Attribution} inherited

source/Source.js, line 129

  Get the attribution function for the source.

  ##### Returns:

  Attribution function.

#### getAttributionsCollapsible(){boolean} inherited

source/Source.js, line 137

  ##### Returns:

  Attributions are collapsible.

#### getImageLoadFunction(){LoadFunction}

source/ImageArcGISRest.js, line 179

  Return the image load function of the source.

  ##### Returns:

  The image load function.

#### getKeys(){Array.<string>} inherited

Object.js, line 149

  Get a list of object property names.

  ##### Returns:

  List of property names.

#### getParams(){Object}

source/ImageArcGISRest.js, line 136

  Get the user-provided params, i.e. those passed to the constructor through the "params" option, and possibly updated using the updateParams method.

  ##### Returns:

  Params.

#### getProjection(){Projection | null} inherited

source/Source.js, line 146

  Get the projection of the source.

  ##### Returns:

  Projection.

#### getProperties(){NoInfer.<Properties>} inherited

Object.js, line 158

  Get an object of all property names and values.

  ##### Returns:

  Object.

#### getRevision(){number} inherited

Observable.js, line 79

  Get the version number for this object. Each time the object is modified, its version number will be incremented.

  ##### Returns:

  Revision.

#### getState(){State} inherited

source/Source.js, line 170

  Get the state of the source, see `State` for possible states.

  ##### Returns:

  State.

#### getUrl(){string | undefined}

source/ImageArcGISRest.js, line 188

  Return the URL used for this ArcGIS source.

  ##### Returns:

  URL.

#### on(type, listener){EventsKey | Array<EventsKey>} inherited

Observable.js, line 152

  Listen for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.

  ##### Returns:

  Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

#### once(type, listener){EventsKey | Array<EventsKey>} inherited

Observable.js, line 164

  Listen once for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.

  ##### Returns:

  Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

#### refresh() inherited

source/Source.js, line 192

  Refreshes the source. The source will be cleared, and data from the server will be reloaded.

#### set(key, value, silent) inherited

Object.js, line 218

  Sets a value.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.
  `value` | * | Value.
  `silent` | boolean | undefined | Update without triggering an event.

#### setAttributions(attributions) inherited

source/Source.js, line 203

  Set the attributions of the source.

  Name | Type | Description
  --- | --- | ---
  `attributions` | AttributionLike | undefined | Attributions. Can be passed as `string`, `Array<string>`, `Attribution`, or `undefined`.

#### setImageLoadFunction(imageLoadFunction)

source/ImageArcGISRest.js, line 197

  Set the image load function of the source.

  Name | Type | Description
  --- | --- | ---
  `imageLoadFunction` | LoadFunction | Image load function.

#### setParams(params)

source/ImageArcGISRest.js, line 220

  Set the user-provided params.

  Name | Type | Description
  --- | --- | ---
  `params` | Object | Params.

#### setProperties(values, silent) inherited

Object.js, line 238

  Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

  Name | Type | Description
  --- | --- | ---
  `values` | Partial.<NoInfer.<Properties>> | Values.
  `silent` | boolean | undefined | Update without triggering an event.

#### setUrl(url)

source/ImageArcGISRest.js, line 207

  Set the URL to use for requests.

  Name | Type | Description
  --- | --- | ---
  `url` | string | undefined | URL.

#### un(type, listener) inherited

Observable.js, line 173

  Unlisten for a certain type of event.

  Name | Type | Description
  --- | --- | ---
  `type` | string | Array.<string> | The event type or array of event types.
  `listener` | function | The listener function.

#### unset(key, silent) inherited

Object.js, line 262

  Unsets a property.

  Name | Type | Description
  --- | --- | ---
  `key` | string | Key name.
  `silent` | boolean | undefined | Unset without triggering an event.

#### updateParams(params)

source/ImageArcGISRest.js, line 230

  Update the user-provided params.

  Name | Type | Description
  --- | --- | ---
  `params` | Object | Params.