openadom
  • Accueil
  • Installation
  • Fichier d’example
  • Lexique
  • A propos
  1. Exemples
  2. Composantes
  3. Example d’utilisation des composantes dynamiques(sites)
  • Introduction
    • Introduction
    • Vocabulaire
    • Fichier d’échange
  • Fichiers d’échange
    • Aide fichier
    • Application (OA_application)
    • Etiquettes (OA_tags)
    • Données (OA_data)
      • Components
        • introduction
        • Basic Components
        • Computed Components
        • Dynamic Components
        • Constant Components
        • Pattern Components
        • Paramétrage des composants
        • Verificateurs
        • Validations
        • Dépôt de fichier (OA_submission)
        • Autorisations (OA_autorisations)
      • Fichier additionnels
      • Formulaire de demande de droits
  • Pour aller plus loin
    • Glossaire
    • Authorization
    • Component Qualifiers
    • Expression Groovy
    • Internationalisation i18n
    • Submission
  • Base de données
    • Introduction
  • En réflexion
    • Verificateurs
    • Clefs étrangères
  • Exemples
    • Fichier de configuration minimale
    • Composantes
      • Example d’utilisation des composants
      • Example d’utilisation des composantes dynamiques(sites)
      • Example d’utilisation des composantes dynamiques (taxons)
      • Example d’utilisation des composantes basiques

Sur cette page

  • Description
  • Configuration
  • Rendu
  • Stockage en base
  • Modifier cette page
  • Voir la source
  • Faire part d'un problème
  1. Exemples
  2. Composantes
  3. Example d’utilisation des composantes dynamiques(sites)

Example d’utilisation d’une composante dynamique

sites

Date de publication

07 mai 2025

Résumé
Cet exemple permet de définir une composante dymique site_property s’appuyant sur un référentiel de propriétés de sites.

Description

Ici les sites repésentent des zones d’études. Il en existe différents types imbriquées les une dans les autres. Pour chaque type on peut définir un certain nombre de propriétes communes à plusieurs types de zones d’étude ou spécifiques d’une zone d’étude.

Propriétés des sites
Propriétés des sites
nom_propriete type_donnee unite niveau_site
altitude numeric m zone, massif, station,parcelle,point
superficie numeric m2 zone, massif, station,parcelle,point
type_sol character parcelle
densite_vegetation numeric pourcentage parcelle
type_vegetation character zone
exposition character cardil zone
humidite_sol numeric pourcentage point
ph_sol numeric point
temperature_moyenne numeric celsius station
pluviometrie_annuelle numeric mm station
Sites
Zones d’études
nom niveau parent ps_altitude ps_superficie ps_type_sol ps_densite_vegetation ps_type_vegetation ps_exposition ps_humidite_sol ps_ph_sol ps_temperature_moyenne ps_pluviometrie_annuelle
Massif Central massif 1200 5000000 NA NA NA NA NA
Zone Puy de Dôme zone Massif Central 1465 150000 NA prairie alpine Sud NA NA NA NA
Parcelle P1 parcelle Zone Puy de Dôme 1480 5000 volcanique 75 NA NA NA NA
Point Etude 1 point Parcelle P1 1485 10 NA 65 6.5 NA NA
Station Meteo 1 station Zone Puy de Dôme 1470 25 NA NA NA 12.5 850

Configuration

On pourra décrire le fichier de configuration en utilisant une composante property défine comme une composante dynamique.

dynamicComponent.yaml
OA_version: 2.0.1
OA_application:
  OA_name: dynamic_case_sites
  OA_i18n: # optional
    OA_title:
      fr: Example de composante dynamique (Sites)
      en: Dynamic configuration example (Sites)
    OA_description:
      fr: Example de composante dynamique (Sites)
      en: Dynamic component example (Sites)
  OA_version: 1.0.1
  OA_defaultLanguage: fr  # optional par défaut fr
  OA_comment: Cas d'usage des composantes dynamiques (sites) # optional
