From b2ddbfed7e5e85c40cf1a7cf45eb1d4b4ec96262 Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Thu, 21 Nov 2024 22:48:07 +0100 Subject: [PATCH] Use hcat: property name prefix in order to accomodate non-ec categories --- CHANGELOG.md | 4 ++++ README.md | 21 ++++++++++----------- examples/geojson/example.json | 6 +++--- examples/geoparquet/example.parquet | Bin 12799 -> 14322 bytes schema/schema.yaml | 6 +++--- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 027f5f2..a2b6db3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - ... +## [v0.2.0] - 2024-11-21 + +- Backwards incompatible change: change `ec:` prefix to `hcat:`. Properties are now `hcat:code`, `hcat:name`, `hcat:name_en`. + ## [v0.1.0] - 2024-03-01 - First release diff --git a/README.md b/README.md index 7d5ae1f..f6e0d8e 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ - **Title:** Hierarchical Crop and Agriculture Taxonomy Extension - **Identifier:** -- **Property Name Prefix:** ec +- **Property Name Prefix:** hcat - **Extension Maturity Classification:** Proposal -- **Owner**: @cholmes +- **Owner**: @cholmes @ivorbosloper This document explains the Hierarchical Crop and Agriculture Taxonomy (HCAT) Extension to the [Field Boundaries for Agriculture (fiboa) Specification](https://github.com/fiboa/specification). @@ -17,13 +17,12 @@ almost 400 different crop types, and is currently on it's third iteration. The HCAT core list of names and codes is defined in the file [HCAT3.csv](https://github.com/maja601/EuroCrops/blob/main/hcat_core/HCAT3.csv). Its goal is to harmonise all declared crops across the European Union, but it is likely a useful -as crop classification taxonomy beyond Europe. +as crop classification taxonomy beyond Europe. In order to prepare for this wider use case, we +will use the `hcat` abbreviations instead of `ec`. Note that this extension does not attempt to use the exact same field names as Eurocrops, as they were designed for use with Shapefiles, a restriction Fiboa does not share. This attempts to be -more descriptive, and fit with the 'Fiboa style', reusing the 'EC_' prefix of the original fields, -but adapting it to be `ec:`. But feedback is welcome, we could have it stay more true, or also -adapt it more (like use `hcat:` as the prefix). +more descriptive, and fit with the 'Fiboa style'. - Examples: - [GeoJSON](examples/geojson/) @@ -38,11 +37,11 @@ The properties in the table below can be used in these parts of fiboa documents: - [ ] Collection - [x] Feature Properties -| Property Name | Type | Description | -| ------------------ | ------ | ----------- | -| ec:hcat_name | string | The machine-readable HCAT name of the crop | -| ec:hcat_code | uint32 | The 10-digit HCAT code indicating the hierarchy of the crop | -| ec:translated_name | string | The original crop name translated into English | +| Property Name | Type | Description | +|---------------|--------|-------------------------------------------------------------| +| hcat:name | string | The machine-readable HCAT name of the crop | +| hcat:code | uint32 | The 10-digit HCAT code indicating the hierarchy of the crop | +| hcat:name_en | string | The original crop name translated into English | ## Contributing diff --git a/examples/geojson/example.json b/examples/geojson/example.json index e61e6f2..b7818c2 100644 --- a/examples/geojson/example.json +++ b/examples/geojson/example.json @@ -90,9 +90,9 @@ "code_culture": "VRC", "code_group": 21, "determination_datetime": "2018-01-15T00:00:00Z", - "ec:translated_name": "Vine: wine grapes", - "ec:hcat_name": "vineyards_wine_vine_rebland_grapes", - "ec:hcat_code": 3303060000 + "hcat:code": 3303060000, + "hcat:name": "vineyards_wine_vine_rebland_grapes", + "hcat:name_en": "Vine: wine grapes" }, "links": [ diff --git a/examples/geoparquet/example.parquet b/examples/geoparquet/example.parquet index eab3332c40ad7adf02b89b66fc586b33d56d3443..c261c468bb6edc4d99c46265d555c1bd5068fbb3 100644 GIT binary patch literal 14322 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 literal 12799 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 QsDF&}Ji}ar|Mlbl09oYzOaK4? diff --git a/schema/schema.yaml b/schema/schema.yaml index 7ef93c0..f8a361b 100644 --- a/schema/schema.yaml +++ b/schema/schema.yaml @@ -1,6 +1,6 @@ $schema: https://fiboa.github.io/schema/v0.1.0/schema.json properties: - ec:hcat_name: + hcat:name: type: string enum: - characteristics @@ -387,7 +387,7 @@ properties: - peat_turf - unmaintained - not_known_and_other - ec:hcat_code: + hcat:code: type: uint32 enum: - 3000000000 @@ -774,6 +774,6 @@ properties: - 3307000000 - 3308000000 - 3399000000 - ec:translated_name: + hcat:name_en: type: string minLength: 1 \ No newline at end of file