Shape Document
Purpose
Basic shapes (points, lines, polygons) used for annotations, measurements, or simple overlays distinct from full Vector datasets.
GeoJSON (DB metadata)
{
"type": "Feature",
"geometry": {"type": "LineString", "coordinates": [[30.1, 59.9], [30.2, 59.95]]},
"properties": {
"type": "Shape",
"title": "Measurement Line",
"created_at": "2025-01-10T08:00:00Z",
"updated_at": "2025-01-10T08:00:00Z",
"source": {
"url": "/s3/$FILE_PATH",
"type": "GeoJSON"
},
"style": {"stroke": "#00ccff", "stroke_width": 3}
}
}
Required properties
properties.type=ShapeGeometry is a simple shape (Point/LineString/Polygon)
Style suitable for annotation overlay
Publishing workflow
Create the shape geometry and optional style.
If stored externally, upload GeoJSON and link via
properties.source.url.Publish Feature with type
Shape.
Validation checklist
Geometry is valid and renders clearly at target zoom levels.
Style contrasts the background.
See Common properties for shared fields like legend, metadata, and classification.
TimeSeries variant (properties.kind = “TimeSeries”)
Some Shape documents carry time series data, indicated by properties.kind = "TimeSeries" and a bands block that provides per-band descriptors and links to the data JSON.
Example:
{
"type": "Feature",
"geometry": {"type": "Polygon", "coordinates": [[[4.885619, 52.362736], [4.873003, 52.370607], [4.882328, 52.382996], [4.921341, 52.426765], [4.885619, 52.362736]]]},
"properties": {
"type": "Shape",
"kind": "TimeSeries",
"roles": ["public_read"],
"Bucket": "staging",
"source": {
"url": "/s3/<bucket>/<ResultKey>/<filename>",
"type": "GeoJSON"
},
"version": 2,
"Endpoint": "http://rook-ceph-rgw-geo.rook-ceph.svc:80",
"ResultKey": "test/orvi/test_orvi_timeseries_v3/time-series",
"friendly_name": "test/ts",
"bands": {
"band_ids": ["amsterdam_centar", "amsterdam_field"],
"band_meta": [
{
"band": 1,
"bbox": [4.873003, 52.362736, 4.907834, 52.382996],
"data": {
"url": "/s3/<bucket>/<ResultKey>/<filename>",
"bounds": [4.873003, 52.362736, 4.907834, 52.382996],
"data_kind": "rvi",
"data_type": "gauge",
"url_params": {"band": "amsterdam_centar"}
},
"name": "amsterdam_centar",
"color": "#7dff7a"
}
]
},
"classification": {"ocli": [7, 8], "metadata_preset": [17]}
}
}
See Common properties for shared fields like legend, metadata, and classification. See also: GeoJSON Strategy and Upload Strategy.