#1 Fri 22 January 2010 11:18
- yann1984
- Juste Inscrit !
- Date d'inscription: 22 Jan 2010
- Messages: 5
Aide Requête SQL
Bonjour,
Je suis nouveau sur le forum, et au risque de demander quelque chose qui a déjà été demandé des milliers de fois, je me lance quand même!
Voilà, j'ai 3 couches superposées dont une couche de limites de communes, une couche de Corine Land Cover, et une autre du système hydrographique des Bouches du Rhône.
Ma question est la suivante:
Est-il possible de déterminer l'aire des différents éléments de Corine Land Cover au sein d'une commune grâce à une recherche SQL?
Je possède MapInfo 10 en version d'essai (et en Anglais !!!)
Merci d'avance à tous
Hors ligne
#3 Fri 22 January 2010 14:05
- yann1984
- Juste Inscrit !
- Date d'inscription: 22 Jan 2010
- Messages: 5
Re: Aide Requête SQL
Justement, les mots clefs à taper m'amènent sur des sujets s'y rapportant, mais rien de précis, et je suis novice en MapInfo..
J'ai réussi à sélectionner différents groupes de mes parcelles Corine Land Cover, mais je n'arrive pas à limiter ma sélection au sein d'une seule commune...
Je craque !!!
Hors ligne
#4 Fri 22 January 2010 14:11
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Aide Requête SQL
Salut et bienvenue,
Est ce que ta couche CLC est en vecteurs ou en raster?
Hors ligne
#5 Fri 22 January 2010 14:16
- yann1984
- Juste Inscrit !
- Date d'inscription: 22 Jan 2010
- Messages: 5
Re: Aide Requête SQL
Salut Spacejo et merci de ton aide !
Après recherche, ma couche CLC est en raster. Mais est-ce que cela rentre en ligne de compte dans une recherche SQL?
Hors ligne
#6 Fri 22 January 2010 14:28
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Aide Requête SQL
Il me semble que oui.
Le SQL appliqué à Mapinfo gére les .obj (polygones, lignes, points)
Pour pouvoir connaître les éléments qui se situent dans tes communes il te faut utiliser une jointure spatiale du style ---> Select * from CLC, Communes where CLC.obj entierly within Communes.obj into Resultat
Dans "Resultat" tu auras une jointure de tous les polygones de CLC contenus dans chaque commune.
"Entierly within" pour complétement contenus
"Within" pour les polygones ayant leur centroïde contenu dans la commune.
Mais si tu as du raster (pixels) et non éléments graphiques cela me parait difficile.
Dernière modification par Spacejo (Fri 22 January 2010 14:29)
Hors ligne
#7 Fri 22 January 2010 14:41
- yann1984
- Juste Inscrit !
- Date d'inscription: 22 Jan 2010
- Messages: 5
Re: Aide Requête SQL
Alors, je viens de faire ce que tu m'as dit, et je ne comprends pas bien le résultat.. J'ai la totalité de ma couche CLC qui est sélectionnée. Mais à présent, comment faire pour délimiter cette sélection à une seule commune?
Crois-tu que ce soit réalisable?
Hors ligne
#9 Fri 22 January 2010 14:54
- yann1984
- Juste Inscrit !
- Date d'inscription: 22 Jan 2010
- Messages: 5
Re: Aide Requête SQL
Vous êtes les meilleurs !!!
J'arrête de vous embêter, maintenant, je dois pouvoir faire ça tout seul, il faut que je détermine le pourcentage de parcelles différentes présentes au bord d'un cour d'eau...
Mais promis, plus de questions !
Merci !!!
Hors ligne
#10 Fri 22 January 2010 14:54
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Aide Requête SQL
Oula je ne suis pas sur que la clause where (pour une jointure) ne fonctionne avec un and en plus.
Essaye plutôt avec une sous requète:
Code:
Select * from CLC where obj within any (select obj from Communes where NomCommune like "BlaBlaBla") into Resultat
Hors ligne
#11 Fri 22 January 2010 16:09
Re: Aide Requête SQL
Alors pour les questions, pas de soucis, le forum est là pour ça, et on est ici de notre plein grès...
Tu peux mettre sans soucis un "and" dans mapinfo. Je te joint un exemple avec les tables que j'avais sous la main : tout les stationnement qui sont à l'intérieur de l'objet et dont le nom est périgueux.
Il faut maintenant regarder les fonctions (within, intersect....) pour déterminer ce qui te faut dans tes tables.
Bon courage
Hors ligne