Ajout d’une station hydro

Ce web-service permet d’ajouter des stations hydro en PHyC.

Paramètres HTTP

Paramètre

Valeur

Route

stationhydro

Méthode

POST

Contenu

une station hydro au format json

Droit de gestion

IL faut être administrateur (rôle ADM) du site hydro pour ajouter une station hydro.

Règles techniques

Le libellé est généré automatiquement par le web-service.

Type de la station

Pour des sites PLANDEAU, on peut uniquement associer des stations de type H ou FICTIVE.

Pour des sites de type: STANDARD, SOURCE ou MAREGRAPHE, on peut associer n’importe quel type de stations.

On peut ajouter de stations fictive aux sites virtuels.

On peut ajouter des stations H et HC à des sites virtuels avec observations.

Commune

La commune de la station à ajouter doit correspondre à une des communes du site parent.

Station LIMNIMERE

On peut ajouter des plages d’association de stations à pente uniquement aux stations LIMNIMERE.

Rôle ADM

Il est obligatoire de définir un administrateur à la station à créer.

Contenu de la requête HTTP

La requête HTTP doit contenir un json hydrométrie contenant une station hydro.

Json hydrométrie

Schéma de validation
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://phyc.org/ws/ajouterStationHydro.json",
  "type": "object",
  "properties": {
    "Scenario": {
      "type": "object"
    },
    "RefHyd": {
      "type": "object",
      "properties": {
        "SitesHydro": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "CdSiteHydro": {"type": "string"},
              "StationsHydro": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "CdStationHydro": {"type":  "string", "const":  "0000000000"},
                    "TypStationHydro": {"type":  "string"},
                    "ComplementLbStationHydro": {"type": "string"},
                    "ComPrivStationHydro": {"type": "string"},
                    "CoordStationHydro": {
                      "type": "object",
                      "properties": {
                        "CoordXStationHydro": {"type":  "number"},
                        "CoordYStationHydro": {"type":  "number"},
                        "ProjCoordStationHydro": {"type":  "integer"}
                      },
                      "required": ["CoordXStationHydro", "CoordYStationHydro", "ProjCoordStationHydro"],
                      "additionalProperties": false
                    },
                    "PkStationHydro": {"type": "number"},
                    "DtMiseServiceStationHydro": {"type": "string", "format": "date-time"},
                    "DtFermetureStationHydro": {"type": "string", "format": "date-time"},
                    "ASurveillerStationHydro": {"type": "boolean"},
                    "NiveauAffichageStationHydro": {"type": "integer"},
                    "DroitPublicationStationHydro": {"type": "integer"},
                    "DelaiDiscontinuiteStationHydro": {"type": "integer"},
                    "DelaiAbsenceStationHydro": {"type": "integer"},
                    "EssaiStationHydro": {"type": "boolean"},
                    "InfluLocaleStationHydro": {"type": "integer"},
                    "ComInfluLocaleStationHydro": {"type": "string"},
                    "ComStationHydro": {"type": "string"},
                    "StationsHydroAnterieures": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdStationHydro": {"type": "string"}
                        },
                        "required": ["CdStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "StationsHydroPosterieures": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdStationHydro": {"type": "string"}
                        },
                        "required": ["CdStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "QualifsDonneesStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdRegime": {"type": "integer"},
                          "QualifDonStationHydro": {"type": "integer"},
                          "ComQualifDonStationHydro": {"type": "string"}
                        },
                        "required": ["CdRegime", "QualifDonStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "FinalitesStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdFinaliteStationHydro": {"type": "integer"}
                        },
                        "required": ["CdFinaliteStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "LoisStatContexteStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "TypContexteLoiStat": {"type": "integer"},
                          "TypLoiStationHydro": {"type": "integer"}
                        },
                        "required": ["TypContexteLoiStat", "TypLoiStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "RolsContactStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdContact": {"type": "string"},
                          "RoleContactStationHydro": {"type": "string", "const":  "ADM"}
                        },
                        "required": ["CdContact", "RoleContactStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "PlagesUtilStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "DtDebPlageUtilStationHydro": {"type": "string", "format": "date-time"},
                          "DtFinPlageUtilStationHydro": {"type": "string", "format": "date-time"},
                          "ActivePlageUtilStationHydro": {"type": "boolean"}
                        },
                        "required": ["DtDebPlageUtilStationHydro", "ActivePlageUtilStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "ReseauxMesureStationHydro": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CodeSandreRdd": {"type": "string"}
                        },
                        "required": ["CodeSandreRdd"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "RefsAlti": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "AltitudeRefAlti": {"type": "number"},
                          "SysAltiRefAlti": {"type": "integer"},
                          "DtDebutRefAlti": {"type": "string", "format": "date-time"},
                          "DtFinRefAlti": {"type": "string", "format": "date-time"}
                        },
                        "required": ["AltitudeRefAlti", "SysAltiRefAlti", "DtDebutRefAlti"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "CdStationHydroAncienRef": {"type": "string"},
                    "Commune": {
                      "type": "object",
                      "properties": {
                        "CdCommune":  {"type": "string"}
                      },
                      "required": ["CdCommune"],
                      "additionalProperties": false
                    },
                    "StationsHydroAmont": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdStationHydro": {"type": "string"}
                        },
                        "required": ["CdStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "StationsHydroAval": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "CdStationHydro": {"type": "string"}
                        },
                        "required": ["CdStationHydro"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    },
                    "PlagesAssoStationHydroFille": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "stationHydroFille": {
                            "type": "object",
                            "properties": {
                              "CdStationHydro": {"type": "string"}
                            },
                            "required": ["CdStationHydro"],
                            "additionalProperties": false
                          },
                          "DtDebPlageAssoStationHydroMereFille": {"type": "string", "format": "date-time"},
                          "DtFinPlageAssoStationHydroMereFille": {"type": "string", "format": "date-time"}
                        },
                        "required": ["stationHydroFille", "DtDebPlageAssoStationHydroMereFille"],
                        "additionalProperties": false
                      },
                      "minItems": 1
                    }
                  },
                  "required": ["CdStationHydro", "TypStationHydro", "RolsContactStationHydro", "Commune"],
                  "additionalProperties": false
                },
                "minItems": 1
              }
            },
            "required": ["CdSiteHydro", "StationsHydro"],
            "additionalProperties": false
          },
          "minItems": 1
        }
      },
      "required": ["SitesHydro"],
      "additionalProperties": false
    }
  },
  "required": ["Scenario", "RefHyd"],
  "additionalProperties": false
}
  • Les attributs RefHyd (associé à l’objet Refhyd) et Scenario sont obligatoires;

  • L’objet RefHyd ne doit contenir qu’un seul attribut SitesHyddro associé à une liste ne contenant qu’un seul objet SiteHydro;

  • L’objet SiteHydro doit contenir obligatoirement les attributs CdSiteHydro et StationsHydro;

  • StationHydro doit être une liste contenant un unique objet StationHydro;

  • L’objet StationHydro doit contenir obligatoirement les attributs CdStationHydro, TypStationHydro, RolsContactStationHydro et Commune;

  • L’attribut CdStationHydro doit obligatoirement prendre la valeur “0000000000”;

  • L’attribut RolsContactStationHydro doit contenir un unique objet RolContactStationHydro;

  • L’objet RolContactStationHydro doit contenir les attributs CdContact et RoleContactStationHydro;

  • DtDebutContactStationHydro, DtFinContactStationHydroet et DtMAJContactStationHydro ne doivent pas être présents pour l’objet RolContactStationHydro,

  • L’attribut RoleContactStationHydro doit valoir ADM.

  • les attributs DtActivationPlageUtilStationHydro et DtDesactivationPlageUtilStationHydro ne doivent pas être présents pour l’objet PlageUtilStationHydro;

  • Les attributs LbStationHydro, Capteurs et DtMajStationHydro ne doivent pas être présents pour l’objet StationHydro;

  • les attributs DtActivationRefAlti, DtDesactivationRefAlti ne doivent pas être présents pour l’objet RefAlti.

Recalcul

L’appel de ce webservice génère des recalculs si des plages d’utilisation sont définies.

Réponse du service

Le web-service renverra le json hydrométrie contenant la station ajoutée.

La PHyC attribuera le code de la station (attribut CdStationHydro).

Le web-service rajoutera les attributs à la station:

  • LbStationHydro: Le libellé de la station sera généré automatiquement selon le format: « article+cours d’eau – [précision du cours d’eau] – article+commune – [complément du nom] – complément station »;

  • DtMajStationHydro : date de mise à jour de la station;

  • DtDebutContactStationHydro et DtMAJContactStationHydro pour l’objet RolContactStationHydro;

  • DtActivationRefAlti pour les objets RefAlti.