# Class IdentifyProviderBase`Abstract`

A base implementation of tasks/identify/IdentifyProvider!IdentifyProvider.

#### Hierarchy (view full)

- IdentifyProviderBase
  - ArcGISSublayerIdentifyProvider
  - ArcGISSublayerQueryIdentifyProvider
  - CSVLayerClientSideQueryIdentifyProvider
  - ClientSideIdentifyProvider
  - FeatureLayerQueryIdentifyProvider
  - GeoJSONLayerClientSideQueryIdentifyProvider
  - GeoRSSLayerIdentifyProvider
  - GraphicsLayerQueryIdentifyProvider
  - HitTestIdentifyProvider
  - ImageryLayerIdentifyProvider
  - KMLLayerQueryIdentifyProvider
  - MapNotesSublayerQueryIdentifyProvider
  - RouteLayerQueryIdentifyProvider
  - SceneLayerQueryIdentifyProvider
  - SubtypeSublayerQueryIdentifyProvider
  - WFSLayerQueryIdentifyProvider
  - WMSLayerFeatureInfoIdentifyProvider
  - WMSSublayerIdentifyProvider

#### Implements

- IdentifyProvider

#####
Index

### Constructors

constructor

### Methods

_applyTolerance
_count
_identify
_identifyMany
count
identify
isSupported

##
Constructors

### constructor

- new IdentifyProviderBase(): IdentifyProviderBase

- #### Returns IdentifyProviderBase

##
Methods

### `Protected`_applyTolerance

- _applyTolerance(geometry, options?): Promise<GeometryUnion>

- Adds a tolerance to input geometries if configured in the options.

  #### Parameters

  - geometry: GeometryUnion

    The geometry to apply a tolerance to.

  - `Optional` options: IdentifyOptions

    The identify options object.

  #### Returns Promise<GeometryUnion>

### `Protected` `Abstract`_count

- _count(source, geometry, options, geometryType?): Promise<CountResult>

- Invoked to perform the actual work for count. Derived classes should override this method rather than count().

  #### Parameters

  - source: FeatureSource

    The source to identify.

  - geometry: GeometryUnion

    The geometry to match against.

  - options: IdentifyOptions

    Options that affect the identify operation.

  - `Optional` geometryType: string

    The geometry type before a tolerance buffer is applied.

  #### Returns Promise<CountResult>

### `Protected` `Abstract`_identify

- _identify(source, geometry, options, geometryType?): AsyncIterable<Feature, any, any>

- Invoked to perform the actual work for identify on a single source. Derived classes should override this method rather than identify().

  #### Parameters

  - source: FeatureSource

    The source to identify.

  - geometry: GeometryUnion

    The geometry to match against.

  - options: IdentifyOptions

    Options that affect the identify operation.

  - `Optional` geometryType: string

    The geometry type before a tolerance buffer is applied.

  #### Returns AsyncIterable<Feature, any, any>

### `Protected`_identifyMany

- _identifyMany(sources, geometry, options, geometryType?): AsyncIterable<Feature, any, any>

- Invoked to perform the work for identify. Default implementation calls _identify for each source. Derived classes can override this method to implement special handling for multiple sources.

  #### Parameters

  - sources: FeatureSource[]

    The sources to identify.

  - geometry: GeometryUnion

    The geometry to match against.

  - options: IdentifyOptions

    Options that affect the identify operation.

  - `Optional` geometryType: string

    The geometry type before a tolerance buffer is applied.

  #### Returns AsyncIterable<Feature, any, any>

### count

- count(source, geometry, options?): Promise<CountResult>

- Counts features in a given source that intersect the given geometry.

  #### Parameters

  - source: FeatureSource

    The source to identify.

  - geometry: GeometryUnion

    The geometry to match against.

  - `Optional` options: IdentifyOptions

    Options that affect the identify operation.

  #### Returns Promise<CountResult>

  An iterable of tasks/CountResult!CountResults containing count results. If canceled, the provider may reject the returned promise with an instance of support/Cancellable!Cancellation, though it may still fulfill with count results instead.

  Implementation of IdentifyProvider.count

### identify

- identify(source, geometry, options?): AsyncIterable<Feature, any, any>

- Identifies features in a given source that intersect the given geometry.

  #### Parameters

  - source: FeatureSource | FeatureSource[]

    The source to identify.

  - geometry: GeometryUnion

    The geometry to match against.

  - `Optional` options: IdentifyOptions

    Options that affect the identify operation.

  #### Returns AsyncIterable<Feature, any, any>

  An iterable of data/Feature!Features containing identify results. If canceled, the provider may reject the returned promise with an instance of support/Cancellable!Cancellation, though it may still fulfill with results instead.

  Implementation of IdentifyProvider.identify

### `Abstract` isSupported

- isSupported(source, geometry, options?): boolean

- Determines whether this provider can handle identify operations for the given feature source.

  #### Parameters

  - source: FeatureSource

    The feature source.

  - geometry: GeometryUnion
  - `Optional` options: IdentifyOptions

  #### Returns boolean

  Implementation of IdentifyProvider.isSupported