Skip to content

Commit c10e00a

Browse files
committed
Update to recent discussions
1 parent 9492edd commit c10e00a

File tree

5 files changed

+52
-27
lines changed

5 files changed

+52
-27
lines changed

core/README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ common definitions are shared across these levels.
2525

2626
## General Properties
2727

28-
| Property Name | Data Type | Description |
29-
| ------------- | -------------- | ----------- |
30-
| schemas | array\<string> | **REQUIRED.** A list of schemas the collection implements. |
31-
| id | string | **REQUIRED.** An identifier for the field. |
32-
| collection | string | The identifier of the parent collection. |
33-
| category | array\<string> | A set of categories the field boundary belongs to. |
28+
| Property Name | Data Type | Description |
29+
| ------------- | ------------------------------- | ----------- |
30+
| schemas | object\<string, array\<string>> | **REQUIRED.** A list of schemas the collection implements. |
31+
| id | string | **REQUIRED.** An identifier for the field. |
32+
| collection | string | **REQUIRED.** The identifier of the collection. |
33+
| category | array\<string> | A set of categories the field boundary belongs to. |
3434

3535
### schemas
3636

@@ -39,8 +39,25 @@ Each schema must be a valid HTTP(S) URLs to an existing YAML files compliant to
3939
The schema for this specification (see above) is required to be provided.
4040

4141
Each `collection` must have a single set of applicable schemas.
42+
The key of the dictionary must be equal to the value provided for the `collection` property.
4243

43-
The schema URI listed above is required to be present in the `schemas` array.
44+
The schema URI for fiboa that is listed above is required to be present.
45+
46+
**Example for `schemas`:**
47+
48+
This describes two collections `abc` and `xyz`.
49+
50+
```json
51+
{
52+
"abc": [
53+
"https://fiboa.github.io/specification/v0.3.0/schema.yaml"
54+
],
55+
"xyz": [
56+
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
57+
"https://fiboa.github.io/crop-extension/v0.1.0/schema.yaml",
58+
]
59+
}
60+
```
4461

4562
### id
4663

@@ -50,12 +67,6 @@ It must be unique per collection, i.e. `collection` and `id` form a unique ident
5067

5168
A collection is a group of one or more features with a unique identifier, stored in the `collection` property.
5269

53-
The collection identifier is usually only needed for merged datasets and it is **required** in this case.
54-
Implementations may create collection identifiers if datasets that don't provide a collection identifer are getting merged.
55-
A validatior can't know whether the `collection` property is required, the data providers or tooling must handle this,
56-
i.e. if data from two different sources is merged, a `collection` property with distinct values must be provided.
57-
This ensures unique IDs through the combination of the properties `id` and `collection`.
58-
5970
Encodings may support to store properties that consists of the same value across all features at the collection-level.
6071
This de-duplicates data for more efficient resource usage, but only applies if more than two features are available for the collection.
6172
The specific location and behaviour of collection-level data is specified in the encoding-specific specifications.

core/schema/schema.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@ $schema: https://fiboa.github.io/schema/v0.3.0/schema.json
22
required:
33
- schemas
44
- id
5+
- collection
56
- geometry
7+
collection:
8+
schemas: true
9+
id: false
10+
geometry: false
11+
bbox: false
612
properties:
713
schemas:
814
type: array

geojson/examples/featurecollection/features.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
{
2-
"schemas": [
3-
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
4-
"https://fiboa.github.io/inspire-extension/v0.2.0/schema.yaml",
5-
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml",
6-
"https://fiboa.github.io/crop-extension/v0.1.0/schema.yaml"
7-
],
2+
"schemas": {
3+
"de_nrw": [
4+
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
5+
"https://fiboa.github.io/inspire-extension/v0.2.0/schema.yaml",
6+
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml",
7+
"https://fiboa.github.io/crop-extension/v0.1.0/schema.yaml"
8+
]
9+
},
810
"collection": "de_nrw",
911
"license": "dl-de/by-2-0",
1012
"attribution": "Land Nordrhein-Westfalen / Open.NRW - https://www.opengeodata.nrw.de/produkte/umwelt_klima/bodennutzung/landwirtschaft/",

geojson/examples/individual-features/12324.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
"id": "12324",
33
"type": "Feature",
44
"properties": {
5-
"schemas": [
6-
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
7-
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml"
8-
],
5+
"schemas": {
6+
"example": [
7+
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
8+
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml"
9+
]
10+
},
11+
"collection": "example",
912
"flik": "DENWLI0542130247",
1013
"determination_datetime": "2005-02-28T00:00:00Z",
1114
"nutz_code": "A",

geojson/examples/individual-features/2713.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
"id": "2713",
33
"type": "Feature",
44
"properties": {
5-
"schemas": [
6-
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
7-
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml"
8-
],
5+
"schemas": {
6+
"example": [
7+
"https://fiboa.github.io/specification/v0.3.0/schema.yaml",
8+
"https://fiboa.github.io/flik-extension/v0.1.0/schema.yaml"
9+
]
10+
},
11+
"collection": "example",
912
"flik": "DENWLI0540210084",
1013
"determination_datetime": "2005-02-28T00:00:00Z",
1114
"nutz_code": "A",

0 commit comments

Comments
 (0)