#1 Thu 01 August 2002 12:46
- VazeillesFlo
- Invité
Requete multi-criteres
De: Vazeilles
Bonjour a tous,
Je souhaite selectionner toutes les communes du Lot (46) ainsi que les communes limitrophes a ce departement. Alors pour selectionner l'ensemble des communes du Lot je n'ai aucun probleme mais je ne sais comment faire pour les communes limitrophes...si vous avez des idees, elles seront tres appreciees!Merci d'avance.
Vazeilles Floriane-Agence MTDA-Aix en Provence
#2 Thu 01 August 2002 13:26
- Pierre Menu
- Invité
Re: Requete multi-criteres
Bonjour,
Vous pouvez definir un tampon (buffer) a 100m en dehors de votre
departement puis utiliser l'outil selection par polygone pour y
recuperer la liste des communes incluses.
Ou faire une requete en utilisant la relation d'intersection entre le
departement et les communes (plus complique et moins fiable).
Sinceres salutations
#3 Thu 01 August 2002 13:26
- Sebastien Roddier
- Invité
Re: Requete multi-criteres
Voici une petite astuce que j'utilise pour trouver tous les objets
adjacents (par ex trouver pour chaque communes les communes adjacentes).
je fait une copie de ma table des communes
je fait une requete SQL du type
select * from communes, copie_communes where communes.obj intersects
communes_copie.obj and communes.ID communes_copie.ID
en clair je selectionne les objets de communes intersectant les objets de
communes_copie et qui n'ont pas le meme identifiant (pas d'adjacence entre
une commune et elle meme)
en precisant d'autres criteres supplementaires vous pouvez arriver a plein
de resultats interessant
dans le cas precis de Floriane je pense que la requete suivante peut
fonctionner (a tester)
select * from communes, communes_copie where communes.obj intersects
communes_copie.obj and communes.DEP 46
ou communes_copie est la table des communes du 46 et DEP le champ
departement si il existe
cordialement
#4 Thu 01 August 2002 14:25
- Abourquin
- Invité
Re: Requete multi-criteres
Vous pouvez utiliser une selection SQL comme suit :
Select * from Communes where obj within any(select buffer(obj, 20,2, km ) from departmt where code = 46 ) into Sel_Communes
Qui selectionnera toutes les communes comprises geographiquement dans et presentes dans un rayon de 2 km autour du departement 46.
ou
Select * from fco01 where obj intersects any (select obj from Fde01 where Fde01.CODE_DEPART= 46 ) into resultat
Qui selectionnera precisement toutes les communes comprises geographiquement dans et touchant la frontiere du polygone departement 46.
#5 Thu 01 August 2002 14:52
- Jacques Paris
- Invité
Re: Requete multi-criteres
Pourquoi ne pas utiliser un vieux defaut de MI qui ne sait pas distinguer
entre 2 regions qui se touchent par un point ou qui se recouvriraient en
partie? Le mot clef intersects vas selectionner les objets qui peuvent
avoir un seul point en commun au grand dam pour ceux qui ne veulent que les
superpositions partielles.
Donc si o est la variable objet contenant le departement
Select * from votre_table where obj intersects o
vous donnera tous les departements limitrophes.
Jacques Paris