Web-service rechercherEntiteHydro (**déprécié**)
================================================

Ce web-service permet de rechercher des sites, des stations et/ou des capteurs hydro.

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

========= =====================
Paramètre Valeur
========= =====================
Route     recherche/entitehydro
Méthode   GET
Contenu   filtres de recherche
          au format json
========= =====================

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

============= ============================ ============ ===
Nom           Description                  Type         O/F
============= ============================ ============ ===
entites       Entités retournés            3 caractères F
retour        type de retour               3 caractères F
============= ============================ ============ ===

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

Le paramètre entites est une chaîne de caractères dont le premier caractère permet de rechercher des
sites, le deuxième permet de rechercher des stations et le dernier caractère permet de rechercher
des capteurs.

1er caractère: 0 (pas de recherche de sites), 1 (recherche sur l’ensemble des sites)

2e caractère : 0 (pas de recherche de station) 1 : (recherche de stations)

3e caractère : 0 (pas de recherche de capteur), 1 (recherche de capteurs).

Exemples :

===================== ===================================== =======================================
Valeur de typeentites Commentaire                           Remarque
===================== ===================================== =======================================
100                   Recherche sur les sites              
110                   Recherche sites et stations          
111                   Recherche sites, stations et capteurs
010                   Recherche stations                    Ne retourne pas les sites sans stations
011                   Recherche stations et capteurs       
001                   Recherche capteur                     Ne retourne pas les sites et stations
                                                            sans capteurs
===================== ===================================== =======================================

**Le paramètre entites a un impact que la recherche associée à certains filtres du json de
recherche.**

Par exemple pour la balise LbEntiteHydro :

===================== ==================================================
Paramètre typeentites Recherche LbEntiteHydro
===================== ==================================================
111                   Libellé station ou libellé site ou libellé capteur
010                   Libellé station
001                   Libellé capteur
===================== ==================================================

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 hydro, le deuxième, les attributs des stations hydro et le dernier les attributs
des capteurs.

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

Valeur: 0

Retourne uniquement les codes des entités, en l’occurrence CdSiteHydro, CdStationHydro et CdCapteur.

Retour court
""""""""""""
Valeur: 1

Retourne les codes, les libellés, et les types des entités.

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

Valeur: 2

Retour spécifique à Hydroportail.
Le web-service retourne les codes, libellés, types des entités, dates de mise en service et de
fermeture des stations, stations et capteurs actifs ainsi que les coordonnées des sites et stations
dans système de coordonnées WGS84.

Retour sans arborescence
""""""""""""""""""""""""

Valeur: 3

Retourne toutes les balises filles des sites, stations et capteurs sans les sous-arborescences.

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

Valeur: 4

Toutes les balises et sous balises hors rôles des contacts

Exemples:

=========== ========== ======================================================================================
typeentites typeretour Commentaire
=========== ========== ======================================================================================
100         333        Retourne les sites trouvés et l’ensemble des attributs
                       Retourne l’ensemble attributs des stations et capteurs des sites trouvées
010         333        Retourne les attributs des sites dont dépendent les stations trouvées.
                       Retourne les attributs des stations trouvées
                       Retourne l’ensemble des attributs des capteurs qui dépendent des stations recherchées.
100         0          Retourne uniquement les codes sites
111         0          Retourne les codes des sites, des stations et des capteurs trouvés
110         033        Retourne le code des sites trouvées
                       Retourne les stations trouvées et l’ensemble des capteurs qui en dépendent
=========== ========== ======================================================================================

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/rechercherEntiteHydro.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

Filtre des entités
------------------

================================== ======== ================= ================================================================ ===================
Filtre                             Type     attributs         Commentaire                                                      Exemple
================================== ======== ================= ================================================================ ===================
CdEntite                           Texte    inverse           code site ou code station ou code capteur
                                                              Recherche commençant par 
LbEntite                           Texte    inverse et strict libellé station ou libellé site ou libellé capteur               Seine
DtMajEntite                        Horodate inverse           date de mise à jour des sites ou stations ou capteurs            2019-01-01T00:00:00
ASurveillerEntite                  Booléen                                                                                     true, false
EssaiEntite                        Booléen                    stations d’essai ou capteurs d’essai                             true, false
CdCommune                          Texte    inverse           Commune du site ou de la station                                 31555
LbCommune                          Texte    inverse et strict Libellé de la commune du site ou de la station                   Toulouse
LbDepartement                      Texte    inverse et strict Commune des sites ou des stations du département                 Ariège
LbRegion                           Texte    inverse et strict Commune des sites ou des stations de la région                   Bretagne
CdIntervenant                      Texte    inverse           Contact de l’intervenant ayant un rôle sur des sites ou stations
NomIntervenant                     Texte    inverse et strict Mnemo ou nom de l’intervenant                                    SCHAPI
RolContactEntite/NomContact        Texte    inverse et strict Contact ayant un rôle sur des sites ou stations
RolContactEntite/CdContact         Texte    inverse           Contact ayant un rôle sur des sites ou stations
RolContactEntite/RoleContactEntite Texte    inverse                                                                            ADM, POLE2,
                                                                                                                               [ADM, POLE2]
================================== ======== ================= ================================================================ ===================

Filtres de sites hydro
----------------------

======================================== ============== ================= ==================================================== ===========
Filtre                                   Type           attributs         Commentaire                                         
======================================== ============== ================= ==================================================== ===========
CdSiteHydro                              Texte          inverse           Recherche commençant par
LbSiteHydro                              Texte          inverse et strict Exp. Rég. / recherche floue                          Seine
MnSiteHydro                              Texte          inverse et strict Mnémo du site                                       
CdEntiteHydrographique                   Texte          inverse 
NomEntiteHydrographique                  Texte          inverse et strict
CdZoneHydro                              Texte          inverse           Recherche commençant par
CdEuMasseDEau                            Texte          inverse
CdIntervenantSiteHydro                   Texte          inverse           Code de l’intervenant ayant un rôle sur des sites
NomIntervenantSiteHydro                  Texte          inverse et strict Mnémo ou nom de l’intervenant                       
RolContactSiteHydro/NomContact           Texte          inverse et strict Contact ayant un rôle sur un site
RolContactSiteHydro/CdContact            Texte          inverse
RolContactSiteHydro/RoleContactSiteHydro Texte          inverse           Rôle du contact
TypSiteHydro                                            inverse           Type du site                                         REEL
EssaiSiteHydro                           Booléen                          Site d’essai                                         true, false
StSiteHydro                              Entier         inverse           Statut du site                                      
DroitPublicationSiteHydro                Entier         inverse           Droit de pubilcation                                 10, 11, 20
BassinVersantSiteHydro                   Nombre décimal inverse           Opérateur : >=                                       100, null
AltitudeSiteHydro                        Nombre décimal inverse           Opérateur : >=                                       100, null
DtMajSiteHydro                           Horodate       inverse           Opérateur >=                                        
LbUsuelSiteHydro                         Texte          inverse et strict Libellé usuel
CdEntVigiCru                             Texte          inverse           Code du tronçon de vigilance
NomEntVigiCru                            Texte          inverse et strict Nom du tronçon de vigilance
======================================== ============== ================= ==================================================== ===========

Filtres de stations hydro
-------------------------

============================================== ============== ================= =====================================================
Filtre                                         Type           attributs         Commentaire
============================================== ============== ================= =====================================================
CdStationHydro                                 Texte          inverse           Code station
                                                                                Recherche commençant par
LbStationHydro                                 Texte          inverse et strict Libellé de la station
DtMiseServiceStationHydro                      Horodate       inverse           Date de mise en service
DtFermetureStationHydro                        Horodate       inverse           Date de fermeture
TypStationHydro                                Texte          inverse           Type de la station:LIMNI, DEB
DroitPublicationStationHydro                   Entier         inverse           Droit de publication:10, 20, 30
ASurveillerStationHydro                        Booléen                          Station à surveiller
EssaiStationHydro                              Booléen                          Station d’essai
PkStationHydro                                 Nombre décimal inverse           Point kilométrique
CodeSandreRdd                                  Texte          inverse           Filtre par réseau ou méta-réseau de mesure
CdFinaliteStationHydro                         Entier         inverse           Finalité de la station
CdIntervenantStationHydro                      Texte          inverse           Contact de l’intervenant ayant un rôle sur la station
NomIntervenantStationHydro                     Texte          inverse et strict
RolContactStationHydro/NomContact              Texte          inverse et strict
RolContactStationHydro/CdContact               Texte          inverse           Opérateur =
RolContactStationHydro/RoleContactStationHydro Texte          inverse
============================================== ============== ================= =====================================================

Filtres de capteurs
-------------------

================== ======== ================= ================================= ==============
Filtre             Type     attributs         Commentaire                      
================== ======== ================= ================================= ==============
CdCapteur          Texte    inverse           Code capteur
                                              Recherche commençant par
LbCapteur          Texte    inverse et strict Libellé capteur
MnCapteur          Texte    inverse et strict Mnémo du capteur
TypCapteur         Entier   inverse           Type de capteur
TypMesureCapteur   Texte    inverse           Type de mesure: H, Q, [H, Q]
ASurveillerCapteur Booléen                    Capteur à surveiller: true, false
PDTCapteur         Entier   inverse           Pas de temps                      Opérateur: =
EssaiCapteur       Booléen                    Capteur d’essai: true, false
ComCapteur         Texte    inverse           Commentaire capteur
DtMajCapteur       Horodate inverse           Date de mise à jour               Opérateur : >=
================== ======== ================= ================================= ==============

**Remarques :**

Si je veux sélectionner les entités d’essai, il faut utiliser le balise EssaiEntiteHydro positionné
à vrai.

Si je veux retourner les entités qui ne sont pas des entités d’essai, il faut utiliser les balises
EssaiStationHydro et EssaiCapteurHydro dont le contenu sera faux.

| Pour les recherches sur les libellés, la recherche LbEntiteHydro =
  Austerlitz renverra bien les stations hydro contenant le mot
  Austerlitz.
| Par contre la recherche LbSitehydro=Austerlitz ne renverra rien car le
  mot Austerlitz n’est pas contenu dans le libellé des sites.

Pour les balises suivantes: CdEntite, CdSiteHydro, CdStationHydro, CdCapteur, CdCommune,
CdEntiteHydrographique, CdEuMasseDEau, CdEntVigiCru et CdZoneHydro, les caractères alphabétiques du
contenu de la balise sont convertis en majuscule.

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

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

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

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