Web-service rechercherEntiteMeteo
=================================

Ce web-service permet de rechercher des sites et des grandeurs météo.

Paramètres HTTP
---------------

========= ======================
Paramètre Valeur
========= ======================
Route     recherche/entitesmeteo
Méthode   POST
========= ======================

Paramètres
----------

Les paramètres doivent être transmis dans le contenu de la requête au format format JSON.

======= ==================== ============ ===
Nom     Description          Type         O/F
======= ==================== ============ ===
entites entités retournés    2 caractères F
retour  type de retour       2 caractères F
filtres filtres de recherche Json
======= ==================== ============ ===

Paramètre entites
^^^^^^^^^^^^^^^^^

Le paramètre entites doit être une chaîne de caractères de 2 caractères:

-  le premier permet de rechercher des sites météo,
-  le deuxième permet de rechercher des grandeurs météo.

Chiffre des dizaines : 0 (pas de recherche de recherche de sites météo)
1 : (recherche de sites météo) Chiffre des unités : 0 (pas de recherche
de grandeurs), 1 (recherche de grandeurs).

Si le paramètre contributeurs n'est pas défini, il prend la valeur par
défaut '11' et le web-service retourne des sites et des grandeurs météo.

Exemples :

======================= ===================================== ==============================================
Valeur de contributeurs Commentaire                           Remarque
======================= ===================================== ==============================================
10                      Recherche de sites météo             
11                      Recherche de sites et grandeurs météo
01                      Recherche grandeurs météo             Ne retourne pas les sites météo sans grandeurs
======================= ===================================== ==============================================

Lorsque typeentites=’01’, les sites météo sans grandeurs ne sont pas
retournés.

Lorsque contributeur=10 ou 11 et que l’on filtre parmi les grandeurs,
les sites météo sans grandeurs ne sont pas retournés.

En l’absence de filtre sur les grandeurs et lorsque contributeurs=11 ou
01, l’ensemble des grandeurs des sites météo filtrés sont retournés.

Paramètre retour
^^^^^^^^^^^^^^^^

Le paramètre retour est une chaîne de caractères dont:

-  le premier caractère permet de spécifier les attributs des sites
   météo,
-  le deuxième, les attributs des grandeurs météo.

Retour code
"""""""""""

Valeur: 0

Retourne uniquement les codes des entités, en l’occurrence uniquement CdSiteMeteo et CdGrdMeteo.

Retour court
""""""""""""

Valeur: 1

Sites météo: CdSiteMeteo, LbSiteMeteo
Grandeurs météo: CdGrdMeteo, PDTGrdMeteo

Retour Hydroportail
"""""""""""""""""""

Valeur: 2

Sites météo: CdSiteMeteo, LbSiteMeteo, DtOuvertureSiteMeteo, DtFermSiteMeteo, CoordSiteMeteo au
format **WGS84**.

Grandeurs météo: CdGrdMeteo, PDTGrdMeteo, DtMiseServiceGrdMeteo, DtFermetureServiceGrdMeteo.

Retour long
"""""""""""

Valeur: 3

Retourne l'ensemble des balises des sites et des grandeurs.

Contenu de la requête HTTP
--------------------------

La requête HTTP doit contenir un json hydrométrie contenant des filtres de recherche de
contributeurs.

Json de recherche
^^^^^^^^^^^^^^^^^

Le JSON d'entrée est validé par le schéma suivant:
:download:`../../../jsonschema/rechercherEntiteMeteo.json`.

* L'objet de recherche doit contenir les deux attributs operation et filtres
* operation doit prendre une des valeurs suivantes: INTERSECTION OU UNION
* filtres doit être une liste non vide d'objets Filtre ou SousFiltres
* Filtre doit contenir les propriétés filtre et valeur et éventuellement les propriétés inverse et
  strict. 
* SousFiltres doit contenir une propriété filtre et la propriété sousfiltres.
* La propriété sousFiltres doit être une liste non vide d'objets Filtre

Les filtres :
-------------

Filtre sites météo
^^^^^^^^^^^^^^^^^^

====================== ======== =============== =============================================================
Filtre                 Type     attributs       Commentaire
====================== ======== =============== =============================================================
CdSiteMeteo            Texte    inverse         Recherche de type commence par
LbSiteMeteo            Texte    inverse, strict filtre sur le libellé ou le libellé usuel
MnSiteMeteo            Texte    inverse, strict filtre sur le mnémo
AltitudeSiteMeteo      Float    inverse         altitude du site supérieure à
CdZoneHydro            Texte    inverse         Recherche commence par
EssaiSiteMeteo         Booléen                  site d'essai
DtOuvertureSiteMeteo   Horodate inverse         Date d'ouverture supérieure à
DtFermSiteMeteo        Horodate inverse         Date de fermeture supérieure à
CdCommune              Texte    inverse         code insee de la commune (31555 pour Toulouse)
CdDepartement          Texte    inverse         code insee du départment (09 pourl'Ariège)
CdRegion               Texte    inverse         code insee de la région
CodeSandreRdd          Texte    inverse         Code du réseau ou du méta-réseau **recherche strict**
CdIntervenant          Texte    inverse         Code intervenant **recherche strict**
NomIntervenant         Texte    inverse         filtre par code intervenant **recherche strict**
RoleContact/NomContact Texte    inverse, strict contact ayant un rôle dur le site
RoleContact/CdContact  Texte    inverse         filtre contact ayant un rôle sur le site **recherche strict**
RoleContactSiteMeteo   Texte    inverse         filtre role **recherche strict**
DtVisiteSiteMeteo      Horodate inverse         Date de visite
DtMajSiteMeteo         Horodate inverse         Date de mise à jour
====================== ======== =============== =============================================================

Filtres grandeurs météo
^^^^^^^^^^^^^^^^^^^^^^^

========================== ======== ========= ==================================================
Filtre                     Type     attributs Commentaire
========================== ======== ========= ==================================================
CdGrdMeteo                 Texte    inverse   RR, TA,... **recherche strict**
DtMajGrdMeteo              Horodate inverse   Filtre sur les dernières grandeurs mises à jour
DtMiseServiceGrdMeteo      Horodate inverse   Date de mise en service
DtFermetureServiceGrdMeteo Horodate inverse   Date de fermeture de la grandeur
EssaiGrdMeteo              Booléen            grandeur d'essai
PDTGrdMeteo                Entier   inverse   pas de temps de la grandeur
CdqClasseQualiteGrd        Texte    inverse   Classe qualité de la grandeur **recherche strict**
========================== ======== ========= ==================================================

Réponse du web-service
----------------------

Le web-service renvoie un json hydrometrie contenant les entités météo recherchées.

Le json hydrométrie contient les deux propriétés Scenario et RefHyd.

L'object RefHyd contiendra l'unique propriété SitesMeteo qui sera une liste non vide d'objets
SiteMeteo.
