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 Fri 22 March 2024 12:53

conejo
Participant assidu
Lieu: Lunel
Date d'inscription: 2 Dec 2005
Messages: 1670

Nombre de pylônes par commune

Bonjour,

Je dispose d'une liste de communes et de pylônes. Je désire avoir le nombre de pylônes par commune. Cela c'est ok avec le Spatialfilter puis Statisticscalculator.
Mais je veux aussi le numéro du support dans une nouvelle colonne. Si la commune a 7 pylônes, il y aura 7 colonnes décrivant chacune un pylône. Voir exemple joint.
Comment faire?
Merci.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Wed 27 March 2024 12:19

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: Nombre de pylônes par commune

Salut @conejo

Sans vouloir faire de l'ombre à FME (que je n'utilise pas alors qu'il pourrait sans-doute m'aider), pour ce genre de requêtes, je trouve que le SQL est un langage universel et très efficace.

Très rapidement, et avec l'aide d'un célèbre "agent conversationnel", voici le genre de requête qu'il faudrait faire :

Code:

SELECT 
    commune,
    COUNT(*) AS nombre_de_supports,
    MAX(CASE WHEN rn = 1 THEN numero_support ELSE NULL END) AS numero_support_1,
    MAX(CASE WHEN rn = 2 THEN numero_support ELSE NULL END) AS numero_support_2,
    MAX(CASE WHEN rn = 3 THEN numero_support ELSE NULL END) AS numero_support_3,
    -- Ajoutez autant de colonnes que de nombre de supports max
FROM (
    SELECT 
        commune,
        numero_support,
        ROW_NUMBER() OVER (PARTITION BY commune ORDER BY numero_support) AS rn
    FROM 
        pylones
) AS subquery
GROUP BY 
    commune;

C'est sans doute possible avec FME, mais l'intérêt du SQL c'est que tu pourra le faire avec QGis, Spatialite/SQlite, PostGis, Oracle, etc...


Sylvain M.

Hors ligne

 

#3 Wed 27 March 2024 22:25

Benoit D
Participant assidu
Date d'inscription: 17 Jul 2018
Messages: 151

Re: Nombre de pylônes par commune

Bonjour,
Ce n'est pas terrible d'avoir un schéma de donnée qui s'étend avec des colonnes en fonction du nombre d'entités. (D'ailleurs dans votre schéma il y a une coquille entre les pylônes 66 et 67)
Je ne passerais pas par Spatial Relator et Statistic Calculator mais plutôt par PointOnAreaOverlayer, en générant une liste sur les Area, puis sur les Area un ListIndexer pour avoir autant de colonne que de pylônes.
Personnellement j'aurais préféré au lieu d'un ListIndexer un ListConcatenator où j'aurais placé la liste concaténée des identifiants de pylônes dans une seule colonne.

Dernière modification par Benoit D (Wed 27 March 2024 22:27)

Hors ligne

 

Pied de page des forums

Powered by FluxBB