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 Wed 22 April 2009 16:36

anonymous
Participant actif
Date d'inscription: 1 Jul 2013
Messages: 109

PGIS: Sélection de la plus appropriée des entités contenant un objet

Supposons que j'ai un objet Terrain dans la couche terrain
et une couche commune (toutes les communes sont limitrophes, pas de buffer)

le terrain est sur 2 communes.

Comment sélectionner la commune qui contient le plus de surface de ce terrain?

J'ai une vague idée:cen calculant et en comparant l'aire de l'intersection entre le terrain et chacune des communes, mais je ne sais pas comment formuler ça sous PostGIS.

Hors ligne

 

#2 Wed 22 April 2009 17:26

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

Re: PGIS: Sélection de la plus appropriée des entités contenant un objet

youneseb a écrit:

Supposons que j'ai un objet Terrain dans la couche terrain
et une couche commune (toutes les communes sont limitrophes, pas de buffer)

le terrain est sur 2 communes.

Comment sélectionner la commune qui contient le plus de surface de ce terrain?

J'ai une vague idée:cen calculant et en comparant l'aire de l'intersection entre le terrain et chacune des communes, mais je ne sais pas comment formuler ça sous PostGIS.


Salut,

qqchose comme:

select * from communes c, terrain t  where st_intersects(c.the_geom, t.the_geom) and t.nom = 'mon_terrain' order by st_area(st_intersection(c.the_geom, t.the_geom)) desc limit 1;

Sans le limite, toutes les communes ayant une intersection seront renvoyées.

HTH

Nicolas

Hors ligne

 

#3 Fri 24 April 2009 11:11

anonymous
Participant actif
Date d'inscription: 1 Jul 2013
Messages: 109

Re: PGIS: Sélection de la plus appropriée des entités contenant un objet

C'est bien ça, merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB