From a333adb2bc8ac6c4d21290c29c8324bedbfa6cc1 Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Thu, 23 Apr 2026 01:01:53 +0200 Subject: [PATCH 1/5] Make Catalog using makefile command --- Makefile | 21 +++++++++++++++++++++ README.md | 8 +++----- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 449b723..152edd0 100644 --- a/Makefile +++ b/Makefile @@ -2,3 +2,24 @@ build: cd coordo-ts && npm install && npm run build mkdir -p coordo-py/coordo/static/ cp -r coordo-ts/dist/* coordo-py/coordo/static/ + +catalog: + # All 4 Trees - Inventaire forestier + uv run coordo load kobotoolbox data/all4trees/inventaire/20250213_Inventaire_ID_QuestionnaireK.xlsx data/all4trees/inventaire/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire + uv run coordo load file data/all4trees/inventaire/dens_bois.csv --package catalog/inventaire + uv run coordo add-foreignkey ind.ess_arb dens_bois.ess_arb --package catalog/inventaire + uv run coordo load file data/all4trees/inventaire/inventaire_external.csv --package catalog/inventaire + uv run coordo add-foreignkey inventaire_id._id inventaire_external.index --package catalog/inventaire + uv run coordo load file data/all4trees/inventaire/dens_bois_mort.csv --package catalog/inventaire + uv run coordo add-foreignkey ind.decomp dens_bois_mort.decomp --package catalog/inventaire + uv run coordo load file data/all4trees/inventaire/constants.csv --package catalog/inventaire + uv run coordo load file data/all4trees/inventaire/meteo.csv --package catalog/inventaire + uv run coordo add-foreignkey inventaire_id.for meteo.strat --package catalog/inventaire + + # All 4 Trees - Enquête ménage + uv run coordo load kobotoolbox data/all4trees/enquete/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/all4trees/enquete/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete + uv run coordo load file data/all4trees/enquete/socio_eco_gps.csv --package catalog/enquete + uv run coordo add-foreignkey enquete_menage_cdf.admi2 socio_eco_gps.admi2 --package catalog/enquete + + # Seed - Survey + uv run coordo load file data/seed/survey.zip --package catalog/seed \ No newline at end of file diff --git a/README.md b/README.md index 1d46a57..1183a1a 100644 --- a/README.md +++ b/README.md @@ -103,11 +103,9 @@ make build Import data into catalog -``` -uv run coordo load kobotoolbox data/20250213_Inventaire_ID_QuestionnaireK.xlsx data/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire -uv run coordo load file data/dens_bois.csv --package catalog/inventaire -uv run coordo add-foreignkey ind.ess_arb dens_bois.ess_arb --package catalog/inventaire -uv run coordo load kobotoolbox data/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete +```bash +AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= aws s3 sync s3://coordonnees-upload ./data --delete --endpoint-url https://s3.fr-par.scw.cloud --region fr-par +make catalog ``` Serve a config file From 45ec70f7f4c3021345c958ea070615d9e7ce5142 Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Thu, 23 Apr 2026 01:03:24 +0200 Subject: [PATCH 2/5] Add references schemas in layer metadata --- coordo-py/coordo/map/datapackage.py | 24 +++++++++++++++++++++--- coordo-ts/src/types.ts | 9 ++++++++- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/coordo-py/coordo/map/datapackage.py b/coordo-py/coordo/map/datapackage.py index d9e1b4a..8e0d629 100644 --- a/coordo-py/coordo/map/datapackage.py +++ b/coordo-py/coordo/map/datapackage.py @@ -45,9 +45,12 @@ def to_maplibre(self, base_path): source = GeoJSONSource(type="geojson", data=data) metadata = { - "schema": safe(resource, "schema").model_dump( - exclude_none=True, warnings="none" - ), + "resource": { + "schema": safe(resource, "schema").model_dump( + exclude_none=True, warnings="none" + ), + }, + "references": self.findAllResourceReferences(resource, package) } if self.popup: metadata.update(popup=self.popup.model_dump()) @@ -103,4 +106,19 @@ def infer_layer_type(self, features): layer_type = "circle" return layer_type + + def findAllResourceReferences(self, resource, package): + references = [] + added_references = [] + for res in package.resources: + for fk in res.schema.foreignKeys: + if fk.reference.resource == resource.name and res.name not in added_references: + references.append({ + "name": res.name, + "schema": safe(res, "schema").model_dump( + exclude_none=True, warnings="none" + ) + }) + added_references.append(res.name) + return references diff --git a/coordo-ts/src/types.ts b/coordo-ts/src/types.ts index b4748fd..fb9d0c7 100644 --- a/coordo-ts/src/types.ts +++ b/coordo-ts/src/types.ts @@ -34,5 +34,12 @@ export type LayerMetadata = { trigger: string; html?: string; }; - schema?: FrictionlessSchema; + resource?: { + schema?: FrictionlessSchema; + }, + references?: [{ + name: string, + schema: FrictionlessSchema + } + ] }; From a1bd080e7ed19322b84f9becd002d39aeff38e6c Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Thu, 23 Apr 2026 09:38:00 +0200 Subject: [PATCH 3/5] Remove unused access to layer metadata --- coordo-ts/src/layers/filters.ts | 7 ------- coordo-ts/src/types.ts | 13 +++++++------ 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/coordo-ts/src/layers/filters.ts b/coordo-ts/src/layers/filters.ts index ed642ca..be6e9e3 100644 --- a/coordo-ts/src/layers/filters.ts +++ b/coordo-ts/src/layers/filters.ts @@ -5,8 +5,6 @@ import type { GeoJSONSource, Map as MapLibreMap } from "maplibre-gl"; -import type { LayerMetadata } from "../types"; - export type SetLayerFiltersParams = { layerId: string; filters: T; @@ -47,11 +45,6 @@ export function makeSetLayerFilters({ throw new Error(`[FILTERS] Layer ${layerId} doesn't exist.`); } - // Retrieve dataUrl froom layer configuration - const schema = (layer.metadata as LayerMetadata).schema; - if (!schema) { - throw new Error(`[FILTERS] Layer ${layer.id} can't be filtered.`); - } const dataUrl = new URL(layerId, baseUrl).toString(); // Fetch data based on filters diff --git a/coordo-ts/src/types.ts b/coordo-ts/src/types.ts index fb9d0c7..5b2694b 100644 --- a/coordo-ts/src/types.ts +++ b/coordo-ts/src/types.ts @@ -36,10 +36,11 @@ export type LayerMetadata = { }; resource?: { schema?: FrictionlessSchema; - }, - references?: [{ - name: string, - schema: FrictionlessSchema - } - ] + }; + references?: [ + { + name: string; + schema: FrictionlessSchema; + }, + ]; }; From 5e354996dd60bf1e28284c1ce084fafb83a1f758 Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Thu, 23 Apr 2026 09:55:04 +0200 Subject: [PATCH 4/5] Add requested action in coordo load commands --- Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 152edd0..4c453db 100644 --- a/Makefile +++ b/Makefile @@ -5,21 +5,21 @@ build: catalog: # All 4 Trees - Inventaire forestier - uv run coordo load kobotoolbox data/all4trees/inventaire/20250213_Inventaire_ID_QuestionnaireK.xlsx data/all4trees/inventaire/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire - uv run coordo load file data/all4trees/inventaire/dens_bois.csv --package catalog/inventaire + uv run coordo load kobotoolbox --add data/all4trees/inventaire/20250213_Inventaire_ID_QuestionnaireK.xlsx data/all4trees/inventaire/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire + uv run coordo load file --add data/all4trees/inventaire/dens_bois.csv --package catalog/inventaire uv run coordo add-foreignkey ind.ess_arb dens_bois.ess_arb --package catalog/inventaire - uv run coordo load file data/all4trees/inventaire/inventaire_external.csv --package catalog/inventaire + uv run coordo load file --add data/all4trees/inventaire/inventaire_external.csv --package catalog/inventaire uv run coordo add-foreignkey inventaire_id._id inventaire_external.index --package catalog/inventaire - uv run coordo load file data/all4trees/inventaire/dens_bois_mort.csv --package catalog/inventaire + uv run coordo load file --add data/all4trees/inventaire/dens_bois_mort.csv --package catalog/inventaire uv run coordo add-foreignkey ind.decomp dens_bois_mort.decomp --package catalog/inventaire - uv run coordo load file data/all4trees/inventaire/constants.csv --package catalog/inventaire - uv run coordo load file data/all4trees/inventaire/meteo.csv --package catalog/inventaire + uv run coordo load file --add data/all4trees/inventaire/constants.csv --package catalog/inventaire + uv run coordo load file --add data/all4trees/inventaire/meteo.csv --package catalog/inventaire uv run coordo add-foreignkey inventaire_id.for meteo.strat --package catalog/inventaire # All 4 Trees - Enquête ménage - uv run coordo load kobotoolbox data/all4trees/enquete/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/all4trees/enquete/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete - uv run coordo load file data/all4trees/enquete/socio_eco_gps.csv --package catalog/enquete + uv run coordo load kobotoolbox --add data/all4trees/enquete/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/all4trees/enquete/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete + uv run coordo load file --add data/all4trees/enquete/socio_eco_gps.csv --package catalog/enquete uv run coordo add-foreignkey enquete_menage_cdf.admi2 socio_eco_gps.admi2 --package catalog/enquete # Seed - Survey - uv run coordo load file data/seed/survey.zip --package catalog/seed \ No newline at end of file + uv run coordo load file --add data/seed/survey.zip --package catalog/seed \ No newline at end of file From 9231c239c3877f1175fdd373f69b60f4e869ec2b Mon Sep 17 00:00:00 2001 From: Arnaud Fournier Date: Thu, 23 Apr 2026 10:03:59 +0200 Subject: [PATCH 5/5] Fix maefile with correct command --- Makefile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4c453db..989a382 100644 --- a/Makefile +++ b/Makefile @@ -5,21 +5,21 @@ build: catalog: # All 4 Trees - Inventaire forestier - uv run coordo load kobotoolbox --add data/all4trees/inventaire/20250213_Inventaire_ID_QuestionnaireK.xlsx data/all4trees/inventaire/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire - uv run coordo load file --add data/all4trees/inventaire/dens_bois.csv --package catalog/inventaire + uv run coordo load kobotoolbox --action add data/all4trees/inventaire/20250213_Inventaire_ID_QuestionnaireK.xlsx data/all4trees/inventaire/20251017_Inventaire_ID_Donnees.xlsx --package catalog/inventaire + uv run coordo load file --action add data/all4trees/inventaire/dens_bois.csv --package catalog/inventaire uv run coordo add-foreignkey ind.ess_arb dens_bois.ess_arb --package catalog/inventaire - uv run coordo load file --add data/all4trees/inventaire/inventaire_external.csv --package catalog/inventaire + uv run coordo load file --action add data/all4trees/inventaire/inventaire_external.csv --package catalog/inventaire uv run coordo add-foreignkey inventaire_id._id inventaire_external.index --package catalog/inventaire - uv run coordo load file --add data/all4trees/inventaire/dens_bois_mort.csv --package catalog/inventaire + uv run coordo load file --action add data/all4trees/inventaire/dens_bois_mort.csv --package catalog/inventaire uv run coordo add-foreignkey ind.decomp dens_bois_mort.decomp --package catalog/inventaire - uv run coordo load file --add data/all4trees/inventaire/constants.csv --package catalog/inventaire - uv run coordo load file --add data/all4trees/inventaire/meteo.csv --package catalog/inventaire + uv run coordo load file --action add data/all4trees/inventaire/constants.csv --package catalog/inventaire + uv run coordo load file --action add data/all4trees/inventaire/meteo.csv --package catalog/inventaire uv run coordo add-foreignkey inventaire_id.for meteo.strat --package catalog/inventaire # All 4 Trees - Enquête ménage - uv run coordo load kobotoolbox --add data/all4trees/enquete/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/all4trees/enquete/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete - uv run coordo load file --add data/all4trees/enquete/socio_eco_gps.csv --package catalog/enquete + uv run coordo load kobotoolbox --action add data/all4trees/enquete/20240808_EnqueteMenage_CDF_QuestionnaireK.xlsx data/all4trees/enquete/20241007_EnqueteMenage_CDF_Donnees.csv --package catalog/enquete + uv run coordo load file --action add data/all4trees/enquete/socio_eco_gps.csv --package catalog/enquete uv run coordo add-foreignkey enquete_menage_cdf.admi2 socio_eco_gps.admi2 --package catalog/enquete # Seed - Survey - uv run coordo load file --add data/seed/survey.zip --package catalog/seed \ No newline at end of file + uv run coordo load file --action add data/seed/survey.zip --package catalog/seed \ No newline at end of file