#1 Wed 21 May 2008 16:45
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Créer des lignes entre les points de tables différentes
Bonjour à tous,
J'ai des coordonnées d'altitude max et min dans deux tables graphiques séparées. Je voudrai que mapinfo me trace un trait entre ces 2 points sachant que chacun des couples de points à un identifiant commun. Est-ce possible?
Merci d'avance
Hors ligne
#2 Wed 21 May 2008 17:01
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Bonjour
C'est possible couple de points par couple de points dans la fenêtre Map Basic, en sélectionnant la série d'instructions en en faisant 'enter' autant de fois qu'il y a de couples ...
Mais c'est plus du ressort d'un mbx (à créer), seul capable de faire des "boucles" !
Hors ligne
#3 Wed 21 May 2008 17:08
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Ralala on peut toujours compter sur Maurice pour savoir ce qui se fait sur mapinfo!!
En tout cas pour mon problème actuel c'est facheux parce que j'ai des centaines de points et je ne parle pas couramment du tout le map basic...
Si vous voyez une autre solution n'hesitez pas à m'en faire part!
Bonne soirée
Hors ligne
#4 Wed 21 May 2008 17:33
- Gérard parcoli
- Participant actif
- Date d'inscription: 9 Jan 2007
- Messages: 95
Re: Créer des lignes entre les points de tables différentes
C'est possible, si vous disposez d'un version de Mapinfo qui intégre spidergraph.
Hors ligne
#5 Wed 21 May 2008 17:47
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
...En tout cas pour mon problème actuel c'est facheux parce que j'ai des centaines de points...
C'est assez facile de garder le doigt sur la touche 'enter' jusqu'à la fin du job (5 secondes ?)
Plus dur: écrire les bonnes instructions ... réponse demain
Hors ligne
#6 Wed 21 May 2008 21:36
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Risquant d'être accaparé demain, j'anticipe:
Je suppose que j'ai (en haut des couches, mais pas obligatoire) une table "lines", vide de tout objet, en édition
...et par ailleurs les table1 et table2 ouvertes
Dans la FMB, taper ce qui suit, sélectionner tout puis 'enter' (une seule fois pour ce qui est en normal)
Sélectionner ensuite ce qui est en gras et 'enter' (en fait, garder le doigt sur 'enter' jusqu'à épuisement du job)
Enfin enregistrer "lines"
dim xdeb as float
dim ydeb as float
dim xfin as float
dim yfin as float
dim m as smallint
dim n as smallint
m=1
n=1
fetch rec m from table1
xdeb=table1.x1
ydeb=table1.y1
fetch rec n from table2
xfin=table2.x2
yfin=table2.y2
insert into lines(obj) values(createline(xdeb,ydeb,xfin,yfin))
m=m+1
n=n+1
Ca devrait le faire...
ps: s'il faut recommencer, ne pas retaper les dim...
Hors ligne
#7 Thu 22 May 2008 23:46
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Me serais je décarcassé pour rien ?? (ou alors c'est à cause de la grève )
Hors ligne
#8 Fri 23 May 2008 08:15
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Non non, ça m'est très utile!! Merci beaucoup!
Par contre le programme ne tourne pas (mais ça c'est parce que je ne suis pas douée).
En fait je ne comprends pas à quel endroit il fait le lien entre les identifiants commun entre mes 2 tables. Peut-être que le problème est là...
Hors ligne
#9 Fri 23 May 2008 08:58
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Ne tourne pas...c'est à dire?
Vous avez raison, j'ai oublié que pour que les lignes se créent entre les "bons" points il faut que ceux ci soient classés dans l'ordre des identifiants (et donc que les fetch rec n pointent bien sur les enregistrements de chaque table qui ont le même rang n ET le même identifiant)
Pour cela il faut que la manip ne porte pas sur les tables "orginales" mais sur des sélections tata1 et tata2 faites sur elles
select * from table1 order by ID1 into tata1 et select * from table2 order by ID2 into tata2
Vous me tenez au courant ?
Hors ligne
#10 Fri 23 May 2008 09:21
- Gérard parcoli
- Participant actif
- Date d'inscription: 9 Jan 2007
- Messages: 95
Re: Créer des lignes entre les points de tables différentes
Bonjour,
Et donc vous n'avez pas une version de mapinfo qui intégre spidergraph ?
si oui, il y a des chances qu'il vous fasse directement ce que vous voulez (avec une seule touche Entrée).
Hors ligne
#11 Fri 23 May 2008 09:36
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Oulala, dur ,dur!!
J'ai réalisé un essai à partir d'un extrait de mes tables avec uniquement 6 points (donc pour avoir 3 lignes) classés. Quand je lance le programme il ne s'arrête pas : par exemple j'ai arrêté à un moment (lâché la touche "enter") et il avait créé 500 objets non visibles dans la table line. Je n'est créé qu'un champ en caractère dans la table lines peut-être le problème vient-il de là?
Hors ligne
#12 Fri 23 May 2008 12:59
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Je n'aurait plus accès à internet à partir de cet après-midi. Si vous avez des propositions, je me ferai une joie de les mettre en oeuvre dés lundi!
Bon week-end!
Hors ligne
#13 Fri 23 May 2008 13:03
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Une seule: faites moi passer vos deux tables zippées ...pour occuper mon WE
Hors ligne
#14 Sat 24 May 2008 00:10
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Allez, une petite amélioration...
Les tables ont x enregistrements chacunes, avec un ID commun mais dans le désordre
On crée deux sélections toto1 et toto2 triées sur ce ID
Select * from table1 order by ID into toto1
Select * from table2 order by ID into toto2
dim xdeb as float
dim ydeb as float
dim xfin as float
dim yfin as float
dim m as smallint
dim n as smallint
m=1
n=1
fetch rec m from toto1
xdeb=toto1.x1
ydeb=toto1.y1
fetch rec n from toto2
xfin=toto2.x2
yfin=toto2.y2
insert into lines(obj) values(createline(xdeb,ydeb,xfin,yfin))
m=m+1
n=n+1
print chr$(12)
print m
Une première sélection de tout puis 'enter' ...la fenêtre message affiche 2 (une ligne est créée)
Ensuite on sélectionne ce qui est en gras, on garde le doigt appuyé sur 'enter' et on surveille la fenêtre message jusqu'à ce qu'elle affiche x+1
On enregistre lines qui comporte x lignes ...
ps: pour sélectionner les commandes, conseil: commencer par la fin !!
Hors ligne
#15 Mon 26 May 2008 09:03
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Ralala, je ne vois votre message qu'aujourd'hui, dsl d'avoir gâché votre we
J'ai essayé la nouvelle version du programme mais comme la première la création de points dans la table lines ne s'arrête pas et ces points ne s'affichent pas. Hum je vous ai préparé mon fichier comportant mes tables pour vous l'envoyer, mais comment en envoie-t-on des pièces jointes par GeoRezo?
Hors ligne
#16 Mon 26 May 2008 10:44
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Créer des lignes entre les points de tables différentes
Test effectué !
Diagnostic:
- la table de lignes à créer doit être dans la même projection que les deux tables de points
- le "programme" dernière version (avec les deux sélections pour commencer) marche bien à la condition de faire précéder le tout, dans la FMB, par un Set CoordSys Table une_de_mes_tables_de_points (puis 'enter' sur la ligne). Ceci pour forcer l'utilisation de cette projection et non de celle par défaut (Lat/Long, qu'il serait d'ailleurs utile de changer dans les préférences !)
ps: dans la manip, il faut surveiller la fenêtre message et stopper quand le bon nombre (x+1) s'affiche...
Hors ligne
#17 Mon 26 May 2008 11:12
- Nemrac33
- Participant occasionnel
- Date d'inscription: 6 Oct 2006
- Messages: 27
Re: Créer des lignes entre les points de tables différentes
Ouah ça y est ça marche!
C'est magnifique, ma mapinphobie s'est envolée!
Merci beaucoup!
Hors ligne