[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit) / [welllog](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog) / [data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#data) / [LogAbstractData](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logabstractdata) / LogAbstractData

# Class: LogAbstractData

[data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#data).[LogAbstractData](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logabstractdata).LogAbstractData

Define abstract Log data

## Hierarchy

- [`EventDispatcher`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher)
↳ **`LogAbstractData`**
↳↳ [`AccumulationCycleData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.accumulationcycledata.accumulationcycledata)
↳↳ [`LogCurveDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logcurvedatasource.logcurvedatasource)
↳↳ [`LogData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logdata.logdata)


## Table of contents

Constructors
- [new LogAbstractData()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata.md#new logabstractdata())


Methods
| [calculateNeatLimits](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#calculateneatlimits) | [clear](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#clear) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#dispose) |
|  --- | --- | --- |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getclassname) | [getDataOrder](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getdataorder) | [getDepth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getdepth) |
| [getDepths](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getdepths) | [getIndexAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getindexat) | [getIndexUnit](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getindexunit) |
| [getMaxDepth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getmaxdepth) | [getMaxMeaningDepth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getmaxmeaningdepth) | [getMaxValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getmaxvalue) |
| [getMinDepth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getmindepth) | [getMinMeaningDepth](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getminmeaningdepth) | [getMinValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getminvalue) |
| [getName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getname) | [getNearestIndexAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getnearestindexat) | [getSize](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getsize) |
| [getState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getstate) | [getTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#gettimestamp) | [getValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getvalue) |
| [getValueAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getvalueat) | [getValueInRange](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getvalueinrange) | [getValueUnit](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getvalueunit) |
| [getValues](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getvalues) | [hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#haseventlistener) | [isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#isdisposed) |
| [isForwardOnly](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#isforwardonly) | [isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#issilent) | [notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#notify) |
| [off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#off) | [on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#on) | [requestData](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#requestdata) |
| [resumeUpdate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#resumeupdate) | [setIndexUnit](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setindexunit) | [setName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setname) |
| [setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setsilent) | [setState](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setstate) | [setValue](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setvalue) |
| [setValueUnit](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#setvalueunit) | [suspendUpdate](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#suspendupdate) | [update](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#update) |
| [updateDataStatistics](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#updatedatastatistics) | [updateTimeStamp](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#updatetimestamp) | [findValueAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#findvalueat) |
| [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#getclassname-1) | [interpolateValueAt](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata#interpolatevalueat) |


## Contents

Constructors
#### new LogAbstractData()

• `Protected` **new LogAbstractData**()

#### Overrides

EventDispatcher.constructor

Methods
#### calculateNeatLimits

▸ `Abstract` **calculateNeatLimits**(`logScale`, `centerOnZeroOnNegativeMin`, `displayUnit`): `number`[]

Return an array of neat min and max

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `logScale` | `boolean` | scale log scale |
| `centerOnZeroOnNegativeMin` | `boolean` | If negative and positive values, center around 0 |
| `displayUnit` | `string` | [`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit) | displayed unit |


#### Returns

`number`[]

#### clear

▸ `Abstract` **clear**(): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Clear log data. Removes all samples and reset depth limits

#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### dispose

▸ **dispose**(): `void`

Dispose.

#### Returns

`void`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#dispose)

#### getClassName

▸ **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#getclassname)

#### getDataOrder

▸ `Abstract` **getDataOrder**(): [`Order`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#order)

Return the order of the log data

#### Returns

[`Order`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.util#order)

#### getDepth

▸ **getDepth**(`index`): `number`

Return depth by index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | index at the depth |


#### Returns

`number`

#### getDepths

▸ `Abstract` **getDepths**(): `number`[]

Return an array of depths

#### Returns

`number`[]

#### getIndexAt

▸ **getIndexAt**(`depth`, `fromIndex?`, `toIndex?`): `number`

Return index for specified depth

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the index |
| `Optional` `fromIndex` | `number` | index of sample in depths |
| `Optional` `toIndex` | `number` | index of sample in depths |


#### Returns

`number`

#### getIndexUnit

▸ `Abstract` **getIndexUnit**(): [`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit)

Return the value unit

**`Throws`**

when this method is not implemented

#### Returns

[`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit)

#### getMaxDepth

▸ `Abstract` **getMaxDepth**(): `number`

Return maximum depth

**`Throws`**

when this method is not implemented

#### Returns

`number`

#### getMaxMeaningDepth

▸ `Abstract` **getMaxMeaningDepth**(): `number`

Return maximum Meaning depth (last depth with value)

#### Returns

`number`

#### getMaxValue

▸ `Abstract` **getMaxValue**(): `number`

Return maximum data value

#### Returns

`number`

#### getMinDepth

▸ `Abstract` **getMinDepth**(): `number`

Return minimum depth

**`Throws`**

when this method is not implemented

#### Returns

`number`

#### getMinMeaningDepth

▸ `Abstract` **getMinMeaningDepth**(): `number`

Return minimum Meaning depth (first depth with value)

#### Returns

`number`

#### getMinValue

▸ `Abstract` **getMinValue**(): `number`

Return minimum data value

#### Returns

`number`

#### getName

▸ `Abstract` **getName**(): `string`

Return name of the data

#### Returns

`string`

#### getNearestIndexAt

▸ **getNearestIndexAt**(`depth`, `fromIndex?`, `toIndex?`): `number`

Return nearest index for specified depth

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the index |
| `Optional` `fromIndex` | `number` | index of sample in depths |
| `Optional` `toIndex` | `number` | index of sample in depths |


#### Returns

`number`

#### getSize

▸ `Abstract` **getSize**(): `number`

Return the count of the samples

#### Returns

`number`

#### getState

▸ **getState**(): [`LogDataState`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logdatastate)

Return state

#### Returns

[`LogDataState`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logdatastate)

#### getTimeStamp

▸ **getTimeStamp**(): `number`

Return the value to indicate if data source was changed

#### Returns

`number`

#### getValue

▸ **getValue**(`index`): `number`

Return value by index

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | index of the sample in the array |


#### Returns

`number`

#### getValueAt

▸ **getValueAt**(`depth`, `fromIndex?`, `toIndex?`, `interpolation?`, `interpolationMode?`): `number`

Return the value matching the given depth or NaN if the given depth is out of the logdata depth range.

If the depths are strictly increasing:

- The returned value will be interpolated when necessary. See example 1


If the depths are not strictly increasing but never decreasing:

- The value returned will be the first one found (in the insertion order). See example 2
- The value returned will be interpolated between the last one found and its closest larger neighbor. See example 2


If the depths are not always increasing (not forward only):

- The value returned will be the last one found (in the insertion order). See example 3
- The value returned will be interpolated between the first one found and its closest larger neighbor. See example 3


Examples assume the default linear interpolation

**`Example`**

```ts
// Depth Value
// 0      0
// 100    1
// 200    2

getValueAt(100) // -&gt; 1
getValueAt(150) // -&gt; 1.5
```

**`Example`**

```ts
// Depth Value
// 0      0
// 100    1
// 100    2
// 200    3

getValueAt(100) // -&gt; 1
getValueAt(150) // -&gt; 2.5
```

**`Example`**

```ts
// Depth Value
// 0      0
// 100    1
// 200    2
// 100    3

getValueAt(100) // -&gt; 3
getValueAt(150) // -&gt; 1.5
```

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the value |
| `Optional` `fromIndex` | `number` | index of sample in depths |
| `Optional` `toIndex` | `number` | index of sample in depths |
| `Optional` `interpolation` | [`InterpolationType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationtype) | interpolation type for the value |
| `Optional` `interpolationMode` | [`InterpolationMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationmode) | interpolation mode for the value |


#### Returns

`number`

The interpolated value or Number.NaN if outside the range

#### getValueInRange

▸ `Abstract` **getValueInRange**(`depth`, `prev`, `next`): `number`

Return value by depth, using linear interpolation if necessary.
See LogAbstractData.findValueAt.

**`Throws`**

when this method is not implemented

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the value |
| `prev` | `number` | The index of the largest previous depth |
| `next` | `number` | The index of the smallest following depth |


#### Returns

`number`

#### getValueUnit

▸ `Abstract` **getValueUnit**(): [`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit)

Return the depth unit

**`Throws`**

when this method is not implemented

#### Returns

[`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit)

#### getValues

▸ `Abstract` **getValues**(): `number`[]

Return an array of values

#### Returns

`number`[]

#### hasEventListener

▸ **hasEventListener**(`type`, `callback?`): `boolean`

Check if a list of event listeners for this type contains this listener

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `string` | type of event or property |
| `Optional` `callback` | `Function` | to be called, if null, check if any callback is registered |


#### Returns

`boolean`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[hasEventListener](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#haseventlistener)

#### isDisposed

▸ **isDisposed**(): `boolean`

Returns whether this object has been disposed

#### Returns

`boolean`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[isDisposed](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#isdisposed)

#### isForwardOnly

▸ `Abstract` **isForwardOnly**(): `boolean`

Return true if data is in ascending order

#### Returns

`boolean`

#### isSilent

▸ **isSilent**(): `boolean`

Return true if the event dispatcher doesn't notify any events

#### Returns

`boolean`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[isSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#issilent)

#### notify

▸ **notify**<`E`&gt;(`type`, `source`, `args?`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Notify listeners

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | event types |
| `source` | [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata) | of the event |
| `Optional` `args` | [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logabstractdata#eventmap)[`E`] | arguments of the event |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### Overrides

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[notify](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#notify)

#### off

▸ **off**<`E`&gt;(`type?`, `callback?`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Detach listener on event.
Calling .off() with no arguments removes all attached listeners.
Calling .off(type) with no callback removes all attached listeners for specific type.

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `type` | `E` | type of the event |
| `Optional` `callback` | (`eventType`: `E`, `sender`: [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logabstractdata#eventmap)[`E`]) => `void` | function to be called |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### Overrides

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[off](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#off)

#### on

▸ **on**<`E`&gt;(`type`, `callback`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Attach listener on event that will be called whenever the specified event is delivered to the target
<p>
If the callback function is already in the list of event listeners for this target,
the function is not added a second time.
</p>
<p>
If a particular anonymous function is in the list of event listeners registered for a
certain target, and then later in the code, an identical anonymous function is given
in an "on" call, the second function will also be added to the list of
event listeners for that target.
</p>

#### Type parameters

| Name | Type |
|  --- | --- |
| `E` | extends `string` |


#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `type` | `E` | type of event or property |
| `callback` | (`eventType`: `E`, `sender`: [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata), `args`: [`EventMap`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logabstractdata#eventmap)[`E`]) => `void` | to be called |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### Overrides

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[on](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#on)

#### requestData

▸ `Abstract` **requestData**(`range`, `scale`, `callback?`): `void`

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `range` | [`Range`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.range.range) | range |
| `scale` | `number` | scale |
| `Optional` `callback` | () => `void` | callback to be called after loading data |


#### Returns

`void`

#### resumeUpdate

▸ **resumeUpdate**(`forceUpdate`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Resume update.
forceUpdate updates data statistics (update min, max of values, depths...)

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `forceUpdate` | `boolean` | force update based on the state of the data |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### setIndexUnit

▸ `Abstract` **setIndexUnit**(`unit`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Sets index unit

**`Throws`**

when this method is not implemented

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `unit` | `string` | [`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit) | index unit |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### setName

▸ `Abstract` **setName**(`name`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Set name of the data

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `name` | `string` | The log data name |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### setSilent

▸ **setSilent**(`bool`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Set silent mode

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `bool` | `boolean` | flag to enable silent mode |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[setSilent](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#setsilent)

#### setState

▸ **setState**(`state`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Sets state of data.
Values can be (Empty,Normal, Warning,Error,Fetching).

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `state` | [`LogDataState`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.welllog#logdatastate) | state of data. |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### setValue

▸ `Abstract` **setValue**(`index`, `value`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Set value by index

**`Throws`**

when this method is not implemented

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `index` | `number` | index of the sample |
| `value` | `number` | sample values |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### setValueUnit

▸ `Abstract` **setValueUnit**(`unit`): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Sets value unit

**`Throws`**

when this method is not implemented

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `unit` | `string` | [`AbstractUnit`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.abstractunit.abstractunit) | value unit |


#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### suspendUpdate

▸ **suspendUpdate**(): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Suspend update

#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### update

▸ `Protected` **update**(`args?`): `void`

Notify when data has been changed.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `Optional` `args` | [`LogDataEvent`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logdataevent.logdataevent) | optional parameters |


#### Returns

`void`

#### updateDataStatistics

▸ `Protected` `Abstract` **updateDataStatistics**(): [`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

Update data statistics

#### Returns

[`LogAbstractData`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.welllog.data-4.logabstractdata.logabstractdata)

this

#### updateTimeStamp

▸ **updateTimeStamp**(): `void`

Update time stamp

#### Returns

`void`

#### findValueAt

▸ `Static` **findValueAt**(`depth`, `depths`, `values`, `prev`, `next`, `interpolation?`, `interpolationMode?`): `number`

Utility function to interpolate a value between two depths.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the value |
| `depths` | `number`[] | The array of ordered depths |
| `values` | `number`[] | The array of values |
| `prev` | `number` | The index of the largest previous depth |
| `next` | `number` | The index of the smallest following depth |
| `Optional` `interpolation` | [`InterpolationType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationtype) | interpolation type for the value |
| `Optional` `interpolationMode` | [`InterpolationMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationmode) | interpolation mode for the value |


#### Returns

`number`

The interpolated value or Number.NaN if outside the range

#### getClassName

▸ `Static` **getClassName**(): `string`

#### Returns

`string`

#### Inherited from

[EventDispatcher](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher).[getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit.util.eventdispatcher.eventdispatcher#getclassname-1)

#### interpolateValueAt

▸ `Static` **interpolateValueAt**(`depth`, `depthPrev`, `valuePrev`, `depthNext`, `valueNext`, `interpolation?`, `interpolationMode?`): `number`

Utility function to interpolate a value between two depths.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `depth` | `number` | The depth for which you want to compute the value |
| `depthPrev` | `number` | prev depth |
| `valuePrev` | `number` | prev value |
| `depthNext` | `number` | next depth |
| `valueNext` | `number` | next value |
| `Optional` `interpolation` | [`InterpolationType`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationtype) | interpolation type for the value |
| `Optional` `interpolationMode` | [`InterpolationMode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit.data#interpolationmode) | interpolation mode for the value |


#### Returns

`number`

The interpolated value or Number.NaN if outside the range