#1 Tue 12 October 2004 15:55
- Yannbeley
- Invité
recoupement
De: yann beley
bonjour,
je cherche un outil ou une uanipulation sous mapinfo me permettant de definir le nombre de fois que des objets se recoupent.
Par exemple, 4 tampons de 50 metre de diametres, je voudrai savoir les endroits ou ils se recoupent tous les 4 , la ou il se recoupent que a 3 et ainsi de suite
merci d avance.
#2 Wed 13 October 2004 09:18
- Bizet Remi - RBizet
- Invité
Re: recoupement
Bonjour,
4 solutions :
A) par SQL :
1°)
À partir de la table elle-meme :
Select IDTAMPON, Count(*) nb_recouvr from tampons where tampons.Obj
intersects any(select obj from tampons) group by IDTAMPON into Selection1
Le tampon recouvre toujours au moins une fois (lui-meme)
Avantage : relativement rapide
Inconvenient : on n'identifie pas le(s) tampon(s) d'intersection.
2°)
À partir de la table et d'une copie de celle-ci :
Select tampons.IDTAMPON, copie_tampons.IDTAMPON from tampons, copie_tampons
where tampons.Obj intersects copie_tampons.obj into Selection2
Avantage : on identifie pour chaque tampon le(s) tampon(s) d'intersection.
Inconvenient : plus lent, oblige a faire une copie de la table, chaque objet
intersecte avec lui meme.
3°)
Variante :
Select tampons.IDTAMPON, copie_tampons.IDTAMPON from tampons, copie_tampons
where tampons.Obj intersects copie_tampons.obj and
tampons.idtamponcopie_tampons.idtampon into Selection3
Avantages : on identifie pour chaque tampon le(s) tampon(s) d'intersection,
on n'identifie que les objets intersectant avec les autres.
Inconvenient : plus lent, oblige a faire une copie de la table, on
n'identifie pas les objets n'ayant aucune intersection.
B)par mise a jour de colonne :
4°)
À partir de la table et d'une copie de celle-ci :
Table a mettre a jour: tampons
Table source: copie_tampons
Jointure: ou objet de la table copie_tampons
intersecte objet de la table tampons
Colonne a mettre a jour: nb_recouvre ou ajouter une colonne temporaire
Calculer :: Count
Avantages : compte pour tous les objets, ecrit dans une colonne reelle de
la table ou une colonne temporaire, pas de selection.
Inconvenient : oblige a faire une copie de la table, on n'identifie pas les
objets intersectant, oblige a avoir une colonne numerique pour recevoir la
donnee ou colonne temporaire.
Cordialement,