From 7b867a69bca57ed42af2048303c69237dccda7b9 Mon Sep 17 00:00:00 2001 From: Saidy Barry Date: Fri, 4 Sep 2026 16:10:31 +0200 Subject: [PATCH] Converter for South Tyrol, Italy utilised agricultural area (it_bz) --- CHANGELOG.md | 1 + fiboa_cli/datasets/it_bz.py | 77 +++++++++++++++++++++++ tests/data-files/convert/it_bz/it_bz.json | 1 + tests/test_convert.py | 2 + 4 files changed, 81 insertions(+) create mode 100644 fiboa_cli/datasets/it_bz.py create mode 100644 tests/data-files/convert/it_bz/it_bz.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 5eb0ebe3..a1e16b99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. It now pages through the whole dataset, where the previous six hardcoded bounding boxes reached only 20,300 of 54,038 parcels, so earlier output was incomplete. `metrics:area` is derived from the geometry, because the service stopped publishing the declared size. +- Converter for South Tyrol, Italy (it_bz), reading the province's LAFIS utilised agricultural area - Update vecorel-cli to v0.2.16: - Converter output is sorted by Hilbert distance - Commands exit with a non-zero exit code when they report a failure diff --git a/fiboa_cli/datasets/it_bz.py b/fiboa_cli/datasets/it_bz.py new file mode 100644 index 00000000..6eeb5ec7 --- /dev/null +++ b/fiboa_cli/datasets/it_bz.py @@ -0,0 +1,77 @@ +import re +from urllib.parse import urlencode + +import pandas as pd +import requests +from vecorel_cli.conversion.admin import AdminConverterMixin + +from ..conversion.fiboa_converter import FiboaBaseConverter + +BASE_URL = "https://geoservices6.civis.bz.it/geoserver/p_bz-Agriculture/ows" +LAYER = "p_bz-Agriculture:Fields-Used" +# The service caps a response at 110000 features; 50000 stays well inside that. +PAGE_SIZE = 50_000 + + +class ITBZConverter(AdminConverterMixin, FiboaBaseConverter): + id = "it_bz" + admin_subdivision_code = "BZ" + short_name = "Italy, South Tyrol" + title = "Field boundaries for South Tyrol, Italy" + description = """ +The utilised agricultural area of South Tyrol, the autonomous Italian province of Bolzano, held in +the province's LAFIS system. The polygons are digitised manually from orthophotos or GPS survey and +aggregated by crop type, crop protection and crop-type detail, so a feature is an area of one crop +type rather than one farmer's application parcel. The source carries no farm or parcel identifier. +""" + + provider = "Autonome Provinz Bozen - Südtirol " + attribution = "© Autonome Provinz Bozen - Südtirol" + license = "CC0-1.0" + + extensions = {"https://fiboa.org/crop-extension/v0.2.0/schema.yaml"} + column_additions = {"crop:code_list": "https://fiboa.org/code/it/bz/crop.csv"} + + columns = { + "geometry": "geometry", + "ID": "id", + "CODE": "crop:code", + # The province is bilingual; the feature type declares the Italian name first. + "DESCRIPTION_IT": "crop:name", + "AREA": "metrics:area", + "BEGIN_DATE": "determination:datetime", + } + # AREA is already in m², like metrics:area, so it must not be scaled. + area_is_in_ha = False + column_migrations = { + "BEGIN_DATE": lambda col: pd.to_datetime(col, format="%Y-%m-%dZ", utc=True), + } + + def get_urls(self): + params = { + "service": "WFS", + "version": "2.0.0", + "request": "GetFeature", + "typeNames": LAYER, + "outputFormat": "application/json", + } + # Derive the page count from the server instead of hardcoding it, so a changed layer + # neither drops the tail nor requests empty pages. + hits = requests.get(BASE_URL, params={**params, "resultType": "hits"}) + hits.raise_for_status() + total = int(re.search(r'numberMatched="(\d+)"', hits.text).group(1)) + + query = urlencode({**params, "count": PAGE_SIZE}) + return { + f"{BASE_URL}?{query}&startIndex={start}": f"it_bz_{start}.json" + for start in range(0, total, PAGE_SIZE) + } + + def file_migration(self, gdf, path, uri, layer=None): + # read_geojson hardcodes crs="EPSG:4326"; the service delivers EPSG:25832. + return gdf.set_crs("EPSG:25832", allow_override=True) + + def migrate(self, gdf): + # read_geojson injects its own "id" column from the GeoJSON feature id. + # Drop it so renaming ID -> id does not create two columns called "id". + return super().migrate(gdf.drop(columns=["id"])) diff --git a/tests/data-files/convert/it_bz/it_bz.json b/tests/data-files/convert/it_bz/it_bz.json new file mode 100644 index 00000000..7d49cff7 --- /dev/null +++ b/tests/data-files/convert/it_bz/it_bz.json @@ -0,0 +1 @@ +{"type": "FeatureCollection", "features": [{"type": "Feature", "id": "Fields-Used.278624", "geometry": {"type": "Polygon", "coordinates": [[[671592.961, 5129890.802], [671381.614, 5129987.751], [671357.455, 5129939.595], [671380.271, 5129927.11], [671426.285, 5129901.066], [671429.152, 5129899.537], [671430.5799, 5129898.8748], [671430.6321, 5129898.8503], [671430.866, 5129898.742], [671434.498, 5129893.744], [671447.3989, 5129887.2908], [671409.664, 5129840.992], [671409.633, 5129840.967], [671402.935, 5129831.932], [671541.913, 5129754.146], [671549.36, 5129772.022], [671569.051, 5129826.432], [671573.704, 5129839.287], [671573.724, 5129839.344], [671582.615, 5129863.91], [671585.449, 5129871.869], [671585.523, 5129871.945], [671585.575, 5129872.089], [671592.961, 5129890.802]]]}, "geometry_name": "SHAPE", "properties": {"ID": 278624, "CODE": "AA12", "DESCRIPTION_IT": "Risone", "DESCRIPTION_DE": "Reis", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 25630}, "bbox": [671357.455, 5129754.146, 671592.961, 5129987.751]}, {"type": "Feature", "id": "Fields-Used.278625", "geometry": {"type": "Polygon", "coordinates": [[[670113.603, 5121877.87], [670110.162, 5121932.17], [670090.086, 5121930.258], [670094.292, 5121877.487], [670113.603, 5121877.87]]]}, "geometry_name": "SHAPE", "properties": {"ID": 278625, "CODE": "AA13", "DESCRIPTION_IT": "Patata da consumo", "DESCRIPTION_DE": "Speisekartoffeln", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1059}, "bbox": [670090.086, 5121877.487, 670113.603, 5121932.17]}, {"type": "Feature", "id": "Fields-Used.278629", "geometry": {"type": "Polygon", "coordinates": [[[669362.528, 5126165.954], [669359.2861, 5126170.965], [669337.1081, 5126140.3371], [669343.521, 5126135.403], [669362.528, 5126165.954]]]}, "geometry_name": "SHAPE", "properties": {"ID": 278629, "CODE": "AA13", "DESCRIPTION_IT": "Patata da consumo", "DESCRIPTION_DE": "Speisekartoffeln", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 250}, "bbox": [669337.1081, 5126135.403, 669362.528, 5126170.965]}, {"type": "Feature", "id": "Fields-Used.280428", "geometry": {"type": "Polygon", "coordinates": [[[670156.48, 5121289.939], [670154.467, 5121303.805], [670146.304, 5121302.687], [670147.534, 5121289.156], [670156.48, 5121289.939]]]}, "geometry_name": "SHAPE", "properties": {"ID": 280428, "CODE": "AA3", "DESCRIPTION_IT": "Colture orticole in pieno campo", "DESCRIPTION_DE": "Feldgemüsebau", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 119}, "bbox": [670146.304, 5121289.156, 670156.48, 5121303.805]}, {"type": "Feature", "id": "Fields-Used.280429", "geometry": {"type": "Polygon", "coordinates": [[[670174.457, 5121302.619], [670170.235, 5121316.554], [670160.618, 5121314.653], [670161.177, 5121312.863], [670164.755, 5121301.457], [670174.457, 5121302.619]]]}, "geometry_name": "SHAPE", "properties": {"ID": 280429, "CODE": "AA3", "DESCRIPTION_IT": "Colture orticole in pieno campo", "DESCRIPTION_DE": "Feldgemüsebau", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 137}, "bbox": [670160.618, 5121301.457, 670174.457, 5121316.554]}, {"type": "Feature", "id": "Fields-Used.285262", "geometry": {"type": "Polygon", "coordinates": [[[673704.792, 5125350.08], [673702.711, 5125351.739], [673695.835, 5125357.512], [673681.2551, 5125373.298], [673677.769, 5125367.266], [673684.583, 5125361.824], [673688.664, 5125357.502], [673694.667, 5125352.7], [673699.829, 5125348.978], [673701.8731, 5125347.2329], [673704.792, 5125350.08]]]}, "geometry_name": "SHAPE", "properties": {"ID": 285262, "CODE": "AF2", "DESCRIPTION_IT": "Mais foraggero", "DESCRIPTION_DE": "Futtermais", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 163}, "bbox": [673677.769, 5125347.2329, 673704.792, 5125373.298]}, {"type": "Feature", "id": "Fields-Used.285264", "geometry": {"type": "Polygon", "coordinates": [[[667867.827, 5125398.183], [667862.482, 5125403.899], [667840.734, 5125419.176], [667839.791, 5125420.748], [667829.97, 5125424.473], [667827.0859, 5125421.6491], [667826.8771, 5125421.4449], [667825.906, 5125420.494], [667819.71, 5125411.899], [667819.797, 5125411.828], [667818.625, 5125409.657], [667819.234, 5125407.778], [667819.725, 5125406.27], [667825.313, 5125400.936], [667832.485, 5125397.334], [667834.127, 5125396.48], [667834.347, 5125396.711], [667838.003, 5125395.747], [667842.66, 5125394.788], [667853.475, 5125394.613], [667863.107, 5125396.583], [667867.827, 5125398.183]]]}, "geometry_name": "SHAPE", "properties": {"ID": 285264, "CODE": "AF2", "DESCRIPTION_IT": "Mais foraggero", "DESCRIPTION_DE": "Futtermais", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 832}, "bbox": [667818.625, 5125394.613, 667867.827, 5125424.473]}, {"type": "Feature", "id": "Fields-Used.287111", "geometry": {"type": "Polygon", "coordinates": [[[683410, 5127532.868], [683425.3088, 5127534.5078], [683422.668, 5127537.787], [683410.616, 5127545.621], [683410.387, 5127569.035], [683377.53, 5127569.035], [683368.569, 5127568.039], [683362.6572, 5127563.8169], [683388.246, 5127550.717], [683401.633, 5127526.174], [683410, 5127532.868]]]}, "geometry_name": "SHAPE", "properties": {"ID": 287111, "CODE": "AL1", "DESCRIPTION_IT": "Alpeggio (senza tare)", "DESCRIPTION_DE": "Alpe (ohne Tara)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1141}, "bbox": [683362.6572, 5127526.174, 683425.3088, 5127569.035]}, {"type": "Feature", "id": "Fields-Used.295507", "geometry": {"type": "Polygon", "coordinates": [[[684164.023, 5127279.839], [684171.819, 5127287.296], [684182.665, 5127294.753], [684185.7, 5127296.053], [684156.029, 5127358.816], [684145.182, 5127360.021], [684137.348, 5127339.533], [684142.772, 5127322.66], [684142.772, 5127300.364], [684147.592, 5127289.517], [684152.16, 5127274.077], [684164.023, 5127279.839]]]}, "geometry_name": "SHAPE", "properties": {"ID": 295507, "CODE": "AL1", "DESCRIPTION_IT": "Alpeggio (senza tare)", "DESCRIPTION_DE": "Alpe (ohne Tara)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_6", "LSP_DESC_IT": "Pascoli alberati", "LSP_DESC_DE": "Bestockte Weiden", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 2300}, "bbox": [684137.348, 5127274.077, 684185.7, 5127360.021]}, {"type": "Feature", "id": "Fields-Used.295510", "geometry": {"type": "Polygon", "coordinates": [[[683522.635, 5127375.258], [683539.969, 5127402.899], [683545.547, 5127412.382], [683528.5871, 5127441.7509], [683525.972, 5127439.322], [683520.907, 5127434.619], [683518.917, 5127430.638], [683517.92, 5127428.645], [683505.972, 5127414.705], [683496.4971, 5127411.8628], [683494.229, 5127397.879], [683508.732, 5127381.144], [683513.393, 5127373.7409], [683522.635, 5127375.258]]]}, "geometry_name": "SHAPE", "properties": {"ID": 295510, "CODE": "AL1", "DESCRIPTION_IT": "Alpeggio (senza tare)", "DESCRIPTION_DE": "Alpe (ohne Tara)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_6", "LSP_DESC_IT": "Pascoli alberati", "LSP_DESC_DE": "Bestockte Weiden", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1882}, "bbox": [683494.229, 5127373.7409, 683545.547, 5127441.7509]}, {"type": "Feature", "id": "Fields-Used.320880", "geometry": {"type": "Polygon", "coordinates": [[[696147.978, 5135573.623], [696145.289, 5135580.065], [696144.016, 5135583.115], [696132.439, 5135590.203], [696118.5249, 5135593.9408], [696116.61, 5135594.455], [696107.16, 5135591.857], [696100.712, 5135588.624], [696123.445, 5135578.895], [696143.153, 5135570.465], [696149.796, 5135567.622], [696147.978, 5135573.623]]]}, "geometry_name": "SHAPE", "properties": {"ID": 320880, "CODE": "AL9", "DESCRIPTION_IT": "Alpeggio (tara 70% oltre 1800m)", "DESCRIPTION_DE": "Alpe (Tara 70% über 1800m)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 531}, "bbox": [696100.712, 5135567.622, 696149.796, 5135594.455]}, {"type": "Feature", "id": "Fields-Used.320881", "geometry": {"type": "Polygon", "coordinates": [[[695720.156, 5135986.557], [695718.1671, 5135985.2309], [695716.306, 5135983.99], [695717.4599, 5135983.1659], [695729.78, 5135974.366], [695736.838, 5135970.516], [695745.179, 5135966.667], [695748.864, 5135967.281], [695756.557, 5135982.066], [695731.705, 5135982.066], [695720.156, 5135986.557]]]}, "geometry_name": "SHAPE", "properties": {"ID": 320881, "CODE": "AL9", "DESCRIPTION_IT": "Alpeggio (tara 70% oltre 1800m)", "DESCRIPTION_DE": "Alpe (Tara 70% über 1800m)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 370}, "bbox": [695716.306, 5135966.667, 695756.557, 5135986.557]}, {"type": "Feature", "id": "Fields-Used.324840", "geometry": {"type": "Polygon", "coordinates": [[[668465.1245, 5126843.806], [668466.915, 5126841.546], [668465.175, 5126844.412], [668465.518, 5126848.523], [668464.155, 5126860.332], [668468.243, 5126878.954], [668476.419, 5126898.485], [668477.781, 5126901.21], [668477.8051, 5126901.764], [668477.831, 5126902.354], [668478.532, 5126903.684], [668479.922, 5126915.723], [668478.657, 5126921.357], [668478.69, 5126922.104], [668476.419, 5126943.451], [668428.273, 5126943.451], [668392.391, 5126941.18], [668376.985, 5126939.972], [668384.31, 5126930.56], [668384.962, 5126930.579], [668386.398, 5126930.624], [668400.943, 5126936.833], [668411.21, 5126941.22], [668445.66, 5126930.06], [668456.76, 5126899.41], [668456.748, 5126899.393], [668439.56, 5126874.75], [668439.563, 5126874.744], [668457.87, 5126852.97], [668465.1245, 5126843.806]]]}, "geometry_name": "SHAPE", "properties": {"ID": 324840, "CODE": "ANA", "DESCRIPTION_IT": "Altri tipi di coltura", "DESCRIPTION_DE": "Weitere Flächen", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_3", "LSP_DESC_IT": "Canneti", "LSP_DESC_DE": "Schilfbestände", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 2702}, "bbox": [668376.985, 5126841.546, 668479.922, 5126943.451]}, {"type": "Feature", "id": "Fields-Used.324842", "geometry": {"type": "Polygon", "coordinates": [[[667637.685, 5127280.282], [667647.21, 5127283.84], [667650.928, 5127284.639], [667653.439, 5127293.967], [667654.7731, 5127309.978], [667655.291, 5127316.192], [667665.478, 5127338.417], [667677.516, 5127367.124], [667679.368, 5127391.201], [667677.516, 5127411.574], [667672.886, 5127430.095], [667674.738, 5127444.911], [667669.182, 5127453.246], [667657.143, 5127463.432], [667646.031, 5127465.284], [667618.796, 5127467.76], [667597.992, 5127447.253], [667590.089, 5127440.788], [667564.945, 5127407.741], [667549.14, 5127389.781], [667539.801, 5127380.441], [667551.295, 5127348.832], [667557.761, 5127343.084], [667552.014, 5127318.659], [667552.732, 5127294.233], [667545.548, 5127271.244], [667526.61, 5127238.15], [667526.615, 5127238.1519], [667615.81, 5127272.2], [667619.108, 5127273.397], [667624.237, 5127275.264], [667637.685, 5127280.282]]]}, "geometry_name": "SHAPE", "properties": {"ID": 324842, "CODE": "ANA", "DESCRIPTION_IT": "Altri tipi di coltura", "DESCRIPTION_DE": "Weitere Flächen", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_3", "LSP_DESC_IT": "Canneti", "LSP_DESC_DE": "Schilfbestände", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 21340}, "bbox": [667526.61, 5127238.15, 667679.368, 5127467.76]}, {"type": "Feature", "id": "Fields-Used.324962", "geometry": {"type": "Polygon", "coordinates": [[[670139.958, 5121819.027], [670129.639, 5121875.913], [670124.372, 5121866.738], [670124.4477, 5121865.498], [670125.214, 5121852.908], [670124.252, 5121841.603], [670121.005, 5121827.652], [670116.916, 5121817.67], [670113.188, 5121810.455], [670108.858, 5121805.644], [670098.995, 5121799.23], [670103.186, 5121790.585], [670102.138, 5121776.439], [670102.329, 5121775.786], [670110.795, 5121775.925], [670122.701, 5121783.862], [670134.21, 5121796.562], [670141.751, 5121806.88], [670147.471, 5121812.829], [670154.848, 5121822.953], [670158.293, 5121825.855], [670158.282, 5121825.865], [670143.994, 5121817.399], [670139.958, 5121819.027]]]}, "geometry_name": "SHAPE", "properties": {"ID": 324962, "CODE": "AP2", "DESCRIPTION_IT": "Prato stabile", "DESCRIPTION_DE": "Wiese (Dauerwiese)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1840}, "bbox": [670098.995, 5121775.786, 670158.293, 5121875.913]}, {"type": "Feature", "id": "Fields-Used.324965", "geometry": {"type": "Polygon", "coordinates": [[[671218.58, 5122229.851], [671214.791, 5122235.83], [671211.506, 5122235.746], [671195.76, 5122232.798], [671185.992, 5122229.178], [671175.719, 5122224.546], [671169.572, 5122221.094], [671166.456, 5122214.526], [671164.688, 5122208.8], [671170.583, 5122201.979], [671176.898, 5122205.516], [671181.277, 5122209.642], [671188.35, 5122213.094], [671188.507, 5122213.061], [671188.579, 5122213.406], [671186.329, 5122219.157], [671187.508, 5122219.999], [671196.097, 5122225.641], [671199.044, 5122220.42], [671204.349, 5122220.673], [671218.58, 5122229.851]]]}, "geometry_name": "SHAPE", "properties": {"ID": 324965, "CODE": "AP2", "DESCRIPTION_IT": "Prato stabile", "DESCRIPTION_DE": "Wiese (Dauerwiese)", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 686}, "bbox": [671164.688, 5122201.979, 671218.58, 5122235.83]}, {"type": "Feature", "id": "Fields-Used.368401", "geometry": {"type": "Polygon", "coordinates": [[[675723.846, 5126484.401], [675720.846, 5126486.786], [675716.573, 5126489.111], [675713.561, 5126490.422], [675704.975, 5126493.391], [675699.931, 5126495.1349], [675698.302, 5126495.698], [675695.306, 5126496.7339], [675694.215, 5126495.848], [675692.799, 5126495.19], [675689.663, 5126492.054], [675685.97, 5126488.26], [675684.958, 5126484.669], [675684.402, 5126482.089], [675684.891, 5126479.752], [675688.024, 5126477.805], [675723.846, 5126484.401]]]}, "geometry_name": "SHAPE", "properties": {"ID": 368401, "CODE": "AS", "DESCRIPTION_IT": "Prato area speciale", "DESCRIPTION_DE": "Wiese Sonderfläche", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 420}, "bbox": [675684.402, 5126477.805, 675723.846, 5126496.7339]}, {"type": "Feature", "id": "Fields-Used.368408", "geometry": {"type": "Polygon", "coordinates": [[[667576.49, 5127125.206], [667574.964, 5127125.816], [667572.41, 5127119.005], [667563.944, 5127109.48], [667552.302, 5127097.309], [667547.01, 5127085.139], [667551.244, 5127080.376], [667558.983, 5127082.829], [667562.41, 5127089.684], [667556.814, 5127094.577], [667561.574, 5127100.352], [667562.336, 5127099.527], [667568.239, 5127103.97], [667573.253, 5127110.507], [667575.22, 5127112.856], [667581.606, 5127125.37], [667578.396, 5127125.129], [667576.49, 5127125.206]]]}, "geometry_name": "SHAPE", "properties": {"ID": 368408, "CODE": "AS", "DESCRIPTION_IT": "Prato area speciale", "DESCRIPTION_DE": "Wiese Sonderfläche", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 378}, "bbox": [667547.01, 5127080.376, 667581.606, 5127125.816]}, {"type": "Feature", "id": "Fields-Used.377797", "geometry": {"type": "Polygon", "coordinates": [[[670159.014, 5121922.43], [670163.7319, 5121932.0001], [670164.2589, 5121933.0691], [670164.6511, 5121933.865], [670168.764, 5121942.208], [670168.859, 5121949.21], [670146.666, 5122029.564], [670136.853, 5122033.4769], [670136.035, 5122033.803], [670133.607, 5122034.771], [670123.474, 5122037.544], [670116.925, 5122036.157], [670117.4996, 5122034.1009], [670138.079, 5121960.44], [670133.461, 5121958.505], [670116.505, 5121951.46], [670134.356, 5121890.131], [670134.431, 5121889.873], [670134.616, 5121890.125], [670148.607, 5121909.202], [670151.4398, 5121912.6239], [670151.6281, 5121911.956], [670159.014, 5121922.43]]]}, "geometry_name": "SHAPE", "properties": {"ID": 377797, "CODE": "AV", "DESCRIPTION_IT": "Viticoltura", "DESCRIPTION_DE": "Weinbau", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 4270}, "bbox": [670116.505, 5121889.873, 670168.859, 5122037.544]}, {"type": "Feature", "id": "Fields-Used.384090", "geometry": {"type": "Polygon", "coordinates": [[[669743.751, 5123588.355], [669742.651, 5123588.4021], [669737.444, 5123588.625], [669736.8679, 5123588.1441], [669734.022, 5123585.769], [669709.4489, 5123563.4791], [669673.1251, 5123530.5309], [669651.6709, 5123511.0701], [669651.447, 5123510.867], [669651.2991, 5123510.7329], [669650.307, 5123509.833], [669649.106, 5123508.532], [669652.0009, 5123505.8829], [669743.751, 5123588.355]]]}, "geometry_name": "SHAPE", "properties": {"ID": 384090, "CODE": "AV", "DESCRIPTION_IT": "Viticoltura", "DESCRIPTION_DE": "Weinbau", "CULT_PROT_IT": "Rete antigrandine", "CULT_PROT_DE": "Hagelnetz", "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 525}, "bbox": [669649.106, 5123505.8829, 669743.751, 5123588.625]}, {"type": "Feature", "id": "Fields-Used.385039", "geometry": {"type": "Polygon", "coordinates": [[[673027.683, 5124172.797], [673028.682, 5124173.054], [673031.013, 5124173.745], [673030.644, 5124175.3], [673036.874, 5124176.731], [673045.124, 5124179.425], [673049.754, 5124180.856], [673057.666, 5124181.649], [673063.462, 5124183.368], [673071.211, 5124185.666], [673074.592, 5124186.645], [673075.409, 5124186.8819], [673075.1721, 5124187.1271], [673070.399, 5124186.257], [673032.918, 5124179.424], [673032.1889, 5124179.2493], [673030.781, 5124177.694], [673027.2, 5124176.235], [673027.069, 5124172.639], [673027.683, 5124172.797]]]}, "geometry_name": "SHAPE", "properties": {"ID": 385039, "CODE": "AW5", "DESCRIPTION_IT": "Vigneto in fase di piantumazione", "DESCRIPTION_DE": "Ruhefläche Weinbau", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 105}, "bbox": [673027.069, 5124172.639, 673075.409, 5124187.1271]}, {"type": "Feature", "id": "Fields-Used.385042", "geometry": {"type": "Polygon", "coordinates": [[[683062.094, 5127065.104], [683062.152, 5127065.157], [683049.314, 5127079.161], [683044.3611, 5127082.6681], [683040.468, 5127085.425], [683035.396, 5127086.071], [683033.501, 5127086.313], [683031.718, 5127089.106], [683027.611, 5127095.539], [683023.804, 5127095.635], [683016.325, 5127101.804], [683016.25, 5127101.662], [683011.5867, 5127094.5262], [683005.154, 5127084.684], [683029.565, 5127068.008], [683049.894, 5127054.121], [683062.094, 5127065.104]]]}, "geometry_name": "SHAPE", "properties": {"ID": 385042, "CODE": "AW5", "DESCRIPTION_IT": "Vigneto in fase di piantumazione", "DESCRIPTION_DE": "Ruhefläche Weinbau", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1096}, "bbox": [683005.154, 5127054.121, 683062.152, 5127101.804]}, {"type": "Feature", "id": "Fields-Used.385223", "geometry": {"type": "Polygon", "coordinates": [[[675167.827, 5139982.2], [675153.152, 5140017.664], [675140.108, 5140051.905], [675113.612, 5140131.801], [675084.67, 5140119.164], [675085.893, 5140095.929], [675116.873, 5140051.09], [675138.07, 5140008.289], [675156.413, 5139976.086], [675167.827, 5139982.2]]]}, "geometry_name": "SHAPE", "properties": {"ID": 385223, "CODE": "CA", "DESCRIPTION_IT": "Castagneto", "DESCRIPTION_DE": "Kastanienhain", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 3861}, "bbox": [675084.67, 5139976.086, 675167.827, 5140131.801]}, {"type": "Feature", "id": "Fields-Used.385224", "geometry": {"type": "Polygon", "coordinates": [[[674682.339, 5140223.925], [674666.034, 5140225.148], [674665.219, 5140188.665], [674686.008, 5140184.181], [674682.339, 5140223.925]]]}, "geometry_name": "SHAPE", "properties": {"ID": 385224, "CODE": "CA", "DESCRIPTION_IT": "Castagneto", "DESCRIPTION_DE": "Kastanienhain", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 703}, "bbox": [674665.219, 5140184.181, 674686.008, 5140225.148]}, {"type": "Feature", "id": "Fields-Used.386134", "geometry": {"type": "Polygon", "coordinates": [[[625276.324, 5163947.923], [625265.503, 5163950.821], [625254.682, 5163953.72], [625254.168, 5163951.034], [625249.654, 5163932.805], [625248.589, 5163928.62], [625273.731, 5163925.311], [625276.324, 5163947.923]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386134, "CODE": "FO", "DESCRIPTION_IT": "Bosco", "DESCRIPTION_DE": "Wald", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_8", "LSP_DESC_IT": "Torbiere e ontaneti", "LSP_DESC_DE": "Moore und Auwälder", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 576}, "bbox": [625248.589, 5163925.311, 625276.324, 5163953.72]}, {"type": "Feature", "id": "Fields-Used.386135", "geometry": {"type": "Polygon", "coordinates": [[[625251.497, 5163950.648], [625251.667, 5163954.805], [625239.982, 5163956.783], [625239.899, 5163930.106], [625245.891, 5163929.123], [625251.497, 5163950.648]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386135, "CODE": "FO", "DESCRIPTION_IT": "Bosco", "DESCRIPTION_DE": "Wald", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_8", "LSP_DESC_IT": "Torbiere e ontaneti", "LSP_DESC_DE": "Moore und Auwälder", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 246}, "bbox": [625239.899, 5163929.123, 625251.667, 5163956.783]}, {"type": "Feature", "id": "Fields-Used.386136", "geometry": {"type": "Polygon", "coordinates": [[[625540.7, 5163981.074], [625553.479, 5163986.545], [625557.981, 5163997.985], [625558.792, 5164001.73], [625559.6212, 5164003.8299], [625566.994, 5164022.5], [625570.301, 5164029.247], [625572.947, 5164029.247], [625576.308, 5164037.775], [625562.673, 5164053.559], [625548.386, 5164072.353], [625547.248, 5164070.536], [625537.257, 5164055.671], [625516.717, 5164024.742], [625509.299, 5164003.741], [625505.73, 5163993.542], [625495.27, 5163974.515], [625540.7, 5163981.074]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386136, "CODE": "FO", "DESCRIPTION_IT": "Bosco", "DESCRIPTION_DE": "Wald", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_8", "LSP_DESC_IT": "Torbiere e ontaneti", "LSP_DESC_DE": "Moore und Auwälder", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 3869}, "bbox": [625495.27, 5163974.515, 625576.308, 5164072.353]}, {"type": "Feature", "id": "Fields-Used.386137", "geometry": {"type": "Polygon", "coordinates": [[[626535.259, 5164184.244], [626484.693, 5164194.743], [626475.518, 5164159.253], [626523.389, 5164141.308], [626535.259, 5164184.244]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386137, "CODE": "FO", "DESCRIPTION_IT": "Bosco", "DESCRIPTION_DE": "Wald", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_8", "LSP_DESC_IT": "Torbiere e ontaneti", "LSP_DESC_DE": "Moore und Auwälder", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 2080}, "bbox": [626475.518, 5164141.308, 626535.259, 5164194.743]}, {"type": "Feature", "id": "Fields-Used.386138", "geometry": {"type": "Polygon", "coordinates": [[[624928.841, 5164158.894], [625001.035, 5164186.223], [624990.298, 5164215.511], [624986.062, 5164227.231], [624969.844, 5164269.977], [624965.559, 5164263.903], [624958.442, 5164252.988], [624944.9, 5164237.707], [624943.728, 5164237.074], [624940.679, 5164229.559], [624937.855, 5164224.423], [624935.88, 5164220.799], [624935.041, 5164218.992], [624931.37, 5164212.347], [624914.92, 5164185.109], [624912.366, 5164180.872], [624922.354, 5164156.601], [624928.841, 5164158.894]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386138, "CODE": "FO", "DESCRIPTION_IT": "Bosco", "DESCRIPTION_DE": "Wald", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": "DIP28_8", "LSP_DESC_IT": "Torbiere e ontaneti", "LSP_DESC_DE": "Moore und Auwälder", "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 5049}, "bbox": [624912.366, 5164156.601, 625001.035, 5164269.977]}, {"type": "Feature", "id": "Fields-Used.386168", "geometry": {"type": "Polygon", "coordinates": [[[670401.107, 5122208.709], [670399.388, 5122214.52], [670398.807, 5122216.484], [670398.164, 5122216.925], [670397.144, 5122216.84], [670397.087, 5122216.8351], [670396.576, 5122216.792], [670395.783, 5122215.47], [670394.328, 5122210.442], [670394.481, 5122209.187], [670394.622, 5122208.032], [670393.899, 5122205.449], [670392.458, 5122200.571], [670391.46, 5122198.575], [670390.357, 5122197.433], [670387.103, 5122188.161], [670387.095, 5122188.164], [670387.091, 5122188.146], [670387.097, 5122188.143], [670382.0186, 5122174.4951], [670380.736, 5122171.0491], [670382.337, 5122170.713], [670384.2118, 5122165.7889], [670387.895, 5122156.114], [670390.553, 5122152.523], [670403.729, 5122152.693], [670424.6097, 5122154.5989], [670422.98, 5122157], [670401.107, 5122208.709]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386168, "CODE": "FR1", "DESCRIPTION_IT": "Mela", "DESCRIPTION_DE": "Apfel", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1465}, "bbox": [670380.736, 5122152.523, 670424.6097, 5122216.925]}, {"type": "Feature", "id": "Fields-Used.386170", "geometry": {"type": "Polygon", "coordinates": [[[670330.552, 5122233.353], [670330.295, 5122233.781], [670329.934, 5122234.382], [670329.45, 5122240.276], [670329.037, 5122240.45], [670328.4, 5122248.507], [670327.494, 5122248.596], [670327.373, 5122255.612], [670326.216, 5122261.674], [670324.639, 5122279.633], [670322.5921, 5122303.516], [670320.3609, 5122329.553], [670320.24, 5122330.963], [670320.234, 5122330.964], [670320.113, 5122332.307], [670316.582, 5122332.216], [670294.947, 5122320.9], [670270.324, 5122311.576], [670270.859, 5122309.123], [670272.832, 5122288.651], [670273.693, 5122287.053], [670273.001, 5122286.82], [670270.092, 5122285.841], [670277.977, 5122270.435], [670296.917, 5122243.46], [670310.3391, 5122228.9461], [670330.552, 5122233.353]]]}, "geometry_name": "SHAPE", "properties": {"ID": 386170, "CODE": "FR1", "DESCRIPTION_IT": "Mela", "DESCRIPTION_DE": "Apfel", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 4032}, "bbox": [670270.092, 5122228.9461, 670330.552, 5122332.307]}, {"type": "Feature", "id": "Fields-Used.405183", "geometry": {"type": "Polygon", "coordinates": [[[670015.3328, 5128403.9594], [670010.9276, 5128405.3881], [669993.3078, 5128409.9929], [669993.0758, 5128405.6459], [669992.8885, 5128402.1382], [669992.429, 5128393.5296], [669992.1753, 5128391.3729], [669991.2872, 5128390.1677], [669990.8673, 5128390.2786], [669996.1274, 5128382.2547], [670001.8971, 5128372.607], [670005.0244, 5128372.0811], [670007.1634, 5128371.092], [670007.1808, 5128371.1231], [670008.6387, 5128375.5825], [670011.2114, 5128385.0159], [670015.3328, 5128403.9594]]]}, "geometry_name": "SHAPE", "properties": {"ID": 405183, "CODE": "FR10", "DESCRIPTION_IT": "Olivo", "DESCRIPTION_DE": "Oliven", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 606}, "bbox": [669990.8673, 5128371.092, 670015.3328, 5128409.9929]}, {"type": "Feature", "id": "Fields-Used.405194", "geometry": {"type": "Polygon", "coordinates": [[[677421.412, 5135053.595], [677425.032, 5135063.882], [677428.969, 5135074.353], [677430.027, 5135079.541], [677430.457, 5135080.611], [677431.347, 5135082.291], [677425.08, 5135083.375], [677424.537, 5135080.521], [677422.727, 5135071.001], [677420.078, 5135060.624], [677419.435, 5135046.946], [677421.412, 5135053.595]]]}, "geometry_name": "SHAPE", "properties": {"ID": 405194, "CODE": "FR10", "DESCRIPTION_IT": "Olivo", "DESCRIPTION_DE": "Oliven", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 137}, "bbox": [677419.435, 5135046.946, 677431.347, 5135083.375]}, {"type": "Feature", "id": "Fields-Used.409371", "geometry": {"type": "Polygon", "coordinates": [[[671685.723, 5123385.688], [671689.675, 5123390.464], [671699.224, 5123399.273], [671705.4821, 5123405.424], [671681.872, 5123423.498], [671682.297, 5123420.995], [671682.406, 5123420.254], [671682.144, 5123419.552], [671679.5131, 5123415.7299], [671678.2929, 5123413.957], [671658.8349, 5123385.6881], [671640.4061, 5123358.9149], [671631.348, 5123345.755], [671632.898, 5123343.523], [671633.388, 5123342.921], [671633.512, 5123342.155], [671633.236, 5123341.43], [671620.113, 5123323.226], [671629.087, 5123330.806], [671635.306, 5123337.025], [671648.072, 5123350.773], [671664.657, 5123367.467], [671677.859, 5123380.451], [671682.879, 5123385.688], [671685.14, 5123384.983], [671685.723, 5123385.688]]]}, "geometry_name": "SHAPE", "properties": {"ID": 409371, "CODE": "PA1", "DESCRIPTION_IT": "Pascolo", "DESCRIPTION_DE": "Weide", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 1682}, "bbox": [671620.113, 5123323.226, 671705.4821, 5123423.498]}, {"type": "Feature", "id": "Fields-Used.409374", "geometry": {"type": "Polygon", "coordinates": [[[670451.096, 5124018.76], [670468.693, 5124045.803], [670465.512, 5124042.975], [670429.919, 5123995.22], [670429.883, 5123995.247], [670429.855, 5123995.205], [670429.888, 5123995.18], [670392.64, 5123947.287], [670392.607, 5123947.313], [670392.603, 5123947.306], [670392.635, 5123947.281], [670370.522, 5123919.041], [670370.49, 5123919.067], [670370.447, 5123919.003], [670370.473, 5123918.981], [670347.98, 5123892.024], [670347.954, 5123892.046], [670347.943, 5123892.028], [670347.967, 5123892.008], [670334.446, 5123876.076], [670334.422, 5123876.096], [670334.308, 5123875.926], [670333.497, 5123875.384], [670332.54, 5123875.193], [670331.584, 5123875.384], [670330.8141, 5123875.8979], [670325.039, 5123869.888], [670305.862, 5123848.806], [670272.08, 5123814.051], [670264.291, 5123806.685], [670254.62, 5123797.814], [670209.523, 5123756.451], [670209.3481, 5123756.6191], [670205.797, 5123753.12], [670168.083, 5123724.941], [670153.064, 5123713.447], [670153.012, 5123713.409], [670147.431, 5123709.511], [670093.825, 5123669.459], [670067.682, 5123651.674], [669996.689, 5123610.176], [670000.039, 5123609.108], [670024.646, 5123621.979], [670080.449, 5123655.619], [670151.696, 5123704.701], [670245.939, 5123783.5], [670358.017, 5123896.37], [670451.096, 5124018.76]]]}, "geometry_name": "SHAPE", "properties": {"ID": 409374, "CODE": "PA1", "DESCRIPTION_IT": "Pascolo", "DESCRIPTION_DE": "Weide", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 2385}, "bbox": [669996.689, 5123609.108, 670468.693, 5124045.803]}, {"type": "Feature", "id": "Fields-Used.421624", "geometry": {"type": "Polygon", "coordinates": [[[679947.139, 5154793.104], [679955.999, 5154802.404], [679959.42, 5154807.103], [679955.806, 5154813.264], [679949.394, 5154814.596], [679947.613, 5154812.815], [679930.767, 5154809.271], [679928.457, 5154805.234], [679925.712, 5154801.665], [679930.3388, 5154795.0899], [679934.839, 5154788.694], [679935.888, 5154787.3699], [679935.923, 5154787.397], [679938.374, 5154787.047], [679947.139, 5154793.104]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421624, "CODE": "PA4", "DESCRIPTION_IT": "Parchetto per avicoli", "DESCRIPTION_DE": "Geflügelauslauf", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 542}, "bbox": [679925.712, 5154787.047, 679959.42, 5154814.596]}, {"type": "Feature", "id": "Fields-Used.421626", "geometry": {"type": "Polygon", "coordinates": [[[679054.851, 5158843.423], [679032.52, 5158859.855], [679024.938, 5158867.17], [679004.358, 5158871.457], [678994.032, 5158864.019], [679007.879, 5158849.719], [679000.164, 5158840.671], [678989.971, 5158849.161], [678979.198, 5158839.626], [678970.24, 5158846.488], [678968.266, 5158844.441], [678966.216, 5158844.598], [678965.422, 5158842.58], [678952.602, 5158843.8449], [678949.762, 5158844.125], [678941.546, 5158825.13], [678942.164, 5158824.859], [678954.116, 5158819.617], [678978.082, 5158807.292], [678976.196, 5158803.83], [678970.426, 5158793.239], [679030.0949, 5158759.6991], [679032.8706, 5158766.0522], [679037.918, 5158777.606], [679050.636, 5158806.7155], [679056.2968, 5158816.7258], [679065.922, 5158826.284], [679068.575, 5158828.891], [679066.714, 5158832.389], [679065.103, 5158835.417], [679054.851, 5158843.423]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421626, "CODE": "PA4", "DESCRIPTION_IT": "Parchetto per avicoli", "DESCRIPTION_DE": "Geflügelauslauf", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 7139}, "bbox": [678941.546, 5158759.6991, 679068.575, 5158871.457]}, {"type": "Feature", "id": "Fields-Used.421646", "geometry": {"type": "Polygon", "coordinates": [[[672464.221, 5126310.243], [672460.227, 5126312.923], [672459.258, 5126313.537], [672444.46, 5126291.688], [672444.858, 5126291.357], [672448.988, 5126288.135], [672464.221, 5126310.243]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421646, "CODE": "SE", "DESCRIPTION_IT": "Serre", "DESCRIPTION_DE": "Gewächshäuser", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 156}, "bbox": [672444.46, 5126288.135, 672464.221, 5126313.537]}, {"type": "Feature", "id": "Fields-Used.421649", "geometry": {"type": "Polygon", "coordinates": [[[672552.625, 5126611.888], [672546.021, 5126616.63], [672538.571, 5126604.692], [672544.497, 5126600.204], [672552.625, 5126611.888]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421649, "CODE": "SE", "DESCRIPTION_IT": "Serre", "DESCRIPTION_DE": "Gewächshäuser", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 110}, "bbox": [672538.571, 5126600.204, 672552.625, 5126616.63]}, {"type": "Feature", "id": "Fields-Used.421953", "geometry": {"type": "Polygon", "coordinates": [[[670727.982, 5126060.582], [670741.37, 5126101.384], [670710.036, 5126108.628], [670724.545, 5126062.148], [670727.982, 5126060.582]], [[670723.605, 5126082.116], [670723.076, 5126083.968], [670721.223, 5126087.407], [670722.546, 5126090.847], [670726.78, 5126092.963], [670727.044, 5126092.434], [670727.573, 5126089.788], [670726.515, 5126085.555], [670723.605, 5126082.116]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421953, "CODE": "SI", "DESCRIPTION_IT": "Siepi", "DESCRIPTION_DE": "Hecken", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 716}, "bbox": [670710.036, 5126060.582, 670741.37, 5126108.628]}, {"type": "Feature", "id": "Fields-Used.421958", "geometry": {"type": "Polygon", "coordinates": [[[672527.355, 5126581.094], [672527.614, 5126595.154], [672527.738, 5126597.204], [672527.892, 5126599.747], [672530.255, 5126602.974], [672531.9948, 5126605.3492], [672533.944, 5126608.011], [672534.644, 5126608.967], [672535.13, 5126609.629], [672544.727, 5126622.189], [672545.45, 5126623.119], [672546.991, 5126625.205], [672545.029, 5126626.671], [672524.762, 5126600.153], [672524.815, 5126596.255], [672524.824, 5126595.594], [672524.432, 5126592.622], [672523.379, 5126580.702], [672523.806, 5126580.545], [672526.716, 5126579.475], [672527.355, 5126581.094]]]}, "geometry_name": "SHAPE", "properties": {"ID": 421958, "CODE": "SI", "DESCRIPTION_IT": "Siepi", "DESCRIPTION_DE": "Hecken", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 149}, "bbox": [672523.379, 5126579.475, 672546.991, 5126626.671]}, {"type": "Feature", "id": "Fields-Used.425421", "geometry": {"type": "Polygon", "coordinates": [[[674349.919, 5131342.658], [674353.3881, 5131346.5459], [674338.947, 5131357.796], [674330.881, 5131348.385], [674342.93, 5131337.838], [674344.439, 5131336.517], [674349.919, 5131342.658]]]}, "geometry_name": "SHAPE", "properties": {"ID": 425421, "CODE": "VI", "DESCRIPTION_IT": "Vivaio", "DESCRIPTION_DE": "Pflanzenanzucht", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 234}, "bbox": [674330.881, 5131336.517, 674353.3881, 5131357.796]}, {"type": "Feature", "id": "Fields-Used.425422", "geometry": {"type": "Polygon", "coordinates": [[[675040.407, 5131511.331], [675040.407, 5131512.148], [675041.935, 5131514.379], [675041.75, 5131523.824], [675021.6067, 5131524.109], [675022.308, 5131510.568], [675022.944, 5131510.537], [675040.407, 5131511.331]]]}, "geometry_name": "SHAPE", "properties": {"ID": 425422, "CODE": "VI", "DESCRIPTION_IT": "Vivaio", "DESCRIPTION_DE": "Pflanzenanzucht", "CULT_PROT_IT": null, "CULT_PROT_DE": null, "LSP_CODE": null, "LSP_DESC_IT": null, "LSP_DESC_DE": null, "BEGIN_DATE": "2025-07-28Z", "END_DATE": "9999-12-31Z", "LAST_MODIFY": "2025-09-03Z", "USER": "--AF_ETL_IMPORT--", "AREA": 256}, "bbox": [675021.6067, 5131510.537, 675041.935, 5131524.109]}], "totalFeatures": 43, "numberMatched": 43, "numberReturned": 43, "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:EPSG::25832"}}} \ No newline at end of file diff --git a/tests/test_convert.py b/tests/test_convert.py index c0eedbd5..bc1b5b05 100644 --- a/tests/test_convert.py +++ b/tests/test_convert.py @@ -59,6 +59,7 @@ "de_sl", "de_he", "de_st", + "it_bz", ] test_path = "tests/data-files/convert" @@ -87,6 +88,7 @@ def _input_files(converter, *names): "de_st": _input_files("de_st", "de_st.json"), "de_sl_block": _input_files("de_sl_block", "de_sl_block.gml"), "de_sl": _input_files("de_sl", "de_sl.gml"), + "it_bz": _input_files("it_bz", "it_bz.json"), }