#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.fr, formations@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_OCCUPHors 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

