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

Printemps des cartes 2024

#1 Sun 29 March 2015 14:40

apatride
Juste Inscrit !
Date d'inscription: 28 Mar 2015
Messages: 5

[POSTGIS] - Comment compter les parcelles regroupées par ST_Union ?

Bonjour,

Dans POSTGIS, je souhaite réunir les parcelles en ilots contigus en obtenir le nombre de parcelle ainsi réunis.
J'imagine qu'il faut utiliser count, mais je n'y arrive pas.

A.


Seuls ceux qui ont la mémoire longue sont capables de penser l'avenir.

Hors ligne

 

#2 Mon 30 March 2015 10:30

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1222
Site web

Re: [POSTGIS] - Comment compter les parcelles regroupées par ST_Union ?

Bonjour et bienvenue sur Georezo,

si vous souhaitez regrouper les parcelles selon leur appartenance à un même ilot (num_ilot), la requête suivante regroupera ces parcelles et comptera le nombre de parcelles regroupées.

Code:

SELECT num_ilot, count(id_parcelle), st_union(geometrie)
FROM parcelle 
GROUP BY numero_ilot

Dernière modification par MathieuB (Mon 30 March 2015 10:30)


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

#3 Mon 30 March 2015 11:20

apatride
Juste Inscrit !
Date d'inscription: 28 Mar 2015
Messages: 5

Re: [POSTGIS] - Comment compter les parcelles regroupées par ST_Union ?

Bonjour,

Je ne dispose pas du champ "num_ilot"; il n'existe pas dans mes données.
C'est l'union qui permet d'identifier les ilots.

Merci.


Seuls ceux qui ont la mémoire longue sont capables de penser l'avenir.

Hors ligne

 

#4 Mon 30 March 2015 12:12

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1538

Re: [POSTGIS] - Comment compter les parcelles regroupées par ST_Union ?

Si vous n'avez que la géo, vous pouvez faire le dump de l'union des parcelles, puis compter ensuite le nombre de st_pointOnSurface(parcelle.geom) dans chaque polygone généré par le dump:

Code:

with tmp as (
    SELECT
      st_dump(st_union(p.geom)) as dmp
    FROM parcelle p
) select (t.dmp).path[1], count(p.*) as num_parc, (t.dmp).geom
from tmp t join parcelle p on (st_contains((t.dmp).geom, st_pointonsurface(p.geom)))
group by (t.dmp).path[1], (t.dmp).geom;

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB