#1 Wed 09 July 2008 23:41
- tta
- Participant occasionnel
- Lieu: Montréal
- Date d'inscription: 4 Oct 2005
- Messages: 39
RequĂȘte SQL sous MapInfo
Bonjour,
J'ai un problĂšmeSQL Ă rĂ©soudre avec MapInfo. J'ai deux tables MapInfo : une table des dĂ©pots argileux et une table des troncçons de routes et on veut savoir la longueur totale des tronçons qui sont couverts par les polygones constituĂ©s par les dĂ©pĂŽts argileux. J'ai créé un champ lenht dans la table Tronçon et calculer la longueur de chaque tronçon en km avec la fonction ObjLen.Mais je n'arrive pas Ă effectuer une requĂȘte qui me renvoie la longueur totale des tronçons qui sont couverts par les polygones de dĂ©pĂŽts argileux.
Quelqu'un a-t-il un suggestion Ă me faire pour construire une requĂȘte qui me renvoie la longueur totale des tronçons qui sont couvert par les dĂ©pĂŽt argileux???
Merci d'avance pour vos pistes ou suggestions
Hors ligne
#2 Thu 10 July 2008 09:42
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: RequĂȘte SQL sous MapInfo
Bonjour
Un classique, déjà traité dans le forum et évoqué à l'avant derniÚre page de ce document, que l'on trouve désormais aussi sur Georezo ![]()
Hors ligne
#3 Thu 10 July 2008 09:59
- Maestro de la salsa
- Participant actif
- Date d'inscription: 7 Jun 2006
- Messages: 133
Re: RequĂȘte SQL sous MapInfo
Bonjour,
Trois choses:
1-Tes tronçons existants sont ceux couverts(entiÚrement) par un polygone de dépots argileux:
Select SUM(ObjectLen(obj,"km")) from table_tronçon.
2-Tes tronçons existants sont ceux couverts(entiÚrement) par un polygone de dépots argileux: ajouter une colonne et la remplir comme tu l'as fait (objectLen). Ensuite sélection, statistique, choisir la colonne ajoutée et tu as la somme.
3-Un troçon peut ĂȘtre couvert en partie par un polygone....dans ce cas je procĂšde de deux façons: faire une copie de ma table tronçon, rendre modifiable la table troçon et la selectionner, objet definir cible, sĂ©lectionner la table des polygone, objet supprimer extĂ©rieur.
A partir de là tu as une table des tronçons couverts par les polygones. Avec la premiÚre ou la deuxiÚme méthode sur cette table finale tu as la longueur totale.
Alain
Hors ligne
#4 Thu 10 July 2008 18:35
- tta
- Participant occasionnel
- Lieu: Montréal
- Date d'inscription: 4 Oct 2005
- Messages: 39
Re: RequĂȘte SQL sous MapInfo
Bonjour Maurice et Maestro,
Merci pour vos suggestions, j'ai rĂ©solu mon pbl. J'ai envisagĂ© la solution de maestro, mais je la trouvais un peu long, en plus que mon rĂ©seau routier couvre la totalitĂ© de l'Ăle de MontrĂ©al (trĂšs dense, environ 50 000 tronçons), ce qui allait prendre bcp en terme de traitement (cpu). C'est la raison pour laquelle j'ai optĂ© pour une solution SQL.
En tout cas, j'ai rĂ©ussi Ă exĂ©cuter la requĂȘte Ă l'aide de l'exemple du document de SĂ©bastien Roddier et de Jacques Paris et merci encore pour votre aide.
Cordialement
Hors ligne
#5 Sun 10 August 2008 09:28
- SRoddier
- Membre
- Date d'inscription: 19 Oct 2007
- Messages: 14
Re: RequĂȘte SQL sous MapInfo
Bonjour
Je suis heureux de voir que notre document Ă Jacques Paris et moi mĂȘme continue de servir les intĂ©rĂȘts de tous.
Je ne desespÚre pas avoir un jour le temps de l'améliorer.
Lorsque j'avais Ă©crit ce document (Ă l'Ă©poque) celui çi s'inscrivait dans un processus plus large de constitution d'une bibliothĂšque de fonctions utilisables soit en mode commande dans une fenĂȘtre soit via une boite de dialogue via Ă un mbx dĂ©veloppĂ© pour l'occasion.
Par exemple : une fonction adjacence (in-table; adj-table;out-table) qui ferait appel à la sélection SQL correspondante.
A l'époque j'avais commencer à travailler sur plusieurs bibliothÚques de fonctions :
- raster : manipulation d'images (on trouve des DLL partout maintenant permettant de la faire sous MI)
- grille : manipulation de grille -j'avais été en contat avec l'auteur de grid à la toute premiÚre version de Grid Analyser
- vecteur : manipulation des tables MI via SQL ou autre
En rĂ©sumĂ©, beaucoup de choses inachevĂ©es mais qui mĂ©riterait d'ĂȘtre reprise et surtout partagĂ©es (c'Ă©tait mon but Ă l'Ă©poque).
Cdt
Hors ligne

