#1 Thu 06 March 2008 12:44
- Nelly Lis
- Participant occasionnel
- Date d'inscription: 13 Nov 2006
- Messages: 33
Requête spatiale : identifier parcelles non bâties
Bonjour,
Je travaille avec MapINfo 8.5. Ma question est la suivante : je veux selectionner les parcelles bâties. Je fais donc une requête SQL entre mes tables "parcelle" et "bâti" mais :
- si j'utilise "bati within parcelle" ça prend en compte le centroïde du bati et donc ça selectionne des parcelles qui ne comporte pas le centroide du bati mais qui sont quand même couverte par ce bati
-si j'utilise "parcelle contains bâti", c'est la même chose
-si j'utilise l'opérateur "intersect" alors certaines parcelles sont sélectionnées alors qu'elle ne le devraient pas car le bâti dépasse légèrement de sa "vraie" parcelle d'appartenance.
Y-a t-il une méthode (peut être en passant par MapBasic mais je ne m' connais pas du tout...c'est peut être le moment d'apprendre!) pour dire à MapInfo de selectionner les parcelles qui sont recouvertes à x% par le bati?
J'espère que quelqu'un aura une rectte miracle ou un début de réponse!
Merci d'avance,
Nelly
Hors ligne
#2 Thu 06 March 2008 13:29
Re: Requête spatiale : identifier parcelles non bâties
Bonjour,
Pourquoi ne pas convertir une copie de tes bâti en points correspondant à tes centroides de bati ?
Update ma_table set obj = centroid (obj)
Ensuite il ne reste qu'à recommencer ta requête spatiale. Ca évitera tes soucis de sur-selection.
Robin.
Hors ligne
#3 Thu 06 March 2008 13:58
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requête spatiale : identifier parcelles non bâties
Bonjour
Deux opérateurs non cités mais ..."adaptés":
objetA Entirely Within objetB objetA est entièrement dans objetB
et objetA Contains Entire objetB objetA contient entièrement objetB
Hors ligne
#4 Thu 06 March 2008 14:15
- Nelly Lis
- Participant occasionnel
- Date d'inscription: 13 Nov 2006
- Messages: 33
Re: Requête spatiale : identifier parcelles non bâties
Merci Robin et Maurice, mais le soucis sera pour les cas de polygone "bati" qui couvrent plusieurs parcelles.
convertir une copie de tes bâti en points correspondant à tes centroides de bati
- le centroide se retrouvera sur une seule parcelle
objetA Entirely Within objetB objetA est entièrement dans objetB
et objetA Contains Entire objetB objetA contient entièrement objetB
- plusieurs parcelles couvertes par un seul bati ou les cas ou le bati dépasse un peu de la parcelle ne seront pas selectionnées comme "contenant entièrement" un objet bati
J'ai pensé à découper le bati à partir des parcelles mais ça rame trop.
Hors ligne
#5 Thu 06 March 2008 14:25
Re: Requête spatiale : identifier parcelles non bâties
OK. Bon, plan B :
Y-a t-il une méthode (peut être en passant par MapBasic mais je ne m' connais pas du tout...c'est peut être le moment d'apprendre!) pour dire à MapInfo de selectionner les parcelles qui sont recouvertes à x% par le bati?
Maurice, ca te dit rien ? Ca me dit quelque chose cette question. Me semble que quelqu'un a déjà posé une question de ce type et qu'une requête SQL a pu faire l'affaire. Aucune idée de la où ca se trouve par contre...
Robin.
Hors ligne
#6 Thu 06 March 2008 15:47
- Nelly Lis
- Participant occasionnel
- Date d'inscription: 13 Nov 2006
- Messages: 33
Re: Requête spatiale : identifier parcelles non bâties
J'ai presque trouvé une solution grâce à ce lien!
http://georezo.net/forum/viewtopic.php? … i+parcelle
L'idée est de calculer la somme des surfaces des "bouts" de bâti (ou bati entier) sur chaque parcelle. Il s'agit d'éliminer ensuite les parcelles dont la somme de ces surface est égale à 0 ou inférieure à un certain seuil. (pas besoin de découper le bâti, normalement, ça se calcule tout seul).
Mais pour l'instant ça marche pas, il y a des incohérences dans les surfaces trouvées.
Dernière modification par Nelly Lis (Thu 06 March 2008 15:48)
Hors ligne
#7 Thu 06 March 2008 15:53
Re: Requête spatiale : identifier parcelles non bâties
Tiens, je crois que j'ai trouvé ce à quoi je pensais :
http://georezo.net/forum/viewtopic.php?pid=93876#p93876
Hors ligne
#8 Thu 06 March 2008 16:02
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requête spatiale : identifier parcelles non bâties
C'est gérable avec ou sans mbx
Avec: je vous conseille () le mien, GT-UX, qu'on trouve ici, post #5. On obtient l'intersection des deux tables (et on peut calculer la surface de tous les petits bouts... )
Sans: il "suffit" d'une requête utilisant ProportionOverlap(object1,object2). On n'aura pas les ambiguités d'unités de surface (puisque c'est une proportion) que l'on aurait avec AreaOverlap (mais qu'on lève grace au fameus Set CoorSys Table ma_table ).
Pour chiader la requête n'hésitez pas à étudier les documents déjà maintes fois cités et le tuto de Robin: le tout est ici...
Hors ligne
#9 Thu 06 March 2008 16:30
- Nelly Lis
- Participant occasionnel
- Date d'inscription: 13 Nov 2006
- Messages: 33
Re: Requête spatiale : identifier parcelles non bâties
Merci pour tous vos conseils, je m'en suis sortie avec ma méthode de calculs de "bouts de bati" mais je vais aller voir d'un peu plus près le reste.
Hors ligne