OA_data:
  tr_sites_properties_spt:
    OA_naturalKey: [nom_propriete]
    OA_basicComponents:
      nom_propriete:
      type_donnee:
      unite:
      niveau_site:
        OA_checker:
          OA_name: OA_string
          OA_params:
            OA_multiplicity: MANY
  tr_sites_sit:
    OA_naturalKey: [nom]
    OA_basicComponents:
      nom:
      niveau:
      parent:
        OA_checker:
          OA_name: OA_reference
          OA_params:
            OA_reference:
              OA_name: tr_sites_sit
              OA_isRecursive: true
    OA_dynamicComponents:
      property:
        OA_exportHeader:
          OA_title:
            fr: Propriétés de sites
            en: Sites properties
          OA_description:
            fr: Propriétés de Sites
            en: Sites properties
        OA_headerPrefix: "ps_"
        OA_reference: tr_sites_properties_spt
        OA_referenceComponentToLookForHeader: nom_propriete

dynamicComponent.yaml

Rendu

visualisation des sites

visualisation des propriétés de Zone Puy de Dôme

Stockage en base

select refvalues 
from dynamic_case_sites.referencevalue
where referencetype = 'tr_sites_sit' and 
naturalkey = 'zone_puy_de_dome'::ltree
{
  "nom": "Zone Puy de Dôme",
  "niveau": "zone",
  "parent": "massif_central",
  "property": {
    "ph_sol": "",
    "altitude": "1465",
    "type_sol": "",
    "exposition": "Sud",
    "superficie": "150000",
    "humidite_sol": "",
    "type_vegetation": "prairie alpine",
    "densite_vegetation": "",
    "temperature_moyenne": "",
    "pluviometrie_annuelle": ""
  },
  "__display_default": "Zone Puy de Dôme"
}
Retour au sommet
Example d’utilisation des composants
Example d’utilisation des composantes dynamiques (taxons)
Code source
---
title: Example d'utilisation d'une composante dynamique
subtitle: sites
abstract: Cet exemple permet de définir une composante dymique site_property s'appuyant sur un référentiel de propriétés de sites.
---

## Description

Ici les sites repésentent des zones d'études. Il en existe différents types imbriquées les une dans les autres. Pour chaque type on peut définir un certain nombre de propriétes communes à plusieurs types de zones d'étude ou spécifiques d'une zone d'étude.

::: {.callout-important collapse="false" title="Propriétés des sites"}
```{r}
#| echo: false
#| label: tr_sites_properties_spt.csv
#| tbl-cap: "Propriétés des sites"
#| code-fold: show
knitr::kable(read.csv("fichiers/tr_sites_properties_spt.csv", header = TRUE,  sep = ';',  stringsAsFactors = FALSE))

```
:::

::: {.callout-important collapse="false" title="Sites"}
```{r}
#| echo: false
#| label: tr_sites_sit.csv
#| tbl-cap: "Zones d'études"
#| code-fold: show
knitr::kable(read.csv("fichiers/tr_sites_sit.csv", header = TRUE,  sep = ';',  stringsAsFactors = FALSE))

```
:::

## Configuration

On pourra décrire le fichier de configuration en utilisant une composante property défine comme une composante dynamique.

::: {.callout-important collapse="false" title="dynamicComponent.yaml"}
``` yaml
{{< include dynamicComponent.yaml >}}
```

[dynamicComponent.yaml](/fichiers/examples/dynamicComponant/dynamicComponent.yaml)
:::

## Rendu

::: {.callout-important collapse="false" title="visualisation des sites"}
![](images/paste-1.png)
:::

::: {.callout-important collapse="false" title="visualisation des propriétés de Zone Puy de Dôme"}
![](images/paste-2.png)
:::

## Stockage en base

``` sql
select refvalues 
from dynamic_case_sites.referencevalue
where referencetype = 'tr_sites_sit' and 
naturalkey = 'zone_puy_de_dome'::ltree
```

``` json
{
  "nom": "Zone Puy de Dôme",
  "niveau": "zone",
  "parent": "massif_central",
  "property": {
    "ph_sol": "",
    "altitude": "1465",
    "type_sol": "",
    "exposition": "Sud",
    "superficie": "150000",
    "humidite_sol": "",
    "type_vegetation": "prairie alpine",
    "densite_vegetation": "",
    "temperature_moyenne": "",
    "pluviometrie_annuelle": ""
  },
  "__display_default": "Zone Puy de Dôme"
}
```

Copyright 2025, OpenADOM

 
  • Modifier cette page
  • Voir la source
  • Faire part d'un problème