#1 Tue 12 February 2008 11:49
- nicolasd
- Membre
- Lieu: Nevers (58)
- Date d'inscription: 5 Sep 2005
- Messages: 1045
Analyse d'isolement entre bâtiments.
Bonjour à Toutes et Tous,
Je dois réaliser une analyse d'isolement entre les bâtiments d'une même commune.
A partir du bâti cadastral, j'ai réalisé une zone tampon de 6m autour de chaque bâtiment (tampons enregistrés dans une table à part).
A ce stade, je coince quant à la requête à réaliser pour isoler les bâtiments dont les zones tampons n'intersectent avec aucune autre.
Auriez vous une idée ?
Je vous remercie par avance.
Nicolas
Nicolas
------------------------------------------
Hors ligne
#2 Tue 12 February 2008 12:01
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Analyse d'isolement entre bâtiments.
Bonjour
Il faut un identifiant unique dans la table tampon (par rowid)
- copier tampon
- requête
select * from tampon, copie_tampon where tampon.obj intersects copie_tampon.obj and tampon.id<>copie_tampon.id
- dans la table de données de tampon -> "inverser la sélection"
Il y a plus élégant...mais c'est l'heure :)
Hors ligne
#3 Tue 12 February 2008 13:05
- nicolasd
- Membre
- Lieu: Nevers (58)
- Date d'inscription: 5 Sep 2005
- Messages: 1045
Re: Analyse d'isolement entre bâtiments.
Merci beaucoup et bon appétit...
Dernière modification par Nicolas DEVOUCOUX (Tue 12 February 2008 15:59)
Nicolas
------------------------------------------
Hors ligne
#4 Tue 12 February 2008 15:08
- jean-francois Behm
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 5 Sep 2005
- Messages: 212
- Site web
Re: Analyse d'isolement entre bâtiments.
Bonjour,
bon digestion
En faisant un tampon pour tous les objets puis en désagrégeant (Menu Objet : Désagréger/dissocier), vous pouvez ensuite faire une mise à jour colonne d'un champ (nommé "isolé" par exemple) de votre table tampon (en calculant count de la table bati - voir copie ecran) : si ce champ a la valeur 1, c'est qu'il n'y a qu'un bati à l'intérieur du tampon, il est donc isolé...
Vous pouvez ensuite sélectionner les bâtis dont le centre est à l'intérieur des tampons et dont le champ est égal à 1 :
SELECT *
FROM batis, tampons_6m
WHERE batis.obj within tampons_6m.obj And tampons_6m.isolé=1
Bon courage...
Hors ligne