#1 Wed 20 November 2013 06:43
- tta
- Participant occasionnel
- Lieu: Montréal
- Date d'inscription: 4 Oct 2005
- Messages: 39
Requête spatiale MapInfo
Bonsoir,
J'aimerai demander l'avis des experts SQL MI sur la façon de formuler une requête SQL de type spatiale entre deux tables dans MapInfo. J'ai un collègue de travail qui m'a demandé cette semaine de lui calculer dans un premier temps la longueur totale des segments de rues à sens unique intersectant, les catégories d'occupation du sol de types (Habitation faible, moyenne, haute densité et commerce de détail) et dans un second temps les segments dans les deux sens pour les mêmes catégorie d'occupation du sol. Je possède deux tables:
une table polygone OccupSol avec comme champs Id et Cat_occupsol et la table Tronçon avec plusieurs champs dont Id_tronçon, nom_rue, sensCirculation etc.
Comment pourrai-je formuler cette requête.
Merci d'avance pour toue solution ou réponse à cette question!
Cordialement.
Hors ligne
#2 Wed 20 November 2013 10:06
Re: Requête spatiale MapInfo
Bonjour,
Pour la longueur totale des tronçons de rue intersectant, les catégories d'occupation du sol de types (Habitation faible, moyenne, haute densité et commerce de détail), je ferais comme ça :
SELECT Cat_occupsol, sum(champ_longueur_troncon) "longueur totale"
FROM OccupSol, Tronçon
WHERE tronçon.obj intersects OccupSol.obj
AND sensCirculation = "unique"
GROUP BY Cat_occupsol
A tester !
Jean-François Behm, formateur SIG, jf.behm@, idgeo.frformations@ idgeo.fr
IDGEO, www.idgeo.fr
Institut de Développement de la Géomatique 42, avenue de Général de Croutte - 31100 toulouse
Hors ligne
#3 Wed 20 November 2013 10:17
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Requête spatiale MapInfo
Bonjour
Pensez à consulter les documents évoqués dans ce post épinglé en tête du forum...
Un cas similaire est évoqué (de mémoire des longueurs de ligne électrique dans une commune)
Bon courage
Hors ligne
#4 Fri 22 November 2013 07:26
- tta
- Participant occasionnel
- Lieu: Montréal
- Date d'inscription: 4 Oct 2005
- Messages: 39
Re: Requête spatiale MapInfo
Bonsoir Jean-François et Maurice,
Merci pour vos réponses et solutions à ma question. J'ai effectivement réussi à écrire la requête en suivant l'exemple fourni par JF en l'adaptant. À priori ça fonctionne. Quant à la référence fournie par Maurice, je n'ai pas encore eu le temps d'y jeter un cou doeil. Mais je le ferai au courant de la semaine prochaine.
Merci encore à vous!
Voici la requête:
Code:
SELECT Occupation_sol.NOM_OCCUP, Sum(ObjectLen(obj, "km")) FROM Tronçon, Occupation_sol WHERE Tronçon.Obj intersects Occupation_sol.Obj And Tronçon.ARTERE = 0 And Occupation_sol.NOM_OCCUP in ("01. Habitation faible densité" , "02. Habitation moyenne densité" , "03. Habitation haute densité" , "04. Commerce de détail") GROUP BY Occupation_sol.NOM_OCCUP ORDER BY Occupation_sol.NOM_OCCUP
Hors ligne
#5 Fri 22 November 2013 07:30
- tta
- Participant occasionnel
- Lieu: Montréal
- Date d'inscription: 4 Oct 2005
- Messages: 39
Re: Requête spatiale MapInfo
En passant , j'ai fait la requête pour les tronçons de rue à deux sens. La colonne qui indique le sens est ARTERE qui possède 3 valeurs 0 pour les deux sens, 1 sens unique selon le sens de numérisation et -1 sens unique contraire au sens de numérisation.
Cordialement
Hors ligne