Schema
Owner
albenard
Descriptions
Procédure renvoyant une valeur qui indique une situation au regard de la possibilité de fabriquer un fichier paramètre biljou.
Elle prend en paramètre 6 valeurs :
- nb_profondeurs : nombre de valeurs de profondeurs disponibles
- nb_da : nombre de valeurs de la variable densité apparente disponibles
- nb_ru : nombre de valeurs de la variable réserve utile (awc) disponibles
- nb_racine_decidu : nombre de valeurs de la variable pourcentage de racine décidu disponibles
- nb_racine_resineux : nombre de valeurs de la variable pourcentage de racine résineux disponibles
- nb_hpflet : nombre de valeurs de la variable hpflet disponibles
Les codes retour sont au nombre de 6 possibles :
9999 : aucune profondeur disponible (cas normalement impossible car dans ce cas il n'y a pas de données)
16 : au moins une variable (autre que la profondeur) est indisponible (impossible de créer le fichier paramètre)
2 : tous les paramètres sont à 1 (il faudra compléter une seconde couche)
4 : le nombre de profondeur vaut 2 mais au moins une variable n'est disponible qu'à une seule profondeur
8 : le nombre de profondeur vaut 3 mais au moins une variable n'est disponible qu'à 1 ou 2 profondeur.
0 : toutes les variables sont disponibles à toutes les profondeurs avec au moins 2 profondeurs (cas idéal pour fabriquer lefichier paramètre)
32 : les autres cas (notamment si une variable était disponible à plus de profondeur que nb_profondeur)
Options
Option | Value |
---|---|
Returns |
smallint |
Language |
|
Parameters |
nb_profondeur smallint nb_da smallint nb_ru smallint nb_racine_decidu smallint nb_racine_resineux smallint nb_hpflet smallint |
Definition
CREATE OR REPLACE FUNCTION exploration.ps_statut_biljou (
nb_profondeur smallint,
nb_da smallint,
nb_ru smallint,
nb_racine_decidu smallint,
nb_racine_resineux smallint,
nb_hpflet smallint
)
RETURNS smallint LANGUAGE 'plpgsql'
VOLATILE
CALLED ON NULL INPUT
SECURITY INVOKER
PARALLEL UNSAFE
COST 100
AS
$span$
DECLARE
BEGIN
-- Si le nombre de profondeur vaut 0 on retourne le code 9999;
if nb_profondeur = 0 THEN -- CAS 1
return 9999;
else
-- Si au moins un des autres paramètres vaut 0 on retourne le code 16 -- CAS 2
if (nb_da = 0) or (nb_ru = 0) or (nb_racine_decidu = 0) or (nb_racine_resineux = 0) or (nb_hpflet = 0) THEN
return 16;
end if;
end if;
-- Si tous les paramètres valent 1 on retourne le code 2 -- CAS 3
if (nb_profondeur=1) and (nb_da = 1) and (nb_ru = 1) and (nb_racine_decidu = 1) and (nb_racine_resineux = 1) and (nb_hpflet = 1) THEN
return 2;
end if;
-- Le nombre de profondeur vaut 2 et au moins un autre paramètre vaut 1 -- CAS 4
if (nb_profondeur = 2) and ((nb_da = 1) or (nb_ru = 1) or (nb_racine_decidu = 1) or (nb_racine_resineux = 1) or (nb_hpflet = 1)) THEN
return 4;
end if;
-- Le nombre de profondeur vaut 3 et au moins un autre paramètre vaut 1 ou 2 -- CAS 5
if (nb_profondeur = 3) and ((nb_da < 3) or (nb_ru < 3) or (nb_racine_decidu < 3) or (nb_racine_resineux < 3) or (nb_hpflet < 3)) THEN
return 8;
end if;
-- Normalement tous les paramètres sont égaux si on arrive ici -- CAS 6
-- (sauf si un des paramètres est supérieur à nb_profondeur ce qui ne doit pas arriver)
if (nb_da = nb_profondeur) and (nb_ru = nb_profondeur) and (nb_racine_decidu = nb_profondeur) and (nb_racine_resineux = nb_profondeur) and (nb_hpflet = nb_profondeur) then
return 0;
else
return 32;
end if;
EXCEPTION
WHEN OTHERS THEN
raise notice 'Erreur ps_statut_biljou : %', sqlerrm;
END;
$span$;
COMMENT ON FUNCTION exploration.ps_statut_biljou(nb_profondeur smallint, nb_da smallint, nb_ru smallint, nb_racine_decidu smallint, nb_racine_resineux smallint, nb_hpflet smallint)
IS 'Procédure renvoyant une valeur qui indique une situation au regard de la possibilité de fabriquer un fichier paramètre biljou.
Elle prend en paramètre 6 valeurs :
- nb_profondeurs : nombre de valeurs de profondeurs disponibles
- nb_da : nombre de valeurs de la variable densité apparente disponibles
- nb_ru : nombre de valeurs de la variable réserve utile (awc) disponibles
- nb_racine_decidu : nombre de valeurs de la variable pourcentage de racine décidu disponibles
- nb_racine_resineux : nombre de valeurs de la variable pourcentage de racine résineux disponibles
- nb_hpflet : nombre de valeurs de la variable hpflet disponibles
Les codes retour sont au nombre de 6 possibles :
9999 : aucune profondeur disponible (cas normalement impossible car dans ce cas il n''y a pas de données)
16 : au moins une variable (autre que la profondeur) est indisponible (impossible de créer le fichier paramètre)
2 : tous les paramètres sont à 1 (il faudra compléter une seconde couche)
4 : le nombre de profondeur vaut 2 mais au moins une variable n''est disponible qu''à une seule profondeur
8 : le nombre de profondeur vaut 3 mais au moins une variable n''est disponible qu''à 1 ou 2 profondeur.
0 : toutes les variables sont disponibles à toutes les profondeurs avec au moins 2 profondeurs (cas idéal pour fabriquer lefichier paramètre)
32 : les autres cas (notamment si une variable était disponible à plus de profondeur que nb_profondeur)
';
This file was generated with SQL Manager for PostgreSQL (www.pgsqlmanager.com) at 07/12/2018 13:23 |