Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 27 April 2017 07:12

julien26
Juste Inscrit !
Date d'inscription: 1 Oct 2014
Messages: 6

[postgis] somme de valeurs et intersection de grille

Bonsoir,
Après avoir passé l'après-midi coincé et à chercher en vain je me tourne vers vous...

Je dispose de deux couches composé d'anneaux concentriques (de 0 à 1 km puis 1-2, 2-5 etc.) créés à partir d'une couche de points. Dans une même couche, plusieurs anneaux peuvent se chevaucher.
J'ai besoin de sommer dans une grille, l'ensemble des valeurs des anneaux intersectant chacune des mailles (en pondérant une couche par rapport à l'autre (cf. ci-dessous).
J'ai tenté en faisant une jointure entre la grille et les 2 couches d'anneaux mais ça tourne très longtemps sans donner de résultats. J'ai essayé st_intersects et st_overlaps. Voici ma requête :

Code:

 select
    g.id,
    (sum(n_h_ext.valeur)/2)+sum(n_h_gite.valeur),
    g.geom
from zonages.aura_grid_1km g 
    join ring_ext_note_h n_h_ext on st_overlaps(g.geom, n_h_ext.geom)
    join ring_gite_note_h n_h_gite on st_overlaps(g.geom, n_h_gite.geom)
group by g.id, g.geom

J'imagine que je passe à côté de quelque chose, sans doute dans la jointure mais je ne vois pas...
Est-ce que quelqu'un aurait une idée ?

Merci d'avance

Hors ligne

 

#2 Thu 27 April 2017 13:51

julien26
Juste Inscrit !
Date d'inscription: 1 Oct 2014
Messages: 6

Re: [postgis] somme de valeurs et intersection de grille

Bonjour,
J'ai trouvé une manière d'avancer qui donne des résultats dans des temps corrects vu le nombre de polygone.
Je ne passe plus par une jointure mais par une condition et le fait en plusieurs étapes pour avoir ce que je veux.
Même si je ne suis plus coincé, je suis preneur d'avis : est-ce que la manière que j'utilise est la plus logique ou est-ce qu'il y a une autre manière de faire ?
Merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB