You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: interoperability/geospatial_explorer.qmd
+36-19Lines changed: 36 additions & 19 deletions
Original file line number
Diff line number
Diff line change
@@ -75,10 +75,10 @@ Statistics should be contained within the properties entry of each feature. Each
75
75
76
76
*`id` - A short unique id string.
77
77
*`name` - A description label for the feature to be shown to users.
78
-
*`level` - An integer that describes the features geographical hierarchy. This should be contigious with parent and child features.
79
-
*`children` - A string based comma seperated list containing the `id` of all child features.
78
+
*`level` - An integer that describes the features geographical hierarchy. This should be contiguous with parent and child features.
79
+
*`children` - A string based comma separated list containing the `id` of all child features.
80
80
81
-
Datasets that have classifications (such as land use) should have key:value entires consiting of 'name':'value' and an entry with a key of 'classifications' with a value consisting of a string based comma seperated list containing all the keys for the classifications and a 'total' key with the sum of all other values. This will allow for correctly rendering bar charts and pie charts.
81
+
Datasets that have classifications (such as land use) should have key:value entires consisting of 'name':'value' and an entry with a key of 'classifications' with a value consisting of a string based comma separated list containing all the keys for the classifications and a 'total' key with the sum of all other values. This will allow for correctly rendering bar charts and pie charts.
82
82
83
83
```
84
84
{
@@ -173,6 +173,23 @@ A string that is used to identify layers in both the user interface and OpenLaye
173
173
A boolean. Determines if a layer is currently shown on the map. Setting this to true will show the layer on the map when
174
174
the application loads.
175
175
176
+
#### Time Frame - `timeframe`
177
+
178
+
A string that is required to render and control time series layers. It should have a value of either `Days`, `Months`, `Years`. This will determine the behaviour of the UI for layer groups
179
+
with time series data configured.
180
+
181
+
- Days: This will allow the selection of every available date within the configure data sources.
182
+
- Months: This will only allow a user to select a the year and the month for the configured sources.
183
+
- Years: This will allow only a single year to be selected for the dataset.
184
+
185
+
For the best user experience it's essential to set this correctly for the series of datasets in use.
186
+
187
+
#### Base Layer - `isBaseLayer`
188
+
Optional boolean that determines if the layer should be treated as a base layer. Base layer groups are always active and cannot be toggled.
189
+
190
+
#### Swipe Layer - `isSwipeLayer`
191
+
Optional boolean that determines if the layer should be treated as a swipe layers. Swipe layer groups are configured much like any other layer group however the individual sources need to be configured with an additional position property with a value of either `left` or `right`.
192
+
176
193
#### Layout - `layout`
177
194
178
195
An object to determine which interface elements are rendered for the layer. Supports two properties:
@@ -185,28 +202,32 @@ card can show a toggle for the layer, a selection of buttons or controls for the
185
202
This currently supports the following properties:
186
203
187
204
*`toggleable`: A boolean that determines if a toggle switch to enable/disable the layer should be rendered.
188
-
*`controls`: An optional array of strings that configure which buttons to render in the layer card for interaction with
189
-
the layer.
205
+
*`controls`: An optional object that configures which buttons to render in the layer card for interaction with
206
+
the layer. This object can contain:
207
+
-`zoomToCenter`: A boolean that renders a button that will zoom the map to the extent of the layer.
208
+
-`opacitySlider`: A boolean that renders a button to open or close the opacity slider control for the layer.
209
+
-`download`: A URL string that will render a link to the given URL. Used for signposting users to the source data or website.
190
210
*`legend`: An optional object that can be configured to show static or dynamic legend elements within the layer card
191
-
when active.
211
+
when active. Contains a `type` property that has a string value of: `swatch`, `image`, `gradient`. Also requires a `url` property with a string value
212
+
if the type is `image`.
192
213
193
214
##### Interface Group - `interfaceGroup`
194
215
195
216
An optional string that is used to identify which interface group this layer belongs to.
196
217
197
218
#### Metadata - `meta`
198
219
199
-
An objectg that contains information describing the data source. This is generally used for information that would be used in multiple places across the application such as: units used to describe data values, the minimum and maximum value for use in UI/Visualisation calculations, attribution etc.
220
+
An object that contains information describing the data source. This is generally used for information that would be used in multiple places across the application such as: units used to describe data values, the minimum and maximum value for use in UI/Visualisation calculations, attribution etc.
200
221
201
222
This currently supports the following properties:
202
223
203
224
*`attribution`: An optional object to render some text or a link for use with attribution of layer datasets.
204
-
*`min`: An interger for the lower limit to use for data values when calculating UI elements such as legends, statistics, colour ramps.
205
-
*`max`: An interger for the upper limit to use for data values when calculating UI elements such as legends, statistics, colour ramps.
206
-
*`units`: An optional string that desribes the units of any values derived from the data. Used in legends and statistics panels.
225
+
*`min`: An integer for the lower limit to use for data values when calculating UI elements such as legends, statistics, colour ramps.
226
+
*`max`: An integer for the upper limit to use for data values when calculating UI elements such as legends, statistics, colour ramps.
227
+
*`units`: An optional string that describes the units of any values derived from the data. Used in legends and statistics panels.
207
228
*`description`: An optional string that describes the dataset.
208
229
*`startColor`: A string describing a valid hex or RGB/A colour value. This is used to render colour ramps and legends.
209
-
*`categories`: An array of objects that contains a `lablel` (string) property and a `color` (string) property. Describes classifications within datasets such as land usage. Used to create swatch legends and statistics visualisation.
230
+
*`categories`: An array of objects that contains a `label` (string) property, a `color` (string) property and a `value` (integer) property. Describes classifications within datasets such as land usage. Used to create swatch legends and statistics visualisation.
210
231
211
232
#### Data - `data`
212
233
@@ -215,8 +236,7 @@ An array of objects that configures the data to be displayed in the layer. If th
215
236
Each object currently supports the following properties:
216
237
217
238
*`url`: A required URL string that points to the dataset's publicly available resource.
218
-
*`format`: A required string that identifies what kind of dataset is requested. This can be one of the following: `wms`, `wmts`, `cog`, `xyz`, `wfs` or `geojson`.
219
-
*`type`: An optional string that can be used to further define the type of layer the source represents. e.g data, statistical, swipe
239
+
*`format`: A required string that identifies what kind of dataset is requested. This can be one of the following: `wms`, `wmts`, `cog`, `xyz`, `wfs`, `flatgeobuf`, `stac` or `geojson`.
220
240
*`layers`: Only required for sources of format: `wms` and `wmts`. A string that describes the layer to be requested from
221
241
the external service.
222
242
*`typeName`: Only required for sources of format: `wfs`. A string that describes the type to be requested from the
@@ -229,14 +249,11 @@ Each object currently supports the following properties:
229
249
is supported (and doesn't match the map's configured projection), it will attempt to reproject the data.
230
250
*`style`: Open Layers style object that is passed through to the library to modify the rendering of the layer within
231
251
the map.
232
-
*`baseSources`: A required array of strings for sources with a `swipe` type. Each string should match the name property of another source. Describes the layers to be render on the "left" side of a comparison layer.
233
-
*`clippedSource`: A required string for sources with a `swipe` type. The string should match the name property of another source. Describes the layer to be render on the "right" side of a comparison layer.
234
-
*`images`: Only required for sources of format: `cog`. An array of objects that contain a URL property pointing to a COG
235
-
resource. Replaces the 'url' property for this source type. Allows loading multiple GeoTiffs into one layer.
236
252
*`normalise`: Only required for sources of format: `cog`. Boolean that configures the map to normalise the raster pixel
237
253
values to between 0 and 1. False by default.
238
-
*`isBaseLayer`: Optional boolean that determines if the layer should be treated as a base layer. Base layers are always active and cannot be toggled.
239
-
*`level`: A required integer for sources of type `statistical`. Ideally starting at 0, this integer describes the hierachy of statistical sources. Higher integers should represent more complex and granular vector datasets. Used to provide the statistics feature UI and mantain performance for large vector datasets.
254
+
*`level`: A required integer for sources of type `statistical`. Ideally starting at 0, this integer describes the hierarchy of statistical sources. Higher integers should represent more complex and granular vector datasets. Used to provide the statistics feature UI and maintain performance for large vector datasets.
255
+
*`position`: A string of either `left` or `right` that is only required for swipe layer groups. This determines which side of the swipe control the date will be visualised on.
256
+
*`timestamps`: An optional array of Unix timestamps or ISO8601 date strings. This allows the configuration of time series visualisation within the layer group. If multiple timestamps exist within the layer group and the timeframe property is set a datepicker/stepper control will be rendered to cycle which layer is visible.
0 commit comments