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?
optionalbatchSize: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?
optionalfilterDialect: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 syntaxgml: 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?
optionalidProperty: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?
optionalmaxRequests:number
Concurrent request limit for tile loading.
Remarks
Controls maximum simultaneous requests to prevent overwhelming the service endpoint or client network capacity.
See
Minimum
1
Default Value
6
Example
4
maxZoom?
optionalmaxZoom:number
Maximum zoom level for dataset visibility. Controls zoom slider maximum value in UI components.
minZoom?
optionalminZoom:number
Minimum zoom level for dataset visibility. Controls zoom slider minimum value in UI components.
positionFormat?
optionalpositionFormat:"XYZ"|"XY"
Coordinate system format for position data.
Remarks
XY: 2D coordinates (longitude, latitude)XYZ: 3D coordinates (longitude, latitude, elevation)
See
Default Value
'XY'
Example
'XY'
refetchInterval?
optionalrefetchInterval:number
Data refresh interval in milliseconds. Defines how frequently the dataset should poll for updates.
Examples
60000 // 1 minute
300000 // 5 minutes
serviceLayer?
optionalserviceLayer: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?
optionalserviceUrls:string[]
List of service endpoint URL templates. May contain placeholders for serviceLayer substitution.
serviceVersion?
optionalserviceVersion: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.