Skip to main content

LayerDatasetMetadata

LayerDatasetMetadata = object

Metadata configuration for dataset service integration and rendering. Contains service endpoint information, zoom constraints, and field specifications.

Example

const metadata: LayerDatasetMetadata = {
table: 'weather_stations',
serviceUrls: ['https://api.weather.gov/geoserver'],
serviceVersion: '2.0.0',
idProperty: 'station_id',
geometryProperty: 'geometry',
minZoom: 5,
maxZoom: 18,
positionFormat: 'XY',
maxRequests: 6,
refetchInterval: 300000, // 5 minutes
defaultFields: ['station_id', 'temperature', 'humidity', 'geometry']
};

Properties

batchSize?

optional batchSize: number

Size of batch to use when requesting Arrow data.

Remarks

Includes fields required for:

  • Tooltip display
  • Client-side filtering/computation
  • User interface rendering

Default Value

10000

Example

25000

defaultFields

defaultFields: string[]

Essential fields for client-side operations.

Remarks

Includes fields required for:

  • Tooltip display
  • Client-side filtering/computation
  • User interface rendering

Future

Replace with user-configurable field selection.

Example

['id', 'name', 'temperature', 'coordinates']

filterDialect?

optional filterDialect: FilterDialect

Filter expression dialect for spatial query operations.

Remarks

Specifies the query language format for server-side feature filtering:

  • cql: Common Query Language (ECQL) - text-based, human-readable syntax
  • gml: OGC Filter Encoding (XML/GML format)

See

Default Value

'cql'

geometryProperty

geometryProperty: string

Primary geometry field name for spatial rendering.

Remarks

Specifies which field contains the geographic coordinates/shapes.

Future enhancement: Support multiple geometries per dataset through presentableFields configuration linked to presentationTypes.

Example

'geom', 'the_geom', 'geometry', 'location'

idProperty?

optional idProperty: string

Unique feature identifier property name for tile-based rendering.

Remarks

Used by deck.gl MVTLayer.uniqueIdProperty to maintain feature identity across tile boundaries and zoom levels.

See

deck.gl MVTLayer.uniqueIdProperty

Example

'gid', 'feature_id', 'object_id'

maxRequests?

optional maxRequests: number

Concurrent request limit for tile loading.

Remarks

Controls maximum simultaneous requests to prevent overwhelming the service endpoint or client network capacity.

See

deck.gl TileLayer.maxRequests

Minimum

1

Default Value

6

Example

4

maxZoom?

optional maxZoom: number

Maximum zoom level for dataset visibility. Controls zoom slider maximum value in UI components.


minZoom?

optional minZoom: number

Minimum zoom level for dataset visibility. Controls zoom slider minimum value in UI components.


positionFormat?

optional positionFormat: "XYZ" | "XY"

Coordinate system format for position data.

Remarks

  • XY: 2D coordinates (longitude, latitude)
  • XYZ: 3D coordinates (longitude, latitude, elevation)

See

deck.gl Layer.positionFormat

Default Value

'XY'

Example

'XY'

refetchInterval?

optional refetchInterval: number

Data refresh interval in milliseconds. Defines how frequently the dataset should poll for updates.

Examples

60000 // 1 minute
300000 // 5 minutes

serviceLayer?

optional serviceLayer: string

Layer identifier for service requests.

CURRENTLY UNUSED.

Remarks

When provided:

  • Substituted into serviceUrls templates
  • Enables dynamic URL construction

When undefined:

  • serviceUrls assumed to be complete endpoints
  • No template processing performed

Example

'weather:current_conditions', 'census:population_2020'

serviceUrls?

optional serviceUrls: string[]

List of service endpoint URL templates. May contain placeholders for serviceLayer substitution.


serviceVersion?

optional serviceVersion: SemVerVersion

Geoserver service version override. Allows per-dataset version specification for services requiring explicit versioning (e.g., WFS).

Example

'1.0.0', '1.1.0', '1.3.0', '2.0.0'

table

table: string

Original database table name underlying this dataset.