From 9500192e5ca9cf058a1e50f36fe65863d3fe5404 Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Fri, 25 Sep 2026 12:24:28 +0200 Subject: [PATCH 1/5] EC-FR, EC-NL-CROP: override the EuroCrops rows that disagree with the taxonomy - ec_nl_crop and ec_fr read the new nl_2020 and fr_2018 supplements - a source that already carries HCAT (the EuroCrops shapefiles) now gets its supplement applied too, keyed on the crop code; so far ec_si's supplement was never read Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 ++ fiboa_cli/datasets/commons/hcat.py | 21 ++++++++++++++- fiboa_cli/datasets/ec_fr.py | 1 + fiboa_cli/datasets/ec_nl_crop.py | 1 + fiboa_cli/datasets/ec_si.py | 5 ++-- .../convert/ec_fr/fr_2018_supplement.csv | 2 ++ tests/test_converters.py | 26 +++++++++++++++++++ 7 files changed, 55 insertions(+), 3 deletions(-) create mode 100644 tests/data-files/convert/ec_fr/fr_2018_supplement.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index 1169f23d..c02ea68d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -70,6 +70,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Added HCAT spelling fixes via `csv_supplements` for DE-BB, DE-NDS and EC-SI. +- EC-FR, EC-NL-CROP: HCAT codes for iris, Jerusalem artichoke and parsley now match the taxonomy. +- EuroCrops converters whose source already carries HCAT (such as EC-FR and EC-SI) now apply their supplements too. - Declared the `beautifulsoup4` dependency used by ES-PV and ES-VC. - REST converters: - Downloaded data cached for one dataset, edition or service is no longer served for another. Previously cached downloads are fetched again once. diff --git a/fiboa_cli/datasets/commons/hcat.py b/fiboa_cli/datasets/commons/hcat.py index 926ee7b6..da75e42c 100644 --- a/fiboa_cli/datasets/commons/hcat.py +++ b/fiboa_cli/datasets/commons/hcat.py @@ -23,6 +23,8 @@ class AddHCATMixin: # Tables that fill gaps in the main one, for a country whose main table does # not carry every code the source uses. Rows here win where both carry a code. hcat_mapping_supplements: list[str] = [] + # The column the supplements are keyed on when the source already carries HCAT + hcat_supplement_key = "crop:code" # Match on the crop name where the table has no row for the code: # be_wal_all_years.csv leaves original_code empty in 208 of its 298 rows. hcat_mapping_name_fallback = False @@ -85,7 +87,9 @@ def add_hcat(self, gdf): # Lookup column that will be renamed after the migration to hcat:code hcat_code_column = next(k for k, v in self.hcat_columns.items() if v == "hcat:code") - if hcat_code_column not in gdf.columns: + if hcat_code_column in gdf.columns: + gdf = self.correct_resolved_hcat(gdf) + else: # Add HCAT columns based on crop-columns # Map to HCAT categories by using the mapping from the csv file @@ -152,6 +156,21 @@ def map_by_name(attribute): ) return gdf + def correct_resolved_hcat(self, gdf): + """The source carries HCAT already (EuroCrops); the supplements still win for their codes.""" + rows = [row for url in self.hcat_mapping_supplements for row in load_hcat_mapping(url)] + if not rows: + return gdf + key = self.get_code_column(gdf, self.hcat_supplement_key).str.strip() + for column, attribute in zip( + self.hcat_columns.keys(), ("translated_name", "HCAT3_name", "HCAT3_code") + ): + fix = {row["original_code"].strip(): row[attribute] for row in rows} + hit = key.isin(fix.keys()) + if column in gdf.columns and hit.any(): + gdf.loc[hit, column] = key[hit].map(fix) + return gdf + def post_migrate(self, gdf) -> gpd.GeoDataFrame: gdf = super().post_migrate(gdf) return self.add_hcat(gdf) diff --git a/fiboa_cli/datasets/ec_fr.py b/fiboa_cli/datasets/ec_fr.py index 6e4b01c3..92f9d198 100644 --- a/fiboa_cli/datasets/ec_fr.py +++ b/fiboa_cli/datasets/ec_fr.py @@ -4,6 +4,7 @@ class Converter(EuroCropsConverterMixin, FiboaBaseConverter): hcat_mapping_csv = "fr_2018.csv" + hcat_mapping_supplements = ["https://fiboa.org/code/fr/fr_2018_supplement.csv"] ec_year = 2018 sources = { "https://zenodo.org/records/14094196/files/FR_2018.zip": ["FR_2018/FR_2018_EC21.shp"] diff --git a/fiboa_cli/datasets/ec_nl_crop.py b/fiboa_cli/datasets/ec_nl_crop.py index d59e64f8..d44994d8 100644 --- a/fiboa_cli/datasets/ec_nl_crop.py +++ b/fiboa_cli/datasets/ec_nl_crop.py @@ -4,6 +4,7 @@ class NLEuroCropConverter(EuroCropsConverterMixin, NLCropConverter): hcat_mapping_csv = "nl_2020.csv" + hcat_mapping_supplements = ["https://fiboa.org/code/nl/nl_2020_supplement.csv"] def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/fiboa_cli/datasets/ec_si.py b/fiboa_cli/datasets/ec_si.py index 99293201..f732e055 100644 --- a/fiboa_cli/datasets/ec_si.py +++ b/fiboa_cli/datasets/ec_si.py @@ -6,6 +6,7 @@ class Converter(EuroCropsConverterMixin, FiboaBaseConverter): area_is_in_ha = False hcat_mapping_csv = "si_2021.csv" hcat_mapping_supplements = ["https://fiboa.org/code/si/si_2021_supplement.csv"] + hcat_supplement_key = "crop_type_class" ec_year = 2021 sources = { "https://zenodo.org/records/10118572/files/SI_2021.zip?download=1": ["SI_2021_EC21.shp"] @@ -48,5 +49,5 @@ class Converter(EuroCropsConverterMixin, FiboaBaseConverter): } def add_hcat(self, gdf): - # skip adding hcat - return gdf + # the source carries HCAT and has no crop:code; only apply the supplement + return self.correct_resolved_hcat(gdf) diff --git a/tests/data-files/convert/ec_fr/fr_2018_supplement.csv b/tests/data-files/convert/ec_fr/fr_2018_supplement.csv new file mode 100644 index 00000000..eaa64945 --- /dev/null +++ b/tests/data-files/convert/ec_fr/fr_2018_supplement.csv @@ -0,0 +1,2 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +TOP,Topinambour,Jerusalem artichoke,topinambur_jerusalem_artichoke,3301180000 diff --git a/tests/test_converters.py b/tests/test_converters.py index d84c9f84..31761688 100644 --- a/tests/test_converters.py +++ b/tests/test_converters.py @@ -453,3 +453,29 @@ def square(x, side): # one value for every row, so it is written to the collection metadata collection = json.loads(pq.ParquetFile(tmp_parquet_file).schema_arrow.metadata[b"collection"]) assert collection["determination:datetime"] == "2025-01-01T00:00:00Z" + + +def test_supplement_corrects_hcat_the_source_resolved(monkeypatch): + """EuroCrops ships HCAT in the shapefile; a supplement still wins for its codes.""" + supplement = [ + { + "original_code": "TOP", + "translated_name": "Jerusalem artichoke", + "HCAT3_name": "topinambur_jerusalem_artichoke", + "HCAT3_code": "3301180000", + } + ] + monkeypatch.setattr( + "fiboa_cli.datasets.commons.hcat.load_hcat_mapping", lambda *a, **kw: supplement + ) + gdf = gpd.GeoDataFrame( + { + "CODE_CULTU": ["TOP", "BTH"], + "EC_trans_n": ["Jerusalem artichoke", "Winter soft wheat"], + "EC_hcat_n": ["topinambur_jerusalem_artichoke", "winter_common_soft_wheat"], + "EC_hcat_c": ["3301290900", "3301010104"], + }, + geometry=[Point(0, 0), Point(1, 1)], + ) + out = Converters().load("ec_fr").correct_resolved_hcat(gdf) + assert out["EC_hcat_c"].tolist() == ["3301180000", "3301010104"] From 375952061817582eaaaeae074eae279b4bc7f0ba Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Fri, 25 Sep 2026 12:29:35 +0200 Subject: [PATCH 2/5] Check the HCAT tables as the converters apply them, online too - test_hcat_codes builds each converter's table with its supplements, so KNOWN_BAD can go; fixtures refreshed from fiboa.org where they were stale - pixi run check-hcat runs the same check against the published tables Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 1 + pixi.lock | 2 +- pyproject.toml | 2 + scripts/check_hcat.py | 75 +++++++++++++++++ .../convert/be_vlg/vlg_supplement.csv | 35 ++++++++ tests/data-files/convert/cz/cz_supplement.csv | 2 + .../convert/de_bb/de_supplement.csv | 3 + tests/data-files/convert/dk/dk_supplement.csv | 32 ++++++++ .../convert/ec_si/si_2021_supplement.csv | 2 + tests/data-files/convert/ee/ee.csv | 6 +- tests/data-files/convert/fr/fr.csv | 2 +- tests/data-files/convert/nl/nl.csv | 29 ++++--- tests/data-files/convert/si/si.csv | 6 +- tests/data-files/convert/sk/sk.csv | 81 ++++++++++++++++++- tests/test_hcat_codes.py | 63 +++++++++------ 15 files changed, 297 insertions(+), 44 deletions(-) create mode 100644 scripts/check_hcat.py create mode 100644 tests/data-files/convert/be_vlg/vlg_supplement.csv create mode 100644 tests/data-files/convert/de_bb/de_supplement.csv create mode 100644 tests/data-files/convert/dk/dk_supplement.csv create mode 100644 tests/data-files/convert/ec_si/si_2021_supplement.csv diff --git a/CHANGELOG.md b/CHANGELOG.md index c02ea68d..66f09e5e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] ### Added +- Added `pixi run check-hcat`, which compares the HCAT mapping tables the converters read online with the taxonomy. - Added `FiboaDuckDBBaseConverter` for SQL-based conversion of large Parquet sources. - Added `PerFileBaseConverter` to process multi-file sources incrementally. - Added support for supplementary HCAT/crop mappings via `hcat_mapping_supplements`. diff --git a/pixi.lock b/pixi.lock index d36dc2e9..92f7a40d 100644 --- a/pixi.lock +++ b/pixi.lock @@ -4765,7 +4765,7 @@ packages: - pypi: ./ name: fiboa-cli version: 0.21.0 - sha256: 537013851e61795948896221dda7462beebd711be58e95b5eab43c9542e9f3e0 + sha256: 6a751743588959508c3a958910a711b1c578818b4b9226a7b60b2e2de64d52ad requires_dist: - vecorel-cli==0.3.0 - beautifulsoup4>=4.12 diff --git a/pyproject.toml b/pyproject.toml index 98f2634e..5fc90aa8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -90,6 +90,8 @@ test = "pytest --cov=fiboa_cli --cov-report=term-missing --cov-report=html --cov lint = "ruff check --fix" format = "ruff format" check = {depends-on = ["lint", "format", "test"]} +# Compare the HCAT mapping tables the converters read online with the taxonomy +check-hcat = "python scripts/check_hcat.py" build = "python -m build" # Pre-commit tasks diff --git a/scripts/check_hcat.py b/scripts/check_hcat.py new file mode 100644 index 00000000..92595050 --- /dev/null +++ b/scripts/check_hcat.py @@ -0,0 +1,75 @@ +"""Check the HCAT mapping tables the converters read online against https://fiboa.org/code/hcat3.csv. + +The offline counterpart is tests/test_hcat_codes.py, which only sees the fixtures. +Run with `pixi run check-hcat`; exits non-zero when a row disagrees with the taxonomy. +""" + +import csv +import io +import sys +from collections import defaultdict + +import requests + +from fiboa_cli.converters import Converters +from fiboa_cli.datasets.commons.hcat import AddHCATMixin, hcat_mapping_url + +TAXONOMY = "https://fiboa.org/code/hcat3.csv" +_tables = {} + + +def fetch(url): + if url not in _tables: + response = requests.get(url, timeout=60) + if response.status_code != 200: + _tables[url] = None + else: + try: + text = response.content.decode("utf-8") + except UnicodeDecodeError: + text = response.content.decode("latin-1") + _tables[url] = list(csv.DictReader(io.StringIO(text))) + return _tables[url] + + +def row_key(row): + return (row.get("original_code") or "").strip() or (row.get("original_name") or "").strip() + + +def main(): + taxonomy = {r["HCAT3_name"].strip(): r["HCAT3_code"].strip() for r in fetch(TAXONOMY)} + problems = defaultdict(set) + unreachable = defaultdict(set) + converters = Converters() + for _id in sorted(converters.list_ids()): + converter = converters.load(_id) + if not isinstance(converter, AddHCATMixin) or not converter.hcat_mapping_csv: + continue + rows = {} + for url in [converter.hcat_mapping_csv, *converter.hcat_mapping_supplements]: + table = fetch(hcat_mapping_url(url)) + if table is None: + unreachable[hcat_mapping_url(url)].add(_id) + continue + rows |= {row_key(r): r for r in table} + for row in rows.values(): + name = (row.get("HCAT3_name") or "").strip() + code = (row.get("HCAT3_code") or "").strip() + if not name and not code: + continue + if name not in taxonomy: + problems[f"{name!r} ({code}) is not an HCAT class"].add(_id) + elif taxonomy[name] != code: + problems[f"{name} has {code}, the taxonomy says {taxonomy[name]}"].add(_id) + + for url, ids in sorted(unreachable.items()): + print(f"unreachable: {url} ({', '.join(sorted(ids))})") + for problem, ids in sorted(problems.items()): + print(f"{problem}: {', '.join(sorted(ids))}") + if not problems and not unreachable: + print("All mapping tables agree with the taxonomy.") + return 1 if problems or unreachable else 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/tests/data-files/convert/be_vlg/vlg_supplement.csv b/tests/data-files/convert/be_vlg/vlg_supplement.csv new file mode 100644 index 00000000..023028a3 --- /dev/null +++ b/tests/data-files/convert/be_vlg/vlg_supplement.csv @@ -0,0 +1,35 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +47,Goudsbloem,Marigold,calendula_marigold,3301061210 +48,Deder/huttentut,Camelina,camelina,3301061500 +391,Mengteelt andere wintergranen en winterteelt vlinderbloemige,Intercropping other winter cereals and winter legume,unspecified_cereals,3301011500 +392,Mengteelt zomergranen en zomerteelt vlinderbloemige,Intercropping spring cereals and spring legume,unspecified_cereals,3301011500 +395,Mengteelt wintertarwe of triticale en winterteelt vlinderbloemige,Intercropping winter wheat or triticale and winter legume,winter_common_soft_wheat,3301010101 +451,Wintervlas (olieproductie),Winter flax (oil production),flax_linseed_oil,3301060702 +511,Voedererwten (winterteelt) - niet menselijke consumptie,Fodder peas (winter) - not for human consumption,peas,3301020600 +512,Voedererwten (zomerteelt) - niet menselijke consumptie,Fodder peas (spring) - not for human consumption,peas,3301020600 +513,Drooggeoogste erwten (voor menselijke consumptie),Dry harvested peas (for human consumption),peas,3301020600 +521,Winterveldbonen - niet menselijke consumptie,Winter field beans - not for human consumption,beans,3301020100 +522,Zomerveldbonen - niet menselijke consumptie,Spring field beans - not for human consumption,beans,3301020100 +523,Drooggeoogste Vicia bonen (voor menselijke consumptie),Dry harvested Vicia beans (for human consumption),beans,3301020100 +524,Drooggeoogste Phaseolus bonen (voor menselijke consumptie),Dry harvested Phaseolus beans (for human consumption),beans,3301020100 +634,Mengsel met overwegend Japanse haver en vlinderbloemigen,Mixture predominantly Japanese oats with legumes,oats,3301010500 +635,Mengsel met overwegend Japanse haver zonder vlinderbloemigen,Mixture predominantly Japanese oats without legumes,oats,3301010500 +655,Sareptamosterd,Brown mustard,mustard,3301210100 +749,Mengsel met 1 of meerdere vlinderbloemigen,Mixture with one or more legumes,legumes_dried_pulses_protein_crops,3301020000 +858,Andere meerjarige kruiden - industrie,Other perennial herbs - industry,unspecified_aromatic_medicinal_culinary_plants_spices_herbs,3301061298 +881,Engelwortel - vers,Angelica - fresh,angelica,3301061204 +899,Rotatieteelt van groentegewassen (vb pluktuin),Rotational cultivation of vegetable crops,fresh_vegetables,3301070000 +907,Aardappelen (gecertificeerd pootgoed),Potatoes (certified seed),potatoes,3301030000 +908,Aardappelen (hoevepootgoed),Potatoes (farm-saved seed),potatoes,3301030000 +923,Wintervlas (vezelproductie en industriële toepassingen),Winter flax (fibre production and industrial use),flax_linen,3301060701 +933,Kikkererwten,Chickpeas,chickpeas,3301020200 +934,Linzen,Lentils,lentils,3301020500 +6041,Zaaizaad wintervlas,Seed of winter flax,flax_linen,3301060701 +8526,Chinese kool - industrie,Chinese cabbage - industry,chinese_cabbage,3301210205 +8531,Radijs - industrie,Radish - industry,radish,3301290600 +8532,Rode biet - industrie,Beetroot - industry,beetroot_beets,3301290200 +8545,Raketsla - Rucola - industrie,Rocket - industry,rocket_arugula,3301310600 +8552,Tomaten - industrie,Tomatoes - industry,tomato,3301280000 +8553,Paprika - industrie,Bell pepper - industry,bell_pepper_paprika,3301300100 +8581,Andere meerjarige kruiden - vers,Other perennial herbs - fresh,aromatic_medicinal_culinary_plants_spices_herbs,3301061200 +9571,Begonia voor de knol,Begonia for the tuber,begonias,3301080400 diff --git a/tests/data-files/convert/cz/cz_supplement.csv b/tests/data-files/convert/cz/cz_supplement.csv index 447b2b76..377c2b4d 100644 --- a/tests/data-files/convert/cz/cz_supplement.csv +++ b/tests/data-files/convert/cz/cz_supplement.csv @@ -167,3 +167,5 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 50371,Směs pro ozeleněný kolejový řádek,Mixture for a greened tramline,not_known_and_other,3399000000 50372,Směs pro ochranný pás kolem KP,Protective strip mixture around a landscape feature,not_known_and_other,3399000000 50374,Chřestnatec,Unidentified species (chřestnatec),not_known_and_other,3399000000 +389,Petržel kořenová,Petroselinum,parsly,3301061227 +390,Petržel naťová,Parsley,parsly,3301061227 diff --git a/tests/data-files/convert/de_bb/de_supplement.csv b/tests/data-files/convert/de_bb/de_supplement.csv new file mode 100644 index 00000000..cbba0d54 --- /dev/null +++ b/tests/data-files/convert/de_bb/de_supplement.csv @@ -0,0 +1,3 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +659,Petersilie,parsley/Petroselinum (parsley),parsly,3301061227 +860,Spargel,asparagus,asparagus,3301200000 diff --git a/tests/data-files/convert/dk/dk_supplement.csv b/tests/data-files/convert/dk/dk_supplement.csv new file mode 100644 index 00000000..ad17ed4f --- /dev/null +++ b/tests/data-files/convert/dk/dk_supplement.csv @@ -0,0 +1,32 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +19,Majs til modenhed med græsudlæg,Maize for maturity with grass undersowing,grain_maize_corn_popcorn,3301010600 +26,Linser,Lentils,lentils,3301020500 +41,Spindhør,Fibre flax,flax_linen,3301060701 +70,"Vårbyg, efterårssået","Spring barley, autumn sown",spring_barley,3301010402 +71,"Vårhvede, efterårssået","Spring wheat, autumn sown",spring_common_soft_wheat,3301010102 +72,"Vårhavre, efterårssået","Spring oats, autumn sown",spring_oats,3301010502 +127,Lucernefrø,Alfalfa seed,alfalfa_lucerne,3301090301 +154,"Kartofler, spise- (proces, skrællet kogte)","Potatoes, table (processed, peeled boiled)",potatoes,3301030000 +155,"Kartofler, pulver/granules-","Potatoes, powder/granules",potatoes,3301030000 +156,"Kartofler, friteret/chips/pommes frites","Potatoes, fried/chips",potatoes,3301030000 +157,"Kartofler, spise- tidligt høstede med efterafgrøder","Potatoes, table, early harvested with catch crops",potatoes,3301030000 +218,Majshelsæd med græsudlæg,Maize wholecrop with grass undersowing,green_silo_maize,3301090400 +224,"Blandkorn, efterårssået helsæd","Meslin, autumn sown wholecrop",winter_meslin,3301011101 +236,"Græs med kløver/lucerne, under 50 % bælgpl. (omdrift) efterårsudlagt i vinterkorn til grønkorn","Grass with clover/alfalfa, under 50% legume (rotation), autumn sown in winter cereal for green fodder",plants_harvested_green,3301090000 +237,"Græs med kløver/lucerne, over 50 % bælgpl. (omdrift) efterårsudlagt i vinterkorn til grønkorn","Grass with clover/alfalfa, over 50% legume (rotation), autumn sown in winter cereal for green fodder",clover,3301090303 +345,"Brak langs vandløb og søer, slåning (alternativ til efterafgrøder)","Fallow along watercourses and lakes, mown",fallow_land_not_crop,3301110000 +425,Sukkermajs med græsudlæg,Sweetcorn with grass undersowing,grain_maize_corn_popcorn,3301010600 +426,"Bønner, andre","Beans, other",beans,3301020100 +427,Babyleaves,Baby leaves,salads_lettuce_leaf_vegetables,3301310000 +428,Spidskål,Pointed cabbage,savoy_cabbage,3301210211 +482,Skovlandbrug med permanent græs,Agroforestry with permanent grass,tree_wood_forest,3306000000 +483,Skovlandbrug med græs i omdrift,Agroforestry with grass in rotation,tree_wood_forest,3306000000 +484,Skovlandbrug med omdriftsafgrøder,Agroforestry with rotational crops,tree_wood_forest,3306000000 +485,Skovlandbrug med permanente afgrøder,Agroforestry with permanent crops,tree_wood_forest,3306000000 +490,"Hassel, træ (Corylus avellana)","Hazel, tree (Corylus avellana)",hazelnuts_hazel,3303030200 +491,Storfrugtet tranebær,Large cranberry,cranberry,3303020500 +496,"Medicinpl., vedplanter","Medicinal plants, woody",aromatic_medicinal_culinary_plants_spices_herbs,3301061200 +535,Bærmispel,Juneberry,amelanchier_serviceberry,3303010100 +565,"Skovrejsning, direktivimplementerende uden tilsagn","Afforestation, directive-implementing without commitment",afforestation_reforestation,3306010000 +566,"Klimaskovrejsning, national ordning","Climate afforestation, national scheme",afforestation_reforestation,3306010000 +575,Skovrejsning (privat) - kulstofbinding og grundvandsbeskyttelse,Afforestation (private) - carbon capture and groundwater protection,afforestation_reforestation,3306010000 diff --git a/tests/data-files/convert/ec_si/si_2021_supplement.csv b/tests/data-files/convert/ec_si/si_2021_supplement.csv new file mode 100644 index 00000000..d36b2893 --- /dev/null +++ b/tests/data-files/convert/ec_si/si_2021_supplement.csv @@ -0,0 +1,2 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +704,trsnice,Vine nurseries,nurseries_nursery,3303070000 diff --git a/tests/data-files/convert/ee/ee.csv b/tests/data-files/convert/ee/ee.csv index 35f7fb11..95c3483e 100644 --- a/tests/data-files/convert/ee/ee.csv +++ b/tests/data-files/convert/ee/ee.csv @@ -273,7 +273,7 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code,HCAT2_name,HCA 0272,"sinerõigas, harilik",Common oil radish,radish,3301290600,radish,3301290600 0273,"harilik sibul ""Jõgeva 3""","Onion ""Jõgeva 3""",onions,3301220400,onions,3301220400 0274,"põldhernes ""Kirke"" tugikultuuriga (vähemalt 70% põldhernest ""Kirke"")","Field pea ""Kirke"" with support crop (at least 70%)",peas,3301020600,peas,3301020600 -0275,maguslupiin,Sweet lupin,lupins,3301020300,legumes_dried_pulses_protein_crops,3301020000 +0275,maguslupiin,Sweet lupin,sweet_lupins,3301020700,legumes_dried_pulses_protein_crops,3301020000 0276,muu söödapeet,Other fodder beet,mangelwurzel_fodder_beet,3301290400,mangelwurzel_fodder_beet,3301290400 0277,"suvitritikale allakülviga, v.a liblikõieliste allakülviga",Spring triticale undersown (excl. legumes),spring_triticale,3301010802,spring_triticale,3301010802 0278,punane peakapsas,Red head cabbage,brassica_oleracea_cabbage,3301210200,brassica_oleracea_cabbage,3301210200 @@ -282,14 +282,14 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code,HCAT2_name,HCA 0281,"mädarõigas, aed-",Garden horseradish,horseradish,3301210400,horseradish,3301210400 0282,lehtpeet,Leaf beet (chard),beetroot_beets,3301290200,beetroot_beets,3301290200 0283,"kartul ""Väike verev""","Potato ""Väike verev""",potatoes,3301030000,potatoes,3301030000 -0284,kiulina,Fibre flax,flax_fibre,3301060701,flax_fibre,3301060701 +0284,kiulina,Fibre flax,flax_linen,3301060701,flax_linen,3301060701 0285,toompihlakas,Serviceberry (Amelanchier),berries_berry_species,3303020000,berries_berry_species,3303020000 0286,"kanep, Bialobrzeskie",Hemp Bialobrzeskie,hemp_cannabis,3301061000,hemp_cannabis,3301061000 0287,"nõges, kõrve-",Stinging nettle,other_aromatic_medicinal_culinary_plants_spices_herbs,3301061299,aromatic_medicinal_culinary_plants_spices_herbs,3301061200 0288,"münt, vääris-",Apple mint,mints_peppermint,3301061222,mints_peppermint,3301061222 0289,"monarda, sidrun-",Lemon beebalm,other_aromatic_medicinal_culinary_plants_spices_herbs,3301061299,aromatic_medicinal_culinary_plants_spices_herbs,3301061200 0290,"münt, rohe-",Spearmint,mints_peppermint,3301061222,mints_peppermint,3301061222 -0291,sojauba,Soybean,soybeans,3301020700,legumes_dried_pulses_protein_crops,3301020000 +0291,sojauba,Soybean,soy_soybeans,3301160000,legumes_dried_pulses_protein_crops,3301020000 0292,"harakputk, aed-",Garden chervil,chervil,3301061214,chervil,3301061214 0293,harilik lutsern (100% lutsern),Alfalfa (100% alfalfa),alfalfa_lucerne,3301090301,alfalfa_lucerne,3301090301 0294,"harilik nõiahammas (vähemalt 80% nõiahammast, kuni 20% heintaimi)",Birdsfoot trefoil (at least 80%),lotus,3301082600,lotus,3301082600 diff --git a/tests/data-files/convert/fr/fr.csv b/tests/data-files/convert/fr/fr.csv index 0f5e8a69..201ccfda 100644 --- a/tests/data-files/convert/fr/fr.csv +++ b/tests/data-files/convert/fr/fr.csv @@ -306,7 +306,7 @@ TAB,Tabac,Tobacco,tobacco,3301060100,tobacco,3301060100,EuroCrops fr_2018.csv TCR,Taillis à courte rotation,Short rotation coppice,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000,EuroCrops fr_2018.csv THY,Thym,Thyme,thyme,3301061237,thyme,3301061237,EuroCrops fr_2018.csv TOM,Tomate,Tomato,tomato,3301280000,tomato,3301280000,EuroCrops fr_2018.csv -TOP,Topinambour,Jerusalem artichoke,topinambur_jerusalem_artichoke,3301290900,topinambur_jerusalem_artichoke,3301290900,EuroCrops fr_2018.csv +TOP,Topinambour,Jerusalem artichoke,topinambur_jerusalem_artichoke,3301180000,topinambur_jerusalem_artichoke,3301180000,EuroCrops fr_2018.csv TOT,Tomate pour transformation,Tomato for processing,tomato,3301280000,tomato,3301280000,EuroCrops fr_2018.csv TR5,Trèfle implante pour la recolte 2015,Clover planted for the 2015 harvest,clover,3301090303,clover,3301090303,EuroCrops fr_other_years.csv TR6,Trèfle implanté pour la récolte 2016,Clover planted for the 2016 harvest,clover,3301090303,clover,3301090303,EuroCrops fr_2018.csv diff --git a/tests/data-files/convert/nl/nl.csv b/tests/data-files/convert/nl/nl.csv index 93dc00e7..7e36f2ba 100644 --- a/tests/data-files/convert/nl/nl.csv +++ b/tests/data-files/convert/nl/nl.csv @@ -83,8 +83,8 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 968,"Gladiool, droogbloemen",Gladiolus dried flowers,gladiolus_gladioli,3301082100 970,"Hyacint, overige bloemkwekerijgewassen",Hyacinth other flower nursery crops,other_flowers_ornamental_plants,3301089900 971,"Hyacint, droogbloemen",Hyacinth dried flowers,other_flowers_ornamental_plants,3301089900 -973,"Iris, overige bloemkwekerijgewassen",Iris other flower nursery crops,iris,3301082200 -974,"Iris, droogbloemen",Iris dried flowers,iris,3301082200 +973,"Iris, overige bloemkwekerijgewassen",Iris other flower nursery crops,iris,3301082300 +974,"Iris, droogbloemen",Iris dried flowers,iris,3301082300 976,"Krokus, overige bloemkwekerijgewassen",Crocus other flower nursery crops,saffron_crocus_sativus,3301061232 979,"Lelie, overige bloemkwekerijgewassen",Lily other flower nursery crops,lilies,3301082500 982,"Narcis, overige bloemkwekerijgewassen",Narcissus other flower nursery crops,narcissus_daffodil,3301083300 @@ -123,8 +123,8 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 1033,Igniscum Candy,Igniscum Candy,igniscum_candy,3304020100 1034,Kanariezaad,canary seed,canary_seed_canaryseed,3301011400 1035,Naaldaar (Setaria),Needle (Setaria),setaria,3301090206 -1036,Wortelpeterselie,parsley root,parsley,3301061227 -1037,"Peterselie, productie",Parsley production,parsley,3301061227 +1036,Wortelpeterselie,parsley root,parsly,3301061227 +1037,"Peterselie, productie",Parsley production,parsly,3301061227 1039,"Chrysant, overige bloemkwekerijgewassen",Chrysanthemum other flower nursery crops,chrysanthemum,3301080900 1042,"Angelica, productie",Angelica production,angelica,3301061204 1044,Papaver,Poppy,poppy,3301060600 @@ -133,8 +133,8 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 1047,Cranberry,cranberry,cranberry,3303020500 1048,"Echinacea (zonnehoed), productie",Echinacea (coneflower) production,echinacea_sun_hat,3301081500 1050,Leeuwenbekjes,Snapdragons,snapdragons,3301084500 -1051,"Iris, Bolvormend",Iris Spherical,iris,3301082200 -1052,"Iris, Rhizoomvormend",Iris Rhizomatous,iris,3301082200 +1051,"Iris, Bolvormend",Iris Spherical,iris,3301082300 +1052,"Iris, Rhizoomvormend",Iris Rhizomatous,iris,3301082300 1053,"Palmen, pot- en containervelden",Palms pot and container fields,other_tree_wood_forest,3306990000 1054,"Pioenroos, vermeerdering",Peony propagation,peony_peonies,3301083400 1067,"Bos- en haagplanten, open grond,",Forest and hedge plants open ground,tree_wood_forest,3306000000 @@ -188,7 +188,7 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 1935,Maiskolvesilage,Corn silage,green_silo_maize,3301090400 1936,"Bos, blijvend, met herplantplicht",Forest permanent with replanting obligation,tree_wood_forest,3306000000 1940,Voedselbos,food forest,tree_wood_forest,3306000000 -1949,Aardperen,Topinambur,topinambur_jerusalem_artichoke,3301290900 +1949,Aardperen,Topinambur,topinambur_jerusalem_artichoke,3301180000 2014,"Aardappelen, consumptie",Potatoes consumption,potatoes,3301030000 2015,"Aardappelen, poot NAK",Potatoes leg NAK,potatoes,3301030000 2016,"Aardappelen, poot TBM",Potatoes leg TBM,potatoes,3301030000 @@ -397,11 +397,11 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 6803,"Sneeuwklokje, bloembollen en -knollen",Snowdrop flower bulbs and tubers,other_flowers_ornamental_plants,3301089900 6746,"Beemdlangbloem, graszaad",Meadow foxtail grass seed,pasture_meadow_grassland_grass,3302000000 6798,Perceel bedekt met gewasresten (mulching),Plot covered with crop residues (mulching),fallow_land_not_crop,3301110000 -1038,"Peterselie, zaden en opkweekmateriaal",Parsley seeds and propagation material,parsley,3301061227 +1038,"Peterselie, zaden en opkweekmateriaal",Parsley seeds and propagation material,parsly,3301061227 6757,"Klaver, Alexandrijnse, klaverzaad",Alexandrian clover seed,clover,3301090303 983,"Narcis, droogbloemen",Daffodil dried flowers,narcissus_daffodil,3301083300 6786,"Timothee, graszaad",Timothy grass seed,timothy,3301090209 -6749,Bieslook,Chives,parsley,3301061227 +6749,Bieslook,Chives,chives,3301220100 6753,"Festulolium, groenbemesting, vanggewas",Festulolium green manure catch crop,festulolium,3301090204 2730,"Komkommer, zaden en opkweekmateriaal",Cucumber seeds and propagation material,cucumber_pickle,3301140100 2733,"Meloen, productie",Melon production,fresh_vegetables,3301070000 @@ -413,3 +413,14 @@ original_code,original_name,translated_name,HCAT3_name,HCAT3_code 986,"Tulp, droogbloemen",Tulip dried flowers,tulips,3301084900 2740,"Koolrabi, zaden en opkweekmateriaal",Kohlrabi seeds and propagation material,kohlrabi,3301210209 6761,"Klaver, Perzische, klaverzaad",Persian clover seed,clover,3301090303 +669,Zwaardherik (aaltjesvanggewas),Rocket (nematode catch crop),rocket_arugula,3301310600 +1011,"Sierui, droogbloemen",Ornamental onions dried flowers,other_flowers_ornamental_plants,3301089900 +1055,"Chrysant, vermeerdering",Chrysanthemum propagation,chrysanthemum,3301080900 +2738,"Koolraap, zaden en opkweekmateriaal",Rutabaga seeds and propagation material,swede_rutabaga,3301210500 +7136,Anna paulowna,Paulownia,other_tree_wood_forest,3306990000 +7139,"Notenbomen, hazelnoot",Nut trees hazelnut,hazelnuts_hazel,3303030200 +7193,"Notenbomen, walnoot",Nut trees walnut,walnuts,3303030600 +7194,"Notenbomen, overig",Nut trees other,nuts,3303030000 +7195,Bosui,Bunching onion,scallion,3301220500 +7196,Lente-ui,Spring onion,scallion,3301220500 +7197,Bamboe,Bamboo,poaceae_grasses,3301090200 diff --git a/tests/data-files/convert/si/si.csv b/tests/data-files/convert/si/si.csv index ca026ab0..eb630158 100644 --- a/tests/data-files/convert/si/si.csv +++ b/tests/data-files/convert/si/si.csv @@ -124,7 +124,7 @@ original_code,original_name,latin_name,translated_name,HCAT3_name,HCAT3_code 699,mešane sadne vrste,Mixed fruit plants,Mixed fruit plants,orchards_fruits,3303010000 702,drevesnice,Nurseries,Nurseries,nurseries_nursery,3303070000 703,šparglji,Asparagus officinalis,Garden asparagus,asparagus,3301200000 -704,trsnice,Vine nurseries,Vine nurseries,vineyards_wine_vine_rebland_grapes,3303070000 +704,trsnice,Vine nurseries,Vine nurseries,nurseries_nursery,3303070000 705,"mešane trajne rastline pod 0,1 ha","Mixed permanent crops on field under 0,1 ha size","Mixed permanent crops on field under 0,1 ha size",permanent_crops_perennial,3303000000 706,"trta za drugo rabo, ki ni vino ali namizno grozdje",Vines for other uses than for wine or fruits,Vines for other uses than for wine or fruits,vineyards_wine_vine_rebland_grapes,3303060000 707,matičnjak,Root-stock nursery,Root-stock nursery,nurseries_nursery,3303070000 @@ -171,10 +171,10 @@ original_code,original_name,latin_name,translated_name,HCAT3_name,HCAT3_code 399,"čičerika od 0,1 ha","Cicer arietinum (from 0.1 ha size)",Chickpeas (from 0.1 ha),chickpeas,3301020200 723,tobakovec,Nicotiana tabacum L.,Tobacco,other_arable_land_crops,3301990000 810,grašica (ozimna),Vicia villosa R.,Winter vetch,peas,3301020600 -635,pistacija,Pistacia vera,Pistachio,pistachios,3303030400 +635,pistacija,Pistacia vera,Pistachio,pistachio,3303030400 023,kvinoja,Chenopodium quinoa,Quinoa,other_cereals,3301019900 395,"bob od 0,1 ha","Vicia faba (from 0,1 ha size)",Field bean (from 0.1 ha),beans,3301020100 220,aleksandrijska detelja,Trifolium alexandrinum L,Egyptian clover,clover,3301090303 396,"grah od 0,1 ha","Pisum sativum (from 0,1 ha size)",Pea (from 0.1 ha),peas,3301020600 -398,"leča od 0,1 ha","Lens culinaris (from 0,1 ha size)",Lentils (from 0.1 ha),lentils,3301020300 +398,"leča od 0,1 ha","Lens culinaris (from 0,1 ha size)",Lentils (from 0.1 ha),lentils,3301020500 021,soržica (jara),Meslin,Meslin (spring),spring_meslin,3301011102 diff --git a/tests/data-files/convert/sk/sk.csv b/tests/data-files/convert/sk/sk.csv index 8f0eff8c..f5b0e4ea 100644 --- a/tests/data-files/convert/sk/sk.csv +++ b/tests/data-files/convert/sk/sk.csv @@ -76,7 +76,7 @@ Lupina biela,White lupine,sweet_lupins,3301020700,sweet_lupins,3301020700 Repa obyčajná cviklová (Cvikla),Beetroot (Beetroot),beetroot_beets,3301290200,beetroot_beets,3301290200 Ďatelina hybridná,Hybrid clover,clover,3301090303,clover,3301090303 Rajčiak jedlý,Edible tomato,tomato,3301280000,tomato,3301280000 -Petržlen záhradný,Garden parsley,parsley,3301061227,parsley,3301061227 +Petržlen záhradný,Garden parsley,parsly,3301061227,parsly,3301061227 Čerešňa vtáčia,Bird cherry,cherry_cherries,3303010400,cherry_cherries,3303010400 Cibuľa (zimná),Scallion,scallion,3301220500,onions,3301220400 Repa kŕmna,Fodder beet,mangelwurzel_fodder_beet,3301290400,mangelwurzel_fodder_beet,3301290400 @@ -202,7 +202,7 @@ Vinohrad v reštrukturalizácii,Vineyard under restructuring,vineyards_wine_vine Ostatná manipulačná plocha,Other handling area,not_known_and_other,3399000000,not_known_and_other,3399000000 Strukovinovo-obilná miešanka,Legume-cereal mixture,other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 Olejninovo-obilná miešanka,Oilseed-cereal mixture,other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 -Cuketa,Zucchini,zucchini_courgette,3301140200,zucchini_courgette,3301140200 +Cuketa,Zucchini,zucchini_courgette,3301140600,zucchini_courgette,3301140600 Cirok s podsevom,Sorghum with undersowing,millet_sorghum,3301010900,millet_sorghum,3301010900 Pamajorán obyčajný (oregano),Oregano,aromatic_medicinal_culinary_plants_spices_herbs,3301061200,aromatic_medicinal_culinary_plants_spices_herbs,3301061200 Šalvia muškátová,Clary sage,aromatic_medicinal_culinary_plants_spices_herbs,3301061200,aromatic_medicinal_culinary_plants_spices_herbs,3301061200 @@ -242,4 +242,79 @@ Echinacea purpurová,Purple coneflower,echinacea_sun_hat,3301081500,echinacea_su Čakanka obyčajná šalátová,Chicory (salad),chicory_chicories,3301310200,chicory_chicories,3301310200 Kapusta repková kvaková (kvaka),Swede (rutabaga),swede_rutabaga,3301210500,swede_rutabaga,3301210500 Šalotka (jarná),Shallot (spring),onions,3301220400,onions,3301220400 -Kapusta hlávková s podsevom,Head cabbage with undersowing,white_cabbage,3301210212,white_cabbage,3301210212 \ No newline at end of file +Kapusta hlávková s podsevom,Head cabbage with undersowing,white_cabbage,3301210212,white_cabbage,3301210212 +Tritikale ozimné,Winter triticale,winter_triticale,3301010801,winter_triticale,3301010801 +Tritikale jarné,Spring triticale,spring_triticale,3301010802,spring_triticale,3301010802 +Zemiaky,Potatoes,potatoes,3301030000,potatoes,3301030000 +Zemiaky konzumné,Ware potatoes,potatoes,3301030000,potatoes,3301030000 +Ostrov biodiverzity,Biodiversity island,not_known_and_other,3399000000,not_known_and_other,3399000000 +Ostrov biodiverzity medonosný,Melliferous biodiversity island,not_known_and_other,3399000000,not_known_and_other,3399000000 +Biopás pre medonosné plodiny kosený po 31. júli,Melliferous field strip mown after 31 July,not_known_and_other,3399000000,not_known_and_other,3399000000 +Pôda ležiaca úhorom s produkciou s hnojením,Fallow with production and fertilisation,fallow_land_not_crop,3301110000,fallow_land_not_crop,3301110000 +Pôda ležiaca úhorom s produkciou bez hnojenia,Fallow with production without fertilisation,fallow_land_not_crop,3301110000,fallow_land_not_crop,3301110000 +Tekvica,Pumpkin,pumpkin_squash_gourd,3301140400,pumpkin_squash_gourd,3301140400 +Patizón,Pattypan squash,pumpkin_squash_gourd,3301140400,pumpkin_squash_gourd,3301140400 +Kapusta,Cabbage,brassica_oleracea_cabbage,3301210200,brassica_oleracea_cabbage,3301210200 +Kel,Savoy cabbage,savoy_cabbage,3301210211,savoy_cabbage,3301210211 +Kel hlávkový s podsevom,Savoy cabbage undersown,savoy_cabbage,3301210211,savoy_cabbage,3301210211 +Kapusta pekinská,Chinese cabbage,chinese_cabbage,3301210205,chinese_cabbage,3301210205 +Kapusta čínska,Chinese cabbage,chinese_cabbage,3301210205,chinese_cabbage,3301210205 +Kaleráb,Kohlrabi,kohlrabi,3301210209,kohlrabi,3301210209 +Brokolica,Broccoli,broccoli,3301210202,broccoli,3301210202 +Reďkev,Radish,radish,3301290600,radish,3301290600 +Reďkev siata (čierna a reďkovka),Radish (black and small),radish,3301290600,radish,3301290600 +Reďkovka,Small radish,radish,3301290600,radish,3301290600 +Paprika,Pepper,bell_pepper_paprika,3301300100,bell_pepper_paprika,3301300100 +Cibuľa,Onion,onions,3301220400,onions,3301220400 +Cesnak,Garlic,garlic,3301220200,garlic,3301220200 +Pór,Leek,leek,3301220300,leek,3301220300 +Repa obyčajná cviklová (cvikla),Beetroot,beetroot_beets,3301290200,beetroot_beets,3301290200 +Repa obyčajná (mangold),Chard,chard,3301310100,chard,3301310100 +Čučoriedka,Blueberry,blueberry,3303020400,blueberry,3303020400 +Mrkva,Carrot,carrots_daucus,3301290300,carrots_daucus,3301290300 +Paštrnák,Parsnip,parsnips,3301290500,parsnips,3301290500 +Zeler,Celery,celery,3301250000,celery,3301250000 +Rajčiaky,Tomato,tomato,3301280000,tomato,3301280000 +Baklažán,Aubergine,aubergine_eggplant,3301260000,aubergine_eggplant,3301260000 +Špenát,Spinach,spinach,3301310800,spinach,3301310800 +Šalát,Lettuce,salads_lettuce_leaf_vegetables,3301310000,salads_lettuce_leaf_vegetables,3301310000 +Štiavec,Sorrel,sorrel,3301310700,sorrel,3301310700 +Čakanka obyčajná,Chicory,chicory_chicories,3301310200,chicory_chicories,3301310200 +Melóny,Melons,melon,3301140300,melon,3301140300 +Dyňa,Watermelon,watermelon,3301140500,watermelon,3301140500 +Vinohrad so zlatým žltnutím,Vineyard with flavescence dorée,vineyards_wine_vine_rebland_grapes,3303060000,vineyards_wine_vine_rebland_grapes,3303060000 +Kukurica cukrová s podsevom,Sweet maize undersown,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +Kukurica pukancová s podsevom,Popcorn maize undersown,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +Senovka grécka,Fenugreek,fenugreek,3301020400,fenugreek,3301020400 +Cícer,Chickpea,chickpeas,3301020200,chickpeas,3301020200 +Fazuľa obyčajná,Common bean,beans,3301020100,beans,3301020100 +Fazuľa ostrolistá,Tepary bean,beans,3301020100,beans,3301020100 +Fazuľa šarlátová,Runner bean,beans,3301020100,beans,3301020100 +Fazuľa mesiacovitá,Lima bean,beans,3301020100,beans,3301020100 +Láskavec,Amaranth,amaranth,3301150100,amaranth,3301150100 +Komonica lekárska,Ribbed melilot,melilot,3301090304,melilot,3301090304 +Komonica biela,White melilot,melilot,3301090304,melilot,3301090304 +Jastrabina východná,Eastern galega,galega,3301081900,galega,3301081900 +Vtákonoha siata,Serradella,serradella,3301084200,serradella,3301084200 +Slez kŕmny,Fodder mallow,malva,3301082800,malva,3301082800 +Slez maurský,Moorish mallow,malva,3301082800,malva,3301082800 +Koriander siaty,Coriander,coriander,3301061215,coriander,3301061215 +Mäta,Mint,mints_peppermint,3301061222,mints_peppermint,3301061222 +Medovka,Lemon balm,lemon_balm_melissa,3301061220,lemon_balm_melissa,3301061220 +Ligurček lekársky,Lovage,lovage_maggiplant,3301061221,lovage_maggiplant,3301061221 +Bedrovník anízový,Anise,anise_aniseed,3301061205,anise_aniseed,3301061205 +Šalvia,Sage,sage_chia,3301190000,sage_chia,3301190000 +Borák lekársky,Borage,borage,3301061209,borage,3301061209 +Yzop lekársky,Hyssop,other_aromatic_medicinal_culinary_plants_spices_herbs,3301061299,other_aromatic_medicinal_culinary_plants_spices_herbs,3301061299 +Petržlen,Parsley,parsly,3301061227,parsly,3301061227 +Petržlen vňaťový kučeravý,Curly leaf parsley,parsly,3301061227,parsly,3301061227 +Kapucínka väčšia,Garden nasturtium,nasturtiums,3301061224,nasturtiums,3301061224 +Chren dedinský,Horseradish,horseradish,3301210400,horseradish,3301210400 +Povojník purpurový (batát),Sweet potato,sweet_potatoes,3301040000,sweet_potatoes,3301040000 +Povojník batátový,Sweet potato,sweet_potatoes,3301040000,sweet_potatoes,3301040000 +Slivka čerešňoplodá (myrobalán),Cherry plum,plums,3303011300,plums,3303011300 +Jarabina oskorušová,Service tree,rowan_rowanberries,3303021300,rowan_rowanberries,3303021300 +Topoľ chlpatoplodý,Poplar,populus,3306070000,populus,3306070000 +Topoľ simonov,Simon's poplar,populus,3306070000,populus,3306070000 +Vŕba rakytová,Goat willow,willows_osiers,3306080000,willows_osiers,3306080000 +Zalesnená orná pôda,Afforested arable land,afforestation_reforestation,3306010000,afforestation_reforestation,3306010000 diff --git a/tests/test_hcat_codes.py b/tests/test_hcat_codes.py index 4b0c6c16..60ba1d8d 100644 --- a/tests/test_hcat_codes.py +++ b/tests/test_hcat_codes.py @@ -2,34 +2,18 @@ A wrong code is invisible: the file validates, and a crop query quietly returns another crop. `tests/data-files/hcat3.csv` is the taxonomy, copied from -https://fiboa.org/code/hcat3.csv. +https://fiboa.org/code/hcat3.csv. `pixi run check-hcat` runs the same check +against the tables online. """ import csv +import os from pathlib import Path -DATA = Path(__file__).parent / "data-files" +from fiboa_cli.converters import Converters +from fiboa_cli.datasets.commons.hcat import AddHCATMixin -# Rows that are wrong today, recorded so a new mistake still fails. Each is -# tracked in https://github.com/fiboa/cli/issues/304; remove an entry when the -# table it comes from is fixed. Keyed by (name, code) because the same bad pair -# was copied into several tables. -KNOWN_BAD = { - # the typo is in the taxonomy, which spells it "parsly"; the tables are right - ("parsley", "3301061227"), - ("aspargus", "3301200000"), # taxonomy: asparagus - ("pistachios", "3303030400"), # taxonomy: pistachio - ("flax_fibre", "3301060701"), # taxonomy: flax_linen - # name and code are different crops: the codes belong to esparsette and sweet lupins - ("lupins", "3301020300"), - ("soybeans", "3301020700"), - # right name, wrong code - ("vineyards_wine_vine_rebland_grapes", "3303070000"), # 3303060000 - ("topinambur_jerusalem_artichoke", "3301290900"), # 3301180000 - ("iris", "3301082200"), # 3301082300 - ("lentils", "3301020300"), # 3301020500 - ("zucchini_courgette", "3301140200"), # 3301140600, already fixed upstream -} +DATA = Path(__file__).parent / "data-files" def read_rows(path): @@ -42,21 +26,52 @@ def read_rows(path): return [] +def row_key(row): + return (row.get("original_code") or "").strip() or (row.get("original_name") or "").strip() + + +def applied_tables(): + """Per fixture table a converter reads: the rows it applies, supplements winning by code.""" + converters = Converters() + tables, missing = {}, [] + for _id in converters.list_ids(): + converter = converters.load(_id) + if not isinstance(converter, AddHCATMixin) or not converter.hcat_mapping_csv: + continue + folder = DATA / "convert" / _id + main = folder / os.path.basename(converter.hcat_mapping_csv) + if not main.exists(): + continue + rows = {row_key(r): r for r in read_rows(main)} + for url in converter.hcat_mapping_supplements: + supplement = folder / os.path.basename(url) + if not supplement.exists(): + missing.append(str(supplement.relative_to(DATA))) + continue + rows |= {row_key(r): r for r in read_rows(supplement)} + tables[main] = list(rows.values()) + return tables, missing + + def test_mapping_tables_agree_with_the_taxonomy(): taxonomy = {r["HCAT3_name"]: r["HCAT3_code"] for r in read_rows(DATA / "hcat3.csv")} assert len(taxonomy) > 300, "the taxonomy fixture looks truncated" + applied, missing = applied_tables() + assert not missing, "supplements without a fixture: " + ", ".join(missing) + wrong = [] for path in sorted(DATA.glob("**/*.csv")): if path.name == "hcat3.csv": continue - rows = read_rows(path) + # a table a converter reads is checked as corrected by its supplements + rows = applied.get(path) or read_rows(path) if not rows or "HCAT3_name" not in rows[0] or "HCAT3_code" not in rows[0]: continue for row in rows: name = (row.get("HCAT3_name") or "").strip() code = (row.get("HCAT3_code") or "").strip() - if (not name and not code) or (name, code) in KNOWN_BAD: + if not name and not code: continue where = f"{path.relative_to(DATA)} {row.get('original_code')}" if name not in taxonomy: From 30534c1f612a2ad806f39479ba2693c805d4fbeb Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Fri, 25 Sep 2026 15:13:33 +0200 Subject: [PATCH 3/5] Test the name correction too, and call the changes mappings Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- tests/test_converters.py | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66f09e5e..f3b64ddf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,7 +71,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Added HCAT spelling fixes via `csv_supplements` for DE-BB, DE-NDS and EC-SI. -- EC-FR, EC-NL-CROP: HCAT codes for iris, Jerusalem artichoke and parsley now match the taxonomy. +- EC-FR, EC-NL-CROP: HCAT mappings for iris, Jerusalem artichoke and parsley now match the taxonomy. - EuroCrops converters whose source already carries HCAT (such as EC-FR and EC-SI) now apply their supplements too. - Declared the `beautifulsoup4` dependency used by ES-PV and ES-VC. - REST converters: diff --git a/tests/test_converters.py b/tests/test_converters.py index 31761688..4104aed0 100644 --- a/tests/test_converters.py +++ b/tests/test_converters.py @@ -459,10 +459,10 @@ def test_supplement_corrects_hcat_the_source_resolved(monkeypatch): """EuroCrops ships HCAT in the shapefile; a supplement still wins for its codes.""" supplement = [ { - "original_code": "TOP", - "translated_name": "Jerusalem artichoke", - "HCAT3_name": "topinambur_jerusalem_artichoke", - "HCAT3_code": "3301180000", + "original_code": "704", + "translated_name": "Vine nurseries", + "HCAT3_name": "nurseries_nursery", + "HCAT3_code": "3303070000", } ] monkeypatch.setattr( @@ -470,12 +470,14 @@ def test_supplement_corrects_hcat_the_source_resolved(monkeypatch): ) gdf = gpd.GeoDataFrame( { - "CODE_CULTU": ["TOP", "BTH"], - "EC_trans_n": ["Jerusalem artichoke", "Winter soft wheat"], - "EC_hcat_n": ["topinambur_jerusalem_artichoke", "winter_common_soft_wheat"], - "EC_hcat_c": ["3301290900", "3301010104"], + "SIFRA_KMRS": ["704", "001"], + "EC_trans_n": ["Vineyards", "Maize"], + "EC_hcat_n": ["vineyards_wine_vine_rebland_grapes", "grain_maize_corn_popcorn"], + "EC_hcat_c": ["3303070000", "3301010699"], }, geometry=[Point(0, 0), Point(1, 1)], ) - out = Converters().load("ec_fr").correct_resolved_hcat(gdf) - assert out["EC_hcat_c"].tolist() == ["3301180000", "3301010104"] + out = Converters().load("ec_si").correct_resolved_hcat(gdf) + assert out["EC_trans_n"].tolist() == ["Vine nurseries", "Maize"] + assert out["EC_hcat_n"].tolist() == ["nurseries_nursery", "grain_maize_corn_popcorn"] + assert out["EC_hcat_c"].tolist() == ["3303070000", "3301010699"] From 2c03f5d8c414130a61ca9f6f215e5ad109383289 Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Fri, 25 Sep 2026 15:20:55 +0200 Subject: [PATCH 4/5] Update lock --- pixi.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pixi.lock b/pixi.lock index 11be7cf9..e82637f7 100644 --- a/pixi.lock +++ b/pixi.lock @@ -4765,7 +4765,7 @@ packages: - pypi: ./ name: fiboa-cli version: 0.21.0 - sha256: 7d441cb26cb40458ac074fa3f25321db25b084cdea4041d0e4001c081bdda972 + sha256: 457f46e194da69d7719d0ee520772d8a8a8a43c7a982a68fc2a09ce85cbc03cd requires_dist: - vecorel-cli==0.3.1 - beautifulsoup4>=4.12 From b2cb0baf302cfe480c10cb9a57e5644fa978500f Mon Sep 17 00:00:00 2001 From: Ivor Bosloper Date: Fri, 25 Sep 2026 17:13:58 +0200 Subject: [PATCH 5/5] Test the EC-NL supplement, and let check-hcat report what it cannot reach Co-Authored-By: Claude Opus 5.5 --- scripts/check_hcat.py | 10 +- .../data-files/convert/ec_nl_crop/nl_2020.csv | 327 ++++++++++++++++++ .../convert/ec_nl_crop/nl_2020_supplement.csv | 8 + 3 files changed, 343 insertions(+), 2 deletions(-) create mode 100644 tests/data-files/convert/ec_nl_crop/nl_2020.csv create mode 100644 tests/data-files/convert/ec_nl_crop/nl_2020_supplement.csv diff --git a/scripts/check_hcat.py b/scripts/check_hcat.py index 92595050..f63d0575 100644 --- a/scripts/check_hcat.py +++ b/scripts/check_hcat.py @@ -20,8 +20,11 @@ def fetch(url): if url not in _tables: - response = requests.get(url, timeout=60) - if response.status_code != 200: + try: + response = requests.get(url, timeout=60) + except requests.RequestException: + response = None + if response is None or response.status_code != 200: _tables[url] = None else: try: @@ -37,6 +40,9 @@ def row_key(row): def main(): + if fetch(TAXONOMY) is None: + print(f"unreachable: {TAXONOMY}") + return 1 taxonomy = {r["HCAT3_name"].strip(): r["HCAT3_code"].strip() for r in fetch(TAXONOMY)} problems = defaultdict(set) unreachable = defaultdict(set) diff --git a/tests/data-files/convert/ec_nl_crop/nl_2020.csv b/tests/data-files/convert/ec_nl_crop/nl_2020.csv new file mode 100644 index 00000000..a8e080b3 --- /dev/null +++ b/tests/data-files/convert/ec_nl_crop/nl_2020.csv @@ -0,0 +1,327 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code,HCAT2_name,HCAT2_code +174,Bloemzaden open grond,Flower seeds open ground,flowers_ornamental_plants,3301080000,flowers_ornamental_plants,3301080000 +233,"Tarwe, winter-",wheat winter,winter_common_soft_wheat,3301010101,winter_common_soft_wheat,3301010101 +234,"Tarwe, zomer-",wheat summer,spring_common_soft_wheat,3301010102,spring_common_soft_wheat,3301010102 +235,"Gerst, winter-",barley winter,winter_barley,3301010401,winter_barley,3301010401 +236,"Gerst, zomer-",barley summer,spring_barley,3301010402,spring_barley,3301010402 +237,Rogge (geen snijrogge),Rye (not cut rye),rye,3301010300,unspecified_season_rye,3301010399 +238,Haver,Oats,oats,3301010500,unspecified_season_oats,3301010599 +241,Kapucijners (en grauwe erwten),Capuchins (and gray peas),peas,3301020600,peas,3301020600 +242,"Bonen, bruine-",beans brown,beans,3301020100,beans,3301020100 +244,"Erwten, groene/gele (groen te oogsten)",Peas green/yellow (green to be harvested),peas,3301020600,peas,3301020600 +246,Karwijzaad (oogst dit jaar),Caraway seed (harvest this year),caraway,3301061211,caraway,3301061211 +247,Blauwmaanzaad,Poppy seeds,poppy,3301060600,moonseed,3301083100 +256,"Bieten, suiker-",beets sugar,sugar_beet,3301290700,sugar_beet,3301290700 +257,"Bieten, voeder-",Fodder beets,mangelwurzel_fodder_beet,3301290400,beetroot_beets,3301290200 +258,Luzerne,Lucerne,alfalfa_lucerne,3301090301,alfalfa_lucerne,3301090301 +259,"Maïs, snij-",maize cut,green_silo_maize,3301090400,green_silo_maize,3301090400 +262,"Uien, zaai-",onions sowing,onions,3301220400,onions,3301220400 +263,"Uien, zilver-",onions silver,onions,3301220400,onions,3301220400 +265,"Grasland, blijvend",Grassland permanent,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +266,"Grasland, tijdelijk",Grassland temporary,temporary_grass,3301090100,pasture_meadow_grassland_grass,3302000000 +308,Erwten (droog te oogsten),Peas (to harvest dry),peas,3301020600,peas,3301020600 +311,"Bonen, veld- (onder andere duiven-, paarden-, wierbonen) ",Beans field (including pigeon-,beans,3301020100,beans,3301020100 +314,Triticale,Triticale,triticale,3301010800,unspecified_season_triticale,3301010899 +316,"Maïs, korrel-",corn grain,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +317,"Maïs, corncob mix",Corn corncob mix,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +331,"Grasland, natuurlijk. Hoofdfunctie landbouw.",Grassland natural. Main function agriculture.,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +332,"Grasland, natuurlijk. Hoofdfunctie natuur.",Grassland of course. Main function nature.,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +333,"Rand, grenzend aan blijvend grasland of een blijvende teelt, hoofdzakelijk bestaand uit blijvend gras",Border adjacent to permanent grassland or a permanent crop consisting mainly of permanent grass,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +334,"Rand, grenzend aan bouwland, hoofdzakelijk bestaand uit blijvend gras",Edge adjacent to arable land consisting mainly of permanent grass,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +335,Natuurterreinen (incl. heide),Natural areas (incl. heath),not_known_and_other,3399000000,not_known_and_other,3399000000 +337,"Bufferstrook, rand (inclusief eventuele oevervegetatie)",Buffer strip edge (including any riparian vegetation),not_known_and_other,3399000000,not_known_and_other,3399000000 +338,"Rand, liggend op bouwland en direct grenzend aan bos. Geen landbouwproductie.",Edge lying on arable land and directly adjacent to forest. No agricultural production.,not_known_and_other,3399000000,arable_land_seed_seedlings,3301100000 +343,"Sloot, grenzend aan beheerde akkerrand",Ditch adjacent to managed field edge,not_known_and_other,3399000000,not_known_and_other,3399000000 +344,"Rand, grenzend aan blijvend grasland of een blijvende teelt, hoofdzakelijk bestaand uit een ander gewas dan gras",Border adjacent to permanent pasture or permanent crop consisting mainly of a crop other than grass,other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 +346,Tagetes erecta (Afrikaantje),Tagetes erecta (marigold),tagetes,3301084700,calendula_marigold,3301061210 +347,Tagetes patula (Afrikaantje),Tagetes patula (tagetes),tagetes,3301084700,tagetes,3301084700 +370,"Rand, grenzend aan blijvend grasland of een blijvende teelt, hoofdzakelijk bestaand uit tijdelijk gras",Border adjacent to permanent pasture or a permanent crop consisting mainly of temporary grass,temporary_grass,3301090100,temporary_grass,3301090100 +372,"Rand, grenzend aan bouwland, hoofdzakelijk bestaand uit tijdelijk gras",Edge adjacent to arable land consisting mainly of temporary grass,temporary_grass,3301090100,temporary_grass,3301090100 +375,Hop,Hop,hops,3301060200,hops,3301060200 +381,Teff,teff,teff,3301010904,teff,3301010904 +382,Spelt,Spelt,spelt,3301011000,spelt,3301011000 +383,Graszaad,grass seed,temporary_grass,3301090100,temporary_grass,3301090100 +426,"Overige groenbemesters, vlinderbloemige- ",Other green manures leguminous plants,unspecified_legumes_harvested_green,3301090398,unspecified_legumes_harvested_green,3301090398 +427,"Overige groenbemesters, niet-vlinderbloemige-",Other green manures non-leguminous ,fallow_land_not_crop,3301110000,other_arable_land_crops,3301990000 +428,Gele mosterd,Yellow mustard,mustard,3301210100,mustard,3301210100 +511,Cichorei,Chicory,chicory_chicories,3301310200,chicory_chicories,3301310200 +515,Zonnebloemen,sunflowers,sunflower,3301060500,sunflower,3301060500 +516,Miscanthus (olifantsgras),Miscanthus (elephant grass),miscanthus_silvergrass,3301083000,miscanthus_silvergrass,3301083000 +636,Saffloer,safflower,safflower,3301083900,safflower,3301083900 +637,Vrouwenmantel,lady's mantle,alchemilla_ladys_mantle,3301061202,alchemilla_ladys_mantle,3301061202 +652,Meekrap,Madder,rubia_tinctorum_common_madder,3301061231,rubia_tinctorum_common_madder,3301061231 +653,Teunisbloem,evening primrose,primrose,3301083500,primrose,3301083500 +654,Brandnetel,Nettle,nettles,3301061225,nettles,3301061225 +655,Zwarte mosterd,black mustard,mustard,3301210100,mustard,3301210100 +656,Zonnekroon,Sunflower,sunflower,3301060500,sunflower,3301060500 +657,Drachtplanten,Perennial plants,permanent_crops_perennial,3303000000,unspecified_permanent_crops,3303120000 +662,Bos (SBL-regeling) ,Forest (SBL scheme),tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +663,"Lupinen, niet bittere",Lupins not bitter,sweet_lupins,3301020700,sweet_lupins,3301020700 +664,Raapzaad,Rapeseed,rapeseed_rape,3301060400,unspecified_season_rapeseed_rape,3301060499 +665,Sojabonen,soybeans,soy_soybeans,3301160000,soy_soybeans,3301160000 +666,"Vlas, olie-. Lijnzaad niet van vezelvlas",Flax oil. Linseed not from fiber flax,flax_linseed_oil,3301060702,flax_linseed_oil,3301060702 +670,Japanse haver,Japanese oats,oats,3301010500,unspecified_season_oats,3301010599 +671,Raketblad (aaltjesvanggewas),Rocket leaf (nematode catch crop),rocket_arugula,3301310600,rocket_arugula,3301310600 +794,Woudbomen met korte omlooptijd (excl. Wilgenhakhout),Short rotation forest trees (excl. willow coppice),tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +795,Wilgenhakhout,Willow coppice,willows_osiers,3306080000,willows_osiers,3306080000 +796,Kerstbomen,Christmas trees,other_tree_wood_forest,3306990000,other_tree_wood_forest,3306990000 +799,"Klaver, rode",clover red,clover,3301090303,clover,3301090303 +800,Rolklaver,Trefoil,legumes_harvested_green,3301090300,clover,3301090303 +801,Esparcette,esparcette,esparsette_onobrychis,3301020300,esparsette_onobrychis,3301020300 +802,"Wikke, bonte",Vetch variegated,vetches,3301090305,vetches,3301090305 +803,"Wikke, voeder-",vetch feed,vetches,3301090305,vetches,3301090305 +804,Klaverzaad,clover seed,clover,3301090303,clover,3301090303 +814,"Maïs, suiker-",corn sugar,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +853,"Bonen, tuin- (droog te oogsten) (geen consumptie)",Beans garden (dry harvest) (no consumption),beans,3301020100,beans,3301020100 +854,"Bonen, tuin- (groen te oogsten)",Beans garden (green to be harvested),beans,3301020100,beans,3301020100 +863,Bos zonder herplantplicht,Forest without obligation to replant,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +864,Bos (set aside regeling),Forest (set aside arrangement),tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +944,"Hennep, vezel-",hemp,hemp_cannabis,3301061000,hemp_cannabis,3301061000 +964,"Dahlia, overige bloemkwekerijgewassen",Dahlia other flower nursery crops,dahlia,3301081200,dahlia,3301081200 +965,"Dahlia, droogbloemen",Dahlia dried flowers,dahlia,3301081200,dahlia,3301081200 +967,"Gladiool, overige bloemkwekerijgewassen",Gladiolus other flower nursery crops,gladiolus_gladioli,3301082100,gladiolus_gladioli,3301082100 +968,"Gladiool, droogbloemen",Gladiolus dried flowers,gladiolus_gladioli,3301082100,gladiolus_gladioli,3301082100 +970,"Hyacint, overige bloemkwekerijgewassen",Hyacinth other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +971,"Hyacint, droogbloemen",Hyacinth dried flowers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +973,"Iris, overige bloemkwekerijgewassen",Iris other flower nursery crops,iris,3301082200,iris,3301082200 +974,"Iris, droogbloemen",Iris dried flowers,iris,3301082200,iris,3301082200 +976,"Krokus, overige bloemkwekerijgewassen",Crocus other flower nursery crops,saffron_crocus_sativus,3301061232,saffron_crocus_sativus,3301061232 +979,"Lelie, overige bloemkwekerijgewassen",Lily other flower nursery crops,lilies,3301082500,flowers_ornamental_plants,3301080000 +982,"Narcis, overige bloemkwekerijgewassen",Narcissus other flower nursery crops,narcissus_daffodil,3301083300,narcissus_daffodil,3301083300 +985,"Tulp, overige bloemkwekerijgewassen",Tulip other flower nursery crops,tulips,3301084900,tulips,3301084900 +988,"Zantedeschia, overige bloemkwekerijgewassen",Zantedeschia other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +991,"Overige bloemen, overige bloemkwekerijgewassen",Other flowers other flower nursery crops,unspecified_flowers_ornamental_plants,3301089800,nurseries_nursery,3303070000 +992,"Overige bloemen, droogbloemen",Other flowers dried flowers,unspecified_flowers_ornamental_plants,3301089800,flowers_ornamental_plants,3301080000 +994,"Amaryllis, overige bloemkwekerijgewassen",Amaryllis other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +997,"Dahlia, bloembollen en - knollen",Dahlia,dahlia,3301081200,dahlia,3301081200 +998,"Gladiool, bloembollen en - knollen",Gladiolus flower bulbs and tubers,gladiolus_gladioli,3301082100,gladiolus_gladioli,3301082100 +999,"Hyacint, bloembollen en - knollen",Hyacinth flower bulbs and tubers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1001,"Krokus, bloembollen en - knollen",Crocus flower bulbs and tubers,saffron_crocus_sativus,3301061232,flowers_ornamental_plants,3301080000 +1002,"Lelie, bloembollen en -knollen",Lily flower bulbs and tubers,lilies,3301082500,lilies,3301082500 +1003,"Narcis, bloembollen en -knollen",Daffodil flower bulbs and tubers,narcissus_daffodil,3301083300,narcissus_daffodil,3301083300 +1004,"Tulp, bloembollen en -knollen",Tulip flower bulbs and tubers,tulips,3301084900,tulips,3301084900 +1005,"Zantedeschia, bloembollen en -knollen",Zantedeschia flower bulbs and tubers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1006,"Overige bloemen, bloembollen en -knollen",Other flowers bulbs and tubers,unspecified_flowers_ornamental_plants,3301089800,flowers_ornamental_plants,3301080000 +1007,"Amaryllis, bloembollen en -knollen",Amaryllis flower bulbs and tubers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1010,"Sierui, overige bloemkwekerijgewassen",Ornamental onions other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1012,"Sierui, bloembollen en -knollen",Ornamental onions flower bulbs and tubers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1013,"Blauw druifje, overige bloemkwekerijgewassen",Grape hyacinth other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1014,"Blauw druifje, droogbloemen",Grape hyacinth dried flowers,other_flowers_ornamental_plants,3301089900,vineyards_wine_vine_rebland_grapes,3303060000 +1015,"Blauw druifje, bloembollen en -knollen",Grape hyacinth flower bulbs and tubers,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1016,"Kuifhyacint, overige bloemkwekerijgewassen",Crested hyacinth other flower nursery crops,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1019,"Valeriaan, productie",Valerian production,valerian,3301061238,valerian,3301061238 +1020,"Valeriaan, zaden en opkweekmateriaal",Valerian seeds and propagation material,valerian,3301061238,valerian,3301061238 +1021,Knoflook,Garlic,garlic,3301220200,garlic,3301220200 +1022,Quinoa,Quinoa,quinoa,3301150300,quinoa,3301150300 +1023,"Pastinaak, productie",Parsnip production,parsnips,3301290500,parsnips,3301290500 +1024,"Pastinaak, zaden en opkweekmateriaal",Parsnips seeds and propagation material,parsnips,3301290500,parsnips,3301290500 +1025,"Pioenroos, overige bloemkwekerijgewassen",Peony other flower nursery crops,peony_peonies,3301083400,peony_peonies,3301083400 +1026,"Pioenroos, droogbloemen",Peony dried flowers,peony_peonies,3301083400,peony_peonies,3301083400 +1028,"Lavas (Maggiplant), productie",Lovage (Maggiplant) production,lovage_maggiplant,3301061221,lovage_maggiplant,3301061221 +1030,"Wilde marjolein (Oregano), productie",Wild Marjoram (Oregano) production,oregano,3301061226,oregano,3301061226 +1032,Goudsbloem,Marigold,calendula_marigold,3301061210,calendula_marigold,3301061210 +1033,Igniscum Candy,Igniscum Candy,igniscum_candy,3304020100,igniscum_candy,3304020100 +1034,Kanariezaad,canary seed,canary_seed_canaryseed,3301011400,canary_seed_canaryseed,3301011400 +1035,Naaldaar (Setaria),Needle (Setaria),setaria,3301090206,setaria,3301090206 +1036,Wortelpeterselie,parsley root,parsley,3301061227,carrots_daucus,3301290300 +1037,"Peterselie, productie",Parsley production,parsley,3301061227,parsly,3301061227 +1039,"Chrysant, overige bloemkwekerijgewassen",Chrysanthemum other flower nursery crops,chrysanthemum,3301080900,chrysanthemum,3301080900 +1042,"Angelica, productie",Angelica production,angelica,3301061204,angelica,3301061204 +1044,Papaver,Poppy,poppy,3301060600,poppy,3301060600 +1045,Adonis ,Adonis,adonis,3301080100,adonis,3301080100 +1046,Vergeet mij nietje ,forget me not,other_flowers_ornamental_plants,3301089900,flowers_ornamental_plants,3301080000 +1047,Cranberry,cranberry,cranberry,3303020500,cranberry,3303020500 +1048,"Echinacea (zonnehoed), productie",Echinacea (coneflower) production,echinacea_sun_hat,3301081500,echinacea_sun_hat,3301081500 +1050,Leeuwenbekjes,Snapdragons,snapdragons,3301084500,snapdragons,3301084500 +1051,"Iris, Bolvormend",Iris Spherical,iris,3301082200,iris,3301082200 +1052,"Iris, Rhizoomvormend",Iris Rhizomatous,iris,3301082200,iris,3301082200 +1053,"Palmen, pot- en containervelden",Palms pot and container fields,other_tree_wood_forest,3306990000,other_tree_wood_forest,3306990000 +1054,"Pioenroos, vermeerdering",Peony propagation,peony_peonies,3301083400,peony_peonies,3301083400 +1067,"Bos- en haagplanten, open grond,",Forest and hedge plants open ground,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1068,"Buxus, open grond,",boxwood open ground,shrubberries_shrubs,3303080000,shrubberries_shrubs,3303080000 +1069,"Ericaceae (Zoals erica, calluna, rododendron, azalea), open grond,",Ericaceae (Like erica calluna rhododendron azalea) open ground,ericaceae_heather,3301061216,ericaceae_heather,3301061216 +1070,"Laanbomen/parkbomen, onderstammen, open grond,",Avenue trees/park trees,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1071,"Laanbomen/parkbomen, opzetters, open grond,",Avenue trees/park trees erectors open ground,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1072,"Laanbomen/parkbomen, spillen, open grond,",avenue trees/park trees spindles open ground,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1073,"Rozenstruiken (incl, zaailingen en onderstammen), open grond,",Rose bushes (incl seedlings and rootstocks) open ground,roses,3301083700,roses,3301083700 +1074,"Sierconiferen, open grond,",Ornamental conifers open ground,other_tree_wood_forest,3306990000,flowers_ornamental_plants,3301080000 +1075,"Sierheesters en klimplanten, open grond,",Ornamental shrubs and creepers open ground,shrubberries_shrubs,3303080000,flowers_ornamental_plants,3301080000 +1076,"Trek- en besheesters, open grond,",climbing and berry shrubs,berries_berry_species,3303020000,unspecified_berries_berry_species,3303029800 +1077,"Vruchtbomen, moerbomen, open grond,",Fruit trees nut trees open ground,orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1078,"Vruchtbomen, onderstammen, open grond,",Fruit trees rootstocks open ground,orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1079,"Vruchtbomen, overig, open grond,",Fruit trees other open ground,unspecified_orchards_fruits,3303019800,unspecified_orchards_fruits,3303019800 +1080,"Vaste planten, open grond,",Perennials open ground,permanent_crops_perennial,3303000000,unspecified_permanent_crops,3303120000 +1081,"Bos- en haagplanten, pot- en containerveld,",Forest and hedge plants pot and container field,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1082,"Buxus, pot- en containerveld,",Boxwood pot and container field,shrubberries_shrubs,3303080000,shrubberries_shrubs,3303080000 +1083,"Ericaceae (Zoals erica, calluna, rododendron, azalea), pot- en containerveld,",Ericaceae (Like erica calluna rhododendron azalea) pot and container field,ericaceae_heather,3301061216,ericaceae_heather,3301061216 +1084,"Laanbomen/parkbomen, onderstammen, pot- en containerveld,",Avenue trees/park trees rootstocks pot and container fields,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1085,"Laanbomen/parkbomen, opzetters, pot- en containerveld,",Avenue trees/park trees erectors pot and container fields,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1086,"Laanbomen/parkbomen, spillen, pot- en containerveld,",Avenue trees/park trees spindles pot and container fields,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1087,"Rozenstruiken (incl, zaailingen en onderstammen), pot- en containerveld,",Rose bushes (incl seedlings and rootstocks) pot and container field,roses,3301083700,roses,3301083700 +1088,"Sierconiferen, pot- en containerveld,",Ornamental conifers pot and container field,other_tree_wood_forest,3306990000,flowers_ornamental_plants,3301080000 +1089,"Sierheesters en klimplanten, pot- en containerveld,",Ornamental shrubs and climbing plants pot and container field,shrubberries_shrubs,3303080000,flowers_ornamental_plants,3301080000 +1090,"Trek- en besheesters, pot- en containerveld,",Tensile and berry shrubs pot and container field,shrubberries_shrubs,3303080000,shrubberries_shrubs,3303080000 +1091,"Vruchtbomen, moerbomen, pot- en containerveld,",Fruit trees nut trees pot and container field,orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1092,"Vruchtbomen, onderstammen, pot- en containerveld,",Fruit trees rootstocks pot and container fields,orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1093,"Vruchtbomen, overig, pot- en containerveld,",Fruit trees other pot and container field,unspecified_orchards_fruits,3303019800,unspecified_orchards_fruits,3303019800 +1094,"Vaste planten, pot- en containerteelt,",Perennials pot and container cultivation,permanent_crops_perennial,3303000000,unspecified_permanent_crops,3303120000 +1095,Appelen. Aangeplant lopende seizoen.,Apples. Planted current season.,apples,3303010200,apples,3303010200 +1096,Appelen. Aangeplant voorafgaande aan lopende seizoen.,apples. Planted prior to current season.,apples,3303010200,apples,3303010200 +1097,Peren. Aangeplant lopende seizoen.,pears. Planted current season.,pears,3303011200,pears,3303011200 +1098,Peren. Aangeplant voorafgaande aan lopende seizoen.,pears. Planted prior to current season.,pears,3303011200,pears,3303011200 +1099,Wijndruiven,Wine grapes,vineyards_wine_vine_rebland_grapes,3303060000,vineyards_wine_vine_rebland_grapes,3303060000 +1100,"Overige pit- en steenvruchten (zoals perziken, tafeldruiven)",Other pome and stone fruits (such as peaches table grapes),orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1869,"Bessen, blauwe",Berries blue,blueberry,3303020400,blueberry,3303020400 +1870,Pruimen,plums,plums,3303011300,plums,3303011300 +1872,"Kersen, zuur (opbrengst bestemd voor verwerkende industrie)",Cherries sour (yield intended for processing industry),cherry_cherries,3303010400,cherry_cherries,3303010400 +1873,"Bessen, zwarte (opbrengst verwerkt voor verwerkende industrie)",Berries black (yield processed for processing industry),blackberry,3303020200,blackberry,3303020200 +1874,"Overig kleinfruit (zoals kruisbessen, kiwi's)",Other small fruit (such as gooseberries kiwis),orchards_fruits,3303010000,unspecified_orchards_fruits,3303019800 +1876,Snijgroen,cut green,plants_harvested_green,3301090000,not_known_and_other,3399000000 +1921,Graszoden,Grass turf,sod_turf,3301090207,pasture_meadow_grassland_grass,3302000000 +1922,"Koolzaad, winter (incl. boterzaad)",Rapeseed winter (incl. butter seed),winter_rapeseed_rape,3301060401,winter_rapeseed_rape,3301060401 +1923,"Koolzaad, zomer (incl. boterzaad)",Rapeseed summer (incl. butter seed),spring_rapeseed_rape,3301060402,spring_rapeseed_rape,3301060402 +1926,Agrarisch natuurmengsel,Agricultural nature mixture,not_known_and_other,3399000000,not_known_and_other,3399000000 +1927,Overige akkerbouwgewassen,Other arable crops,other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 +1932,Uien poot en plant eerstejaars,Onions leg and plant first year,onions,3301220400,onions,3301220400 +1933,Uien poot en plant tweedejaars,Onions leg and plant second year,onions,3301220400,onions,3301220400 +1934,Sjalotten,shallots,shallot,3301220600,shallot,3301220600 +1935,Maiskolvesilage,Corn silage,green_silo_maize,3301090400,green_silo_maize,3301090400 +1936,"Bos, blijvend, met herplantplicht",Forest permanent with replanting obligation,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1940,Voedselbos,food forest,tree_wood_forest,3306000000,other_tree_wood_forest,3306990000 +1949,Aardperen,Topinambur,topinambur_jerusalem_artichoke,3301290900,topinambur_jerusalem_artichoke,3301290900 +2014,"Aardappelen, consumptie",Potatoes consumption,potatoes,3301030000,potatoes,3301030000 +2015,"Aardappelen, poot NAK",Potatoes leg NAK,potatoes,3301030000,potatoes,3301030000 +2016,"Aardappelen, poot TBM",Potatoes leg TBM,potatoes,3301030000,potatoes,3301030000 +2017,"Aardappelen, zetmeel ",Potatoes starch,potatoes,3301030000,potatoes,3301030000 +2025,"Aardappelen, bestrijdingsmaatregel AM",Potatoes AM . control measure,potatoes,3301030000,potatoes,3301030000 +2032,"Maïs, energie-",corn energy,grain_maize_corn_popcorn,3301010600,grain_maize_corn_popcorn,3301010600 +2300,Onbeteelde grond vanwege een teeltverbod/ontheffing,Uncultivated land due to a cultivation ban/exemption,unmaintained,3308000000,unmaintained,3308000000 +2325,"Bessen, rode",Berries red,redcurrant,3303021100,redcurrant,3303021100 +2326,Frambozen,Raspberries,raspberry_raspberries,3303021000,raspberry_raspberries,3303021000 +2327,Bramen,blackberries,blackberry,3303020200,blackberry,3303020200 +2328,"Kersen, zoet",Cherries sweet,cherry_cherries,3303010400,cherry_cherries,3303010400 +2645,Notenbomen,Nut trees,nuts,3303030000,walnuts,3303030600 +2652,Overige granen,Other grains,unspecified_cereals,3301011500,grain_maize_corn_popcorn,3301010600 +2700,"Aardbeien open grond, vermeerdering",Strawberries open ground propagation,strawberries,3301130000,strawberries,3301130000 +2701,"Aardbeien open grond, wachtbed",Strawberry open ground waiting bed,strawberries,3301130000,strawberries,3301130000 +2702,"Aardbeien open grond, productie",Strawberries open ground production,strawberries,3301130000,strawberries,3301130000 +2703,"Aardbeien open grond, zaden en opkweekmateriaal",Strawberries open ground seeds and propagation material,strawberries,3301130000,strawberries,3301130000 +2704,"Aardbeien op stellingen, vermeerdering",Strawberries on racks propagation,strawberries,3301130000,strawberries,3301130000 +2705,"Aardbeien op stellingen, wachtbed",Strawberries on racks waiting bed,strawberries,3301130000,strawberries,3301130000 +2706,"Aardbeien op stellingen, productie",Strawberries on racks production,strawberries,3301130000,strawberries,3301130000 +2707,"Aardbeien op stellingen, zaden en opkweekmateriaal",Strawberries on racks seeds and propagation material,strawberries,3301130000,strawberries,3301130000 +2708,"Andijvie, productie",Endive production,endive,3301310300,endive,3301310300 +2709,"Andijvie, zaden en opkweekmateriaal",Endive seeds and propagation material,endive,3301310300,endive,3301310300 +2710,"Asperges, oppervlakte die productie oplevert",Asparagus area yielding production,asparagus,3301200000,aspargus,3301200000 +2711,"Asperges, oppervlakte die nog geen productie oplevert",Asparagus area that does not yet yield production,asparagus,3301200000,aspargus,3301200000 +2712,"Asperges, zaden en opkweekmateriaal",Asparagus seeds and propagation material,asparagus,3301200000,aspargus,3301200000 +2715,"Boerenkool, productie",Kale production,kale,3301210208,kale,3301210208 +2716,"Boerenkool, zaden en opkweekmateriaal",Kale seeds and propagation material,kale,3301210208,kale,3301210208 +2717,"Bospeen, productie",Carrot production,carrots_daucus,3301290300,carrots_daucus,3301290300 +2718,"Bospeen, zaden en opkweekmateriaal",Carrots seeds and propagation material,carrots_daucus,3301290300,carrots_daucus,3301290300 +2719,"Broccoli, productie",Broccoli production,broccoli,3301210202,broccoli,3301210202 +2720,"Brocolli, zaden en opkweekmateriaal",Brocolli seeds and growing material,broccoli,3301210202,broccoli,3301210202 +2721,"Chinese kool, productie",Chinese cabbage production,chinese_cabbage,3301210205,chinese_cabbage,3301210205 +2722,"Chinese kool, zaden en opkweekmateriaal",Chinese cabbage seeds and propagation material,chinese_cabbage,3301210205,chinese_cabbage,3301210205 +2723,"Courgette, productie",Zucchini production,zucchini_courgette,3301140600,zucchini_courgette,3301140600 +2724,"Courgette, zaden en opkweekmateriaal",Zucchini seeds and propagation material,zucchini_courgette,3301140600,zucchini_courgette,3301140600 +2725,"Knolselderij, productie",Celeriac production,celeriac,3301250100,celeriac,3301250100 +2726,"Knolselderij, zaden en opkweekmateriaal",Celeriac seeds and propagation material,celeriac,3301250100,celeriac,3301250100 +2727,"Knolvenkel/venkel, productie",Fennel/fennel production,fennel,3301170000,fennel,3301170000 +2728,"Knolvenkel/venkel, zaden en opkweekmateriaal",Fennel/fennel seeds and propagation material,fennel,3301170000,fennel,3301170000 +2729,"Komkommer, productie",Cucumber production,cucumber_pickle,3301140100,cucumber_pickle,3301140100 +2731,"Augurk, productie",Pickle production,cucumber_pickle,3301140100,cucumber_pickle,3301140100 +2732,"Augurk, zaden en opkweekmateriaal",Pickle seeds and propagation material,cucumber_pickle,3301140100,cucumber_pickle,3301140100 +2735,"Pompoen, productie",Pumpkin production,pumpkin_squash_gourd,3301140400,pumpkin_squash_gourd,3301140400 +2736,"Pompoen, zaden en opkweekmateriaal",Pumpkin seeds and propagation material,pumpkin_squash_gourd,3301140400,pumpkin_squash_gourd,3301140400 +2737,"Koolraap, productie",Rutabaga production,swede_rutabaga,3301210500,kohlrabi,3301210209 +2739,"Koolrabi, productie",Kohlrabi production,kohlrabi,3301210209,kohlrabi,3301210209 +2741,"Kroten/rode bieten, productie",Beets/red beets production,beetroot_beets,3301290200,beetroot_beets,3301290200 +2742,"Kroten/rode bieten, zaden en opkweekmateriaal",Beets/red beets seeds and propagation material,beetroot_beets,3301290200,beetroot_beets,3301290200 +2743,"Kruiden, productie",Herbs production,aromatic_medicinal_culinary_plants_spices_herbs,3301061200,unspecified_aromatic_medicinal_culinary_plants_spices_herbs,3301061298 +2744,"Kruiden, zaden en opkweekmateriaal",Herbs seeds and propagation material,aromatic_medicinal_culinary_plants_spices_herbs,3301061200,unspecified_aromatic_medicinal_culinary_plants_spices_herbs,3301061298 +2745,"Paksoi, productie",Bok choy production,bok_choy_pak_choi,3301210201,bok_choy_pak_choi,3301210201 +2747,"Peulen, productie","Pulses, production",legumes_dried_pulses_protein_crops,3301020000,unspecified_legumes_dried_pulses_protein_crops,3301029800 +2748,"Peulen, zaden en opkweekmateriaal","Pulses, seeds and propagation material",legumes_dried_pulses_protein_crops,3301020000,unspecified_legumes_dried_pulses_protein_crops,3301029800 +2751,"Pronkbonen, productie",Runner beans production,beans,3301020100,beans,3301020100 +2752,"Pronkbonen, zaden en opkweekmateriaal",Runner beans seeds and propagation material,beans,3301020100,beans,3301020100 +2753,"Raapstelen, productie",Turnip greens production,turnips,3301290800,turnips,3301290800 +2754,"Raapstelen, zaden en opkweekmateriaal",Turnip greens seeds and propagation material,turnips,3301290800,turnips,3301290800 +2755,"Rabarber, productie",Rhubarb production,rhubarb,3301230000,rhubarb,3301230000 +2756,"Rabarber, zaden en opkweekmateriaal",Rhubarb seeds and propagation material,rhubarb,3301230000,rhubarb,3301230000 +2757,"Radijs, productie",Radish production,radish,3301290600,radish,3301290600 +2758,"Radijs, zaden en opkweekmateriaal",Radish seeds and propagation material,radish,3301290600,radish,3301290600 +2759,"Rodekool, productie",Red cabbage production,red_cabbage,3301210210,red_cabbage,3301210210 +2760,"Rodekool, zaden en opkweekmateriaal",Red cabbage seeds and propagation material,red_cabbage,3301210210,red_cabbage,3301210210 +2761,"Savooiekool, productie",Savoy cabbage production,savoy_cabbage,3301210211,savoy_cabbage,3301210211 +2762,"Savooiekool, zaden en opkweekmateriaal",Savoy cabbage seeds and propagation material,savoy_cabbage,3301210211,savoy_cabbage,3301210211 +2763,Schorseneren; productie,salsify; production,salsify,3301084000,salsify,3301084000 +2764,"Schorseneren, zaden en opkweekmateriaal",Salsify seeds and propagation material,salsify,3301084000,salsify,3301084000 +2765,"Selderij, bleek- en groen-, productie",Celery bleach and green production,leaf_celery,3301250200,leaf_celery,3301250200 +2766,"Selderij, bleek- en groen-, zaden en opkweekmateriaal",Celery bleach and greens seeds and propagation material,leaf_celery,3301250200,leaf_celery,3301250200 +2767,"Sla, ijsberg-, productie",Lettuce iceberg production,iceberg,3301310400,iceberg,3301310400 +2768,"Sla, ijsberg-, zaden en opkweekmateriaal",Lettuce iceberg seeds and propagation material,iceberg,3301310400,iceberg,3301310400 +2769,"Sla; radicchio rosso, productie",Salad; radicchio rosso production,other_salads_lettuce_leaf_vegetables,3301319900,other_salads_lettuce_leaf_vegetables,3301319900 +2770,"Sla; radicchio rosso, zaden en opkweekmateriaal",Salad; radicchio rosso seeds and propagation material,other_salads_lettuce_leaf_vegetables,3301319900,other_salads_lettuce_leaf_vegetables,3301319900 +2771,"Sla; overig, productie",Salad; other production,salads_lettuce_leaf_vegetables,3301310000,other_salads_lettuce_leaf_vegetables,3301319900 +2772,"Sla; overig, zaden en opkweekmateriaal",Salad; other seeds and propagation material,salads_lettuce_leaf_vegetables,3301310000,other_salads_lettuce_leaf_vegetables,3301319900 +2773,"Spinazie, productie",Spinach production,spinach,3301310800,spinach,3301310800 +2774,"Spinazie, zaden en opkweekmateriaal",Spinach seeds and propagation material,spinach,3301310800,spinach,3301310800 +2775,"Spitskool, productie",pointed cabbage production,other_brassica_oleracea_cabbage,3301210299,other_brassica_oleracea_cabbage,3301210299 +2776,"Spitskool, zaden en opkweekmateriaal",Pointed cabbage seeds and propagation material,other_brassica_oleracea_cabbage,3301210299,brassica_oleracea_cabbage,3301210200 +2777,"Spruitkool/spruitjes, productie",Brussels sprouts production,brussels_sprouts,3301210203,brussels_sprouts,3301210203 +2778,"Spruitkool/spruitjes, zaden en opkweekmateriaal",Brussels sprouts/brussels sprouts seeds and propagation material,brussels_sprouts,3301210203,brussels_sprouts,3301210203 +2779,"Stamsperziebonen (=stamslabonen), productie",Main green beans (= main green beans) production,beans,3301020100,beans,3301020100 +2780,"Stamsperziebonen (=stamslabonen), zaden en opkweekmateriaal",Main green beans (= main green beans) seeds and propagation material,beans,3301020100,beans,3301020100 +2781,"Stoksnijbonen en stokslabonen, productie",French French beans and French green beans production,beans,3301020100,beans,3301020100 +2782,"Stoksnijbonen en stokslabonen, zaden en opkweekmateriaal",French haricot beans and French green beans seeds and propagating material,beans,3301020100,beans,3301020100 +2783,"Waspeen, productie","Carrot, production",carrots_daucus,3301290300,carrots_daucus,3301290300 +2784,"Waspeen, zaden en opkweekmateriaal","Carrot, seeds and propagating material",carrots_daucus,3301290300,carrots_daucus,3301290300 +2785,"Winterpeen, productie",Carrot production,carrots_daucus,3301290300,carrots_daucus,3301290300 +2786,"Winterpeen, zaden en opkweekmateriaal",Winter carrots seeds and propagation material,carrots_daucus,3301290300,carrots_daucus,3301290300 +2787,"Witlofwortel, productie",Chicory root production,chicory_chicories,3301310200,chicory_chicories,3301310200 +2788,"Witlofwortel, zaden en opkweekmateriaal",Chicory root seeds and propagation material,chicory_chicories,3301310200,chicory_chicories,3301310200 +2789,"Witte kool, productie",White cabbage production,white_cabbage,3301210212,white_cabbage,3301210212 +2790,"Witte kool, zaden en opkweekmateriaal",White cabbage seeds and propagation material,white_cabbage,3301210212,white_cabbage,3301210212 +2791,"Overige niet genoemde bladgewassen, productie",Other leaf crops not mentioned production,salads_lettuce_leaf_vegetables,3301310000,other_salads_lettuce_leaf_vegetables,3301319900 +2792,"Overige niet genoemde bladgewassen, zaden en opkweekmateriaal",Other not mentioned leaf crops seeds and propagation material,salads_lettuce_leaf_vegetables,3301310000,other_salads_lettuce_leaf_vegetables,3301319900 +2793,"Overige niet genoemde groenten, productie",Other vegetables not mentioned production,fresh_vegetables,3301070000,fresh_vegetables,3301070000 +2794,"Overige niet genoemde groenten, zaden en opkweekmateriaal",Other vegetables seeds and propagation material not mentioned,fresh_vegetables,3301070000,fresh_vegetables,3301070000 +2795,"Bloemkool, winter, productie",Cauliflower winter production,cauliflower,3301210204,cauliflower,3301210204 +2796,"Bloemkool, winter, zaden en opkweekmateriaal",Cauliflower winter seeds and propagation material,cauliflower,3301210204,cauliflower,3301210204 +2797,"Bloemkool, zomer, productie",Cauliflower summer production,cauliflower,3301210204,cauliflower,3301210204 +2798,"Bloemkool, zomer, zaden en opkweekmateriaal",Cauliflower summer seeds and growing material,cauliflower,3301210204,cauliflower,3301210204 +2799,"Prei, winter, productie",Leek winter production,leek,3301220300,leek,3301220300 +2800,"Prei, winter, zaden en opkweekmateriaal",Leek winter seeds and propagation material,leek,3301220300,leek,3301220300 +2801,"Prei, zomer, productie",Leek summer production,leek,3301220300,leek,3301220300 +2802,"Prei, zomer, zaden en opkweekmateriaal",Leek summer seeds and propagation material,leek,3301220300,leek,3301220300 +3055,Lisdodde,bulrush,bulrush,3301080600,bulrush,3301080600 +3500,"Klaver, Alexandrijnse",Clover Alexandrian,clover,3301090303,clover,3301090303 +3502,Bladkool,cabbage leaf,brassica_oleracea_cabbage,3301210200,brassica_oleracea_cabbage,3301210200 +3503,Bladraap,turnip,turnips,3301290800,turnips,3301290800 +3504,Bladrammenas,fodder radish,radish,3301290600,radish,3301290600 +3505,Deder,Camelina sativa,camelina,3301061500,brassicaceae_cruciferae,3301210000 +3506,Engels raaigras,perennial ryegrass,lolium_ryegrass,3301090205,lolium_ryegrass,3301090205 +3507,Ethiopische mosterd,Ethiopian mustard,mustard,3301210100,mustard,3301210100 +3508,Facelia,Facelia,phacelia,3301061400,phacelia,3301061400 +3509,Festulolium,Festulolium,festulolium,3301090204,festulolium,3301090204 +3510,Franse boekweit,French buckwheat,buckwheat,3301150200,buckwheat,3301150200 +3511,"Klaver, incarnaat",Clover incarnate,clover,3301090303,clover,3301090303 +3512,Italiaans raaigras,Italian ryegrass,lolium_ryegrass,3301090205,lolium_ryegrass,3301090205 +3513,Westerwolds raaigras,Westerwolds ryegrass,lolium_ryegrass,3301090205,lolium_ryegrass,3301090205 +3515,"Klaver, Perzische",Clover Persian,clover,3301090303,clover,3301090303 +3517,Sarepta mosterd/Caliente,Sarepta mustard/Caliente,mustard,3301210100,mustard,3301210100 +3519,Soedangras/Sorghum,Sudan grass/Sorghum,millet_sorghum,3301010900,unspecified_season_millet_sorghum,3301010999 +3521,Stoppelknollen,Stubble Tubers,turnips,3301290800,turnips,3301290800 +3522,Timothee,Timothy,timothy,3301090209,timothy,3301090209 +3523,Veldbeemdgras,Field meadow grass,pasture_meadow_grassland_grass,3302000000,pasture_meadow_grassland_grass,3302000000 +3524,"Klaver, witte",clover white,clover,3301090303,clover,3301090303 +3736,"Vlas, vezel-",flax fiber,flax_linen,3301060701,flax_linen,3301060701 +3801,"Tijdelijk onbeteelde grond, i.v.m. publieke werken",Temporarily uncultivated land due to public works,fallow_land_not_crop,3301110000,unmaintained,3308000000 +3802,"Tijdelijk onbeteelde grond, anders dan voor publieke werken",Temporary uncultivated land other than for public works,fallow_land_not_crop,3301110000,unmaintained,3308000000 +3803,"Rand, grenzend aan bouwland, hoofdzakelijk bestaand uit een ander gewas dan gras. (EA: beheer)",Border adjacent to arable land consisting mainly of a crop other than grass. (EA: management),other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 +3804,"Rand, grenzend aan bouwland, hoofdzakelijk bestaand uit een ander gewas dan gras. (EA: onbeheerd)",Border adjacent to arable land consisting mainly of a crop other than grass. (EA: unattended),other_arable_land_crops,3301990000,other_arable_land_crops,3301990000 +3805,"Rietzwenkgras, industriegras",Reed fescue industrial grass,festuca_fescue,3301090202,festuca_fescue,3301090202 +3807,"Rietzwenkgras, anders dan voor industriegras",Reed fescue other than for industrial grass,festuca_fescue,3301090202,festuca_fescue,3301090202 +3808,Roodzwenkgras,red fescue,festuca_fescue,3301090202,festuca_fescue,3301090202 +6522,Riet,reed,poaceae_grasses,3301090200,poaceae_grasses,3301090200 \ No newline at end of file diff --git a/tests/data-files/convert/ec_nl_crop/nl_2020_supplement.csv b/tests/data-files/convert/ec_nl_crop/nl_2020_supplement.csv new file mode 100644 index 00000000..e2d77005 --- /dev/null +++ b/tests/data-files/convert/ec_nl_crop/nl_2020_supplement.csv @@ -0,0 +1,8 @@ +original_code,original_name,translated_name,HCAT3_name,HCAT3_code +973,"Iris, overige bloemkwekerijgewassen",Iris other flower nursery crops,iris,3301082300 +974,"Iris, droogbloemen",Iris dried flowers,iris,3301082300 +1036,Wortelpeterselie,parsley root,parsly,3301061227 +1037,"Peterselie, productie",Parsley production,parsly,3301061227 +1051,"Iris, Bolvormend",Iris Spherical,iris,3301082300 +1052,"Iris, Rhizoomvormend",Iris Rhizomatous,iris,3301082300 +1949,Aardperen,Topinambur,topinambur_jerusalem_artichoke,3301180000