[API](/solutions/geotoolkit/geotoolkit_js/apis/readme) / [geotoolkit3d](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d) / [gigagrid](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid) / [data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#data) / [AbstractDataSource](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource) / AbstractDataSource

# Class: AbstractDataSource

[data](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#data).[AbstractDataSource](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource).AbstractDataSource

AbstractDataSource class for GigaGrid data access.<br>
Implementations supply decoded geometry and property values; wire-format details belong in subclasses such as
[HttpDataSource](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.httpdatasource.httpdatasource).

## Hierarchy

- **`AbstractDataSource`**
↳ [`HttpDataSource`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.httpdatasource.httpdatasource)


## Table of contents

Constructors
- [new AbstractDataSource()](/solutions/geotoolkit/GeoToolkit_JS/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource.md#new abstractdatasource())


Methods
| [abortGrid](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#abortgrid) | [abortPendingRequests](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#abortpendingrequests) | [dispose](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#dispose) |
|  --- | --- | --- |
| [getCells](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#getcells) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#getclassname) | [getNodes](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#getnodes) |
| [getValues](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#getvalues) | [load](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#load) | [getClassName](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.abstractdatasource.abstractdatasource#getclassname-1) |


## Contents

Constructors
#### new AbstractDataSource()

• **new AbstractDataSource**()

Methods
#### abortGrid

▸ **abortGrid**(`level`, `idNode`): `void`

Cancels in-flight cell and property queries for a specific node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `level` | `number` | octree level of the node |
| `idNode` | `number` | node identifier within the level |


#### Returns

`void`

#### abortPendingRequests

▸ **abortPendingRequests**(): `void`

Cancellation / lifecycle. Override if the source has in-flight work to drop.

#### Returns

`void`

#### dispose

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

Disposes of the data source.

#### Returns

`void`

#### getCells

▸ `Abstract` **getCells**(`level`, `idNode`, `filters?`): `Promise`<[`CellsGeometry`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#cellsgeometry)&gt;

Cell geometry for one node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `level` | `number` | octree level of the node |
| `idNode` | `number` | node identifier within the level |
| `Optional` `filters` | [`BooleanFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.filter.booleanfilter.booleanfilter) | optional server-side filters |


#### Returns

`Promise`<[`CellsGeometry`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#cellsgeometry)&gt;

promise resolved with decoded vertex positions, IJK indices, and bounding box

#### getClassName

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

#### Returns

`string`

#### getNodes

▸ `Abstract` **getNodes**(`level`): `Promise`<[`GridNode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#gridnode)[]&gt;

Octree nodes.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `level` | `number` | octree level of the nodes |


#### Returns

`Promise`<[`GridNode`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#gridnode)[]&gt;

promise resolved with grid nodes for the level

#### getValues

▸ `Abstract` **getValues**(`level`, `idNode`, `propertyUid`, `additionalDataUids?`, `filters?`): `Promise`<[`CellsProperties`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#cellsproperties)&gt;

Property values for one node.

#### Parameters

| Name  | Type  | Description  |
|  --- | --- | --- |
| `level` | `number` | octree level of the node |
| `idNode` | `number` | node identifier within the level |
| `propertyUid` | `string` | uid of the primary property to query |
| `Optional` `additionalDataUids` | `string`[] | optional uids of additional properties to include in the same request |
| `Optional` `filters` | [`BooleanFilter`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.filter.booleanfilter.booleanfilter) | optional server-side filters |


#### Returns

`Promise`<[`CellsProperties`](/solutions/geotoolkit/geotoolkit_js/apis/modules/geotoolkit3d.gigagrid#abstractdatasource#cellsproperties)&gt;

promise resolved with primary and additional property value arrays

#### load

▸ `Abstract` **load**(): `Promise`<[`GigaGridResult`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.gigagridresult.gigagridresult)&gt;

Overall grid metadata.

#### Returns

`Promise`<[`GigaGridResult`](/solutions/geotoolkit/geotoolkit_js/apis/classes/geotoolkit3d.gigagrid.data-9.gigagridresult.gigagridresult)&gt;

promise resolved with grid metadata

#### getClassName

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

#### Returns

`string`