Message posté par : Marine FAUCHER
----------------------------------------
Bonjour!
C'est encore moi, cette fois-ci j'aimerais personnaliser la fonction de kmeans en
appelant mon champs de valeurs à répartir ainsi que le nombre de classe que je souhaite
obtenir.
J'ai commencé à écrire la fonction mais ça coince quand je l'appelle et je
n'arrive pas à trouver plus d'infos sur l'erreur que me renvoie postgres (voir
en pj).
Ce que je comprend c'est que ma window ne comprend qu'une seule ligne et que je
lui envoie un paramètre (6) qui doit être inférieur à la taille de la window.
C'est étonnant car lorsque j'utilise la vraie fonction st_clusterkmeans avec ma
table test et en mettant 6 en paramètre j'ai bien le résultat attendu :
-----------------
Code :
SELECT
st_clusterkmeans(st_makepoint(hosp, 0),
6)
OVER (ORDER BY hosp DESC) AS classe,hosp
from test
-----------------
Voir en pj le résultat.
Voici le code de ma fonction :
-----------------
Code :
create or replace function classes_jenks
(n integer, kclasse integer)
returns integer
as $$
declare
classe integer;
begin
if n is not null then
classe := st_clusterkmeans(st_makepoint(n, 0),
kclasse) OVER (ORDER BY n DESC);
end if;
--return classe;
END;
$$ LANGUAGE plpgsql;
-----------------
Et voici comment elle est appelée :
-----------------
Code :
select classes_jenks (hosp, 6), hosp
from test
-----------------
Voilà ne sais pas trop quoi faire. Merci d'avance pour vos idées, si vous en avez!
----------------------------------------
Ce message est accompagné de fichiers, pour les télécharger, suivre le lien ci-dessous.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=331853#p331853
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net