banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#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

JF BEHM
Participant actif
Lieu: toulouse
Date d'inscription: 9 Aug 2013
Messages: 126
Site web

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@texte-a-enlever.idgeo.fr, formations@texte-a-enlever.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

 

Pied de page des forums

Powered by FluxBB