# Class WFSLayerClientSideIdentifyProvider

A query identify provider for WFSLayer that works with the graphics rendered on the map.

#### Hierarchy (view full)

- ClientSideIdentifyProvider
  - WFSLayerClientSideIdentifyProvider

#####
Index

### Constructors

constructor

### Methods

_applyTolerance
_count
_createQuery
_getClientSideLayerGraphics
_identify
_identifyMany
count
identify
isSupported

##
Constructors

### constructor

- new WFSLayerClientSideIdentifyProvider(): WFSLayerClientSideIdentifyProvider

- #### Returns WFSLayerClientSideIdentifyProvider

  Inherited from ClientSideIdentifyProvider.constructor

##
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>

  Inherited from ClientSideIdentifyProvider._applyTolerance

### `Protected`_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: ClientSideQueryableSublayerExtension | ClientSideIdentifiableLayerExtension

    The source to identify.

  - geometry: Geometry

    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>

  Inherited from ClientSideIdentifyProvider._count

### `Protected`_createQuery

- _createQuery(source, geometry, options, aggregateIds?): Query

- Creates a query object that gets passed into the LayerView.queryFeatures() function.

  #### Parameters

  - source: ClientSideQueryableSublayerExtension | ClientSideIdentifiableLayerExtension

    The source to query.

  - geometry: Geometry

    The geometry to query with.

  - options: IdentifyOptions

    Options for the query.

  - `Optional` aggregateIds: (string | number)[]

    The ObjectIds of cluster features to query with.

  #### Returns Query

  Inherited from ClientSideIdentifyProvider._createQuery

### `Protected`_getClientSideLayerGraphics

- _getClientSideLayerGraphics(source, geometry, options, geometryType?): Promise<Graphic[]>

- #### Parameters

  - source: ClientSideQueryableSublayerExtension | ClientSideIdentifiableLayerExtension
  - geometry: Geometry
  - options: IdentifyOptions
  - `Optional` geometryType: string

  #### Returns Promise<Graphic[]>

  Inherited from ClientSideIdentifyProvider._getClientSideLayerGraphics

### `Protected`_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: ClientSideQueryableSublayerExtension | ClientSideIdentifiableLayerExtension

    The source to identify.

  - geometry: Geometry

    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>

  Inherited from ClientSideIdentifyProvider._identify

### `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>

  Inherited from ClientSideIdentifyProvider._identifyMany

### 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.

  Inherited from ClientSideIdentifyProvider.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.

  Inherited from ClientSideIdentifyProvider.identify

### 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: Geometry
  - `Optional` options: IdentifyOptions

  #### Returns boolean

  Overrides ClientSideIdentifyProvider.isSupported