Scalar Document
Purpose
Represents a single numeric measurement or a small set of key/value metrics at a location or over an area (e.g., coherence mean, water level, area statistics).
GeoJSON (DB metadata)
{
"type": "Feature",
"geometry": {"type": "Point", "coordinates": [30.15, 59.95]},
"properties": {
"type": "Scalar",
"title": "Mean Coherence",
"created_at": "2025-09-02T12:00:00Z",
"updated_at": "2025-09-02T12:00:00Z",
"source": {
"url": "/tiler/tiles/{z}/{x}/{y}@2x",
"type": "Raster",
"max_zoom": 16,
"tileSize": 512,
"url_params": {
"url": "s3://<bucket>/<ResultKey>/<filename>"
}
},
"values": {
"coh_mean": 0.62,
"coh_std": 0.12
},
"legend": {"title": "Coherence"},
"metadata": {"window": "3x3", "sensor": "S1A"}
}
}
Required properties
properties.type=Scalarproperties.source.urlandproperties.source.typeEither
properties.valueswith inline scalars or an external JSON/CSV pointed byproperties.source.url
Publishing workflow
Produce metric values (JSON/CSV).
Upload payload to storage and record its URL.
Create a GeoJSON Feature with type
Scalarand link viaproperties.source.url.Insert/update the Feature row in the
featurestable.
Validation checklist
Coordinates are valid (WGS84) and geometry type matches use case.
Values are numeric and units are documented in
metadata.properties.source.typematches the data kind.
See Common properties for shared fields like legend, metadata, and classification.
Alternate (DB-aligned) Scalar as single-band raster index
In production OCLI, many Scalar layers are delivered as single-band rasters with bands/band_meta and a tiler-backed source.
Example:
{
"type": "Feature",
"geometry": {"type": "Polygon", "coordinates": [[[-7.5455984, 37.2931467], [-7.5487709, 37.1277062], [-7.2748512, 37.1240356], [-7.2710805, 37.2894542], [-7.5455984, 37.2931467]]]},
"properties": {
"type": "Scalar",
"roles": ["demo_read", "draft_read"],
"Bucket": "staging",
"source": {
"url": "/tiler/tiles/{z}/{x}/{y}@2x",
"type": "Raster",
"max_zoom": 20,
"tileSize": 512,
"url_params": {
"url": "s3://<bucket>/<ResultKey>/<filename>"
}
},
"version": 1.4,
"Endpoint": "http://rook-ceph-rgw-geo.rook-ceph.svc:80",
"ResultKey": "marine/faro_capella_index/faro_capella/ext_index_09gec",
"friendly_name": "Faro/Capella/C09_GEC",
"bands": {
"band_ids": ["Band_0"],
"band_meta": [
{"band": 1,
"name": "Band_0",
"type": "UInt16",
"min": 1.0,
"max": 65535.0,
"domain_min": 1.0,
"domain_max": 65535.0,
"color_map": {"name": "transform_space", "type": "preset"}}
]
},
"classification": {"ocli": [5], "metadata_preset": [6]}
}
}
See Common properties for shared fields like legend, metadata, and classification. See also: GeoJSON Strategy and Upload Strategy.