geosas / bosco

Visualiseur du projet Bosco
0 stars 1 forks source link

Observer les cultures par année #7

Closed Gaetanbrl closed 5 months ago

Gaetanbrl commented 7 months ago

Cette issue est une évolution non planifiée dans le besoin initial.

Description

Cette issue concerne l'affichage des culture par année sur une parcelle.

La parcelle est issue de la couche du RPG (produite par INRAE) mais l'information de la culture peut provenir d'une autre données type API Carto - module RPG :

https://api.gouv.fr/les-api/api_carto_rpg

La culture peut être affichée via un icône ou un texte selon préférence.

Gaetanbrl commented 5 months ago

Pour cette issue, il faut réutiliser le service OGC Inrae https://github.com/geosas/bosco/issues/1#issuecomment-1969494362 :

===============================

Exemple d'utilisation de l'API stats-ogc pour la partie RPG, la sortie est au format CoverageJSON (OGC)

Le format CoverageJSON est un peu "tordu" et complexe à interpréter. Je tente une explication...

  1. L'objet "t.values" contient les années du RPG présentes dans la base :
  "t": {"values": [
              "2017-01-01T00-00-00Z",
              "2018-01-01T00-00-00Z",
              "2019-01-01T00-00-00Z",
              "2020-01-01T00-00-00Z",
              "2021-01-01T00-00-00Z",
              "2022-01-01T00-00-00Z"
        ]}
  1. L'objet "ranges.code_groupe.values" contient les codes des cultures des différentes années dans le même ordre que le tableau "t".
     "ranges": {
        "code_groupe": {
          "type": "NdArray",
          "dataType": "float32",
          "axisNames": [
            "t"
          ],
          "shape": [
            5
          ],
          "values": [
            2,
            1,
            2,
            1,
            2,
            1
          ]
        }
      } 
  2. L'objet "categoryEncoding" contient l'ID de chaque culture sous la forme d'une URI.
           "categoryEncoding": {
            "http://opendata.inrae.fr/thesaurusINRAE/c_24452": 1,
            "http://opendata.inrae.fr/thesaurusINRAE/c_25193": 2,
            ...
           }
  3. L'objet "parameters.code_groupe.observedProperty.categories.label.fr" contient le nom de la culture, idem pour la couleur avec "preferredColor", utile si on décide d'afficher une légende, le tout étant indexé par le champ "id", identique au 3.
    
    "parameters": {
        "code_groupe": {
          "type": "Parameter",
          "description": "Code du groupe de la culture principale de la parcelle",
          "unit": {
            "label": "Groupe de culture",
            "symbol": {
              "type": "",
              "value": ""
            }
          },
          "observedProperty": {
            "categories": [
              {
                "description": {
                  "fr": "Groupe de culture du blé tendre du Registre Parcellaire Graphique"
                },
                "id": "http://opendata.inrae.fr/thesaurusINRAE/c_24452",
                "label": {
                  "en": "Soft wheat",
                  "fr": "Blé tendre"
                },
                "preferredColor": "#ffff90"
              },
              {
                "description": {
                  "fr": "Groupe de culture du maïs grain et ensilage du Registre Parcellaire Graphique"
                },
                "id": "http://opendata.inrae.fr/thesaurusINRAE/c_25193",
                "label": {
                  "en": "Corn",
                  "fr": "Maïs grain et ensilage"
                },
                "preferredColor": "#00ff00"
              },
             ...

Pour notre parcelle, ça donnerait : 
| Année | Culture | Couleur |
| --- | --- | --- |
| 2017 | Maïs grain et ensilage | #00ff00 |
| 2018 | Blé tendre | #ffff90 |
| 2019 | Maïs grain et ensilage | #00ff00 |
| 2020 | Blé tendre | #ffff90 |
| 2021 | Maïs grain et ensilage | #00ff00 |
| 2022 | Blé tendre | #ffff90 |
Gaetanbrl commented 5 months ago

Le paramètre "name" n'est pas obligatoire. Le paramètre "datetime" est obligatoire est doit être calculé à partir de la dimension temporelle (getCapabilities) ou en dur

Gaetanbrl commented 5 months ago

Lors du clique, le tableau suivant construit dans le template permettra d'obtenir la culture par année :

image