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é ?

#1 Tue 07 January 2014 16:43

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Afficher longueur de la polyligne dans la table

Bonjour à tous et à toutes,



J'ai un petit souci avec l'affichage des données métriques de ma table :
Dans une table X, j'ai différentes colonnes dont une qui doit me donner le linéaire des polylignes tracées. Jusqu'à ce jour, chaque nouvelle polyligne une fois tracée se rajoutait logiquement dans ma table et de mémoire le linéaire s'affichait dans la colonne prévue à cet effet.

Hier je trace de nouvelles polylignes dans la table générale et le linéaire de ces nouvelles polylignes se met à 0.
J'ai donc en tout logique voulu faire ma mise à jour de colonne (donc soit clic droit dans la table ou "table, mettre à jour colonne")...

Je met donc :
Table à mettre à jour : la table
Utiliser une colonne de la table : la table
Colonne à mettre à jour : la colonne "Linéaire"
Valeur : "Linéaire" (comme ci dessus) = ObjectLen(obj, "m") (j'ai essayé avec  CartesianObjectLen(obj, "m") en sachant que j'ai remplacé le "mi" par m comme on peut le voir.

Que je fasse avec Objectlen ou CartesianObjectLen, l'ensemble des données de ma colonne "Linéaire" passe à 0 (du coup les dernières polylignes restent à 0).


Est-ce moi qui ai loupé quelque chose ? que dois-je faire pour que le linéaire s'affiche ?


Merci par avance

et Meilleurs vœux

Hors ligne

 

#2 Tue 07 January 2014 17:12

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Salut,

As tu essayé de passer par la FMB?
Avec ceci:

Code:

Set coordsys Table TaTable
Select * from TaTable where TaColonneMesure=0 into AModifier
update AModifier Set TaColonneMesure=CartesianObjectLen(obj, "m")

PS:Sélectionner tout le code dans la FMB avant de valider
A+
Joël

Dernière modification par Spacejo (Tue 07 January 2014 17:13)

Hors ligne

 

#3 Tue 07 January 2014 17:38

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

Non je n'ai pas essayé avec la FMB et surtout, je ne connais pas donc il va falloir me détailler un peu pour que j'essaie cette manipulation ^^

Merci par avance

Hors ligne

 

#4 Tue 07 January 2014 17:49

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Alors la FMB (Fenêtre MapBasic) -> C'est un poste de pilotage de Mapinfo en lignes de commande.
Pour l'ouvrir -> Options -> Afficher Fenêtre MapBasic.
Il te suffit de copier le code que je t'ai posté (avec les modifs qui vont bien -> TaTable, TaColonneMesure par tes propres noms)
Puis tu colles le tout dans la FMB, tu sélectionnes tout le code (sinon la FMB ne prendra en compte que la dernière ligne)
Puis tu valides
J'espère être clair
A+
Joël

Hors ligne

 

#5 Wed 08 January 2014 08:45

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

Bonjour (et oui, nouvelle journée oblige),

J'ai fais la manipulation prévue, mais après avoir sélectionné le code et appuyé sur "ENTRER", ca me met "table "Amodifier" absente. J'ai par hasard refait "ENTRER" et ca a marché (j'ai du le faire 2 fois pour que ca marche). Bref, ca semble réglé, cependant, y a-t-il une explication à ce problème/changement ?


à priori, ca marche donc tout baigne, en tout cas merci smile

Code:

Set coordsys Table propo_clôtures
Select * from propo_clôtures where Linéaire_m=0 into AModifier
update AModifier Set  Linéaire_m=CartesianObjectLen(obj, "m")Browse * From propo_clôtures

Hors ligne

 

#6 Wed 08 January 2014 14:51

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Salut,

Non je n'ai pas d'explication pour le moment.
C'est bien la première fois que pour ces lignes de commande j'entende parler d'un tel message d'erreur smile .
Car AModifier dans mon exemple n'est pas une table mais une sélection de la Table "propo_clôtures".
Pour traduire les lignes de commande:
---> Set coordsys Table propo_clôtures : Force la FMB à prendre la projection de ta table "propo_clôtures".
---> Select * from propo_clôtures where Linéaire_m=0 into AModifier : Sélection des lignes ayant 0 pour valeur dans leur champ "Linéaire_m"
---> update AModifier Set  Linéaire_m=CartesianObjectLen(obj, "m") : Modification uniquement pour la sélection "AModifier" en attribuant la valeur du linéaire à la place du "0".
Voilà pour quelques explications smile
A+
Joël

Dernière modification par Spacejo (Wed 08 January 2014 14:52)

Hors ligne

 

#7 Wed 08 January 2014 15:01

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

OK merci bien pour ce complément d'information

en clair je devrai refaire cette manip à chaque fois je crains...vu que ca me remet toujours 0 pour mes nouvelles polylignes -_-

si des fois une solution pour revenir à la normale existe, je suis preneur ^^

merci encore

Hors ligne

 

#8 Wed 08 January 2014 18:27

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Salut,

Tu veux dire que lorsque tu finis une polyligne, le calcul de ta longueur se fait tout seul ?
A+
Joël

Hors ligne

 

#9 Mon 13 January 2014 14:27

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

Bonjour,


Effectivement, l'idée était que la colonne linéaire se MAJ automatiquement dès qu'une nouvelle polyligne est créée.

Hors ligne

 

#10 Mon 13 January 2014 15:17

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Y'a t'il un outil qui fonctionne en tâche de fond?
C'est peut être lui qui n'est plus actif à l'ouverture de Mapinfo.
A+
Joël

Hors ligne

 

#11 Mon 13 January 2014 16:07

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

un outil qui fonctionne en fond ? sur mapinfo ou quelque chose sans rapport avec mapinfo ? (style, je dis une betise, excel?)
sinon, en ce qui concerne mapinfo, j'ouvre mes doc "normalement" comme toujours. Et le problème reste en place malgré l'extinction du pc en fin de journée et sa réouverture le lendemain.

donc je ne sais pas ce qu'il faudrait faire fonctionner ou non pour que ca marche.

Hors ligne

 

#12 Mon 13 January 2014 16:22

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

Re: Afficher longueur de la polyligne dans la table

Bonjour,
la solution consisterait peut-être à écrire la requête proposée par Spacejo dans le document .wor : à chaque ouverture du doc. la mise à jour se fait.
Cordialement,


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

 

#13 Mon 13 January 2014 16:31

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

OK avec toi Jean François -> Pour une mise à jour par ouverture de .wor.
Mais un calcul en temps réel dés la fin de la création de la polyligne.
Je ne vois qu'un outil en tâche de fond qui se charge à l'ouverture de Mapinfo.
-> Outils -> Gestionnaire d'outils --> Dans la grille d'outils, il devait avoir un outil qui était en (Autoload) et qui ne l'est plus.
Pour ma part je ne vois que celà (avec les infos que tu nous a données Bill08)
Une solution intermédiaire possible ---> mapupdate ---> http://www.mapinfotools.com/index.php?o … ;Itemid=53
A+
Joël

Dernière modification par Spacejo (Tue 14 January 2014 09:09)

Hors ligne

 

#14 Wed 15 January 2014 17:18

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

Bonjour,


effectivement, pas d'autoload dans mon gestionnaire d'outils (d'ailleurs, au passage, la quasi totalité de mes outils sont en Francais, mais il n'y a pas d'outil en Français qui ressemble de prêt ou de loin à une traduction d'autoload). J'ai un truc nommé easyloader pour mapinfo qui est totalement décoché.

je vais voir à télécharger l'update pour réavoir cet outil (faut-il effectuer une manip ensuite ? télécharger puis dans Mapinfo, gestionnaire d'outils, ajouter  je suppose ?)

merci bien

Hors ligne

 

#15 Wed 15 January 2014 18:24

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Salut,

Aprés avoir téléchargé l'outil "mapupdate".
Tu décompresses l'archive puis tu places "mapupdate.MBX" dans ton dossier d'outils.
Par défaut, il se trouve ici --> C:\Program Files\MapInfo\Professional\Tools
Puis: Outils --> Gestionnaire d'outils --> Ajouter Outil --> Tu lui donnes un titre --> tu vas le localiser avec le "parcourir" (...)
La case loaded sera cochée -> tu peux cocher aussi l'autoload si tu veux le charger automatiquement à l'ouverture de Mapinfo.
Ensuite concernant l'outil.
Outil -> MapUpdate -> Manage Functions -> Tu choisis la table surlaquelle tu veux le calcul de Longueur.
Puis -> "Add" -> Tu donnes un Nom à ta commande (Calcul Longueur par exemple) -> Tu choisis le champ sur lequel tu veux le calcul ->
Dans "expression" tu colles -> CartesianObjectLen(obj, "m").
Aprés c'est à toi de choisir avec les options proposées.
Il te suffiras aprés digitalisation de plusieurs polylignes de faire Outils -> MapUpdate -> et la commande Update qui te convient.
PS:Attention il y a la possibilité de cocher "Auto Commit" enregistrement automatique de la table.Si c'est coché pas de retour possible en arrière (pas de message "voulez vous enregistrer" wink )
En espérant être clair
A+
Joël

Dernière modification par Spacejo (Wed 15 January 2014 18:26)

Hors ligne

 

#16 Tue 28 January 2014 15:07

bill08
Participant assidu
Date d'inscription: 27 May 2011
Messages: 171

Re: Afficher longueur de la polyligne dans la table

Bonjour,


A priori ca semble marcher, (désolé du temps de retour, je n'avais pas eu le temps de remettre le nez dans le SIG).

Merci en tout cas du coup de main

Cordialement

EDIT : un message d'erreur apparait une fois que j'ai fais la manip pour que mon linéaire s'affiche après avoir créé de nouvelles polylignes :

ca me met :

"Nom de ma table"(Nom de ma colonne linéaire) : updating errors.

A priori, ca marche quand meme puisque mes linéaires passent de "0" à une distance X

est-ce inquiétant ?

Dernière modification par bill08 (Tue 28 January 2014 15:14)

Hors ligne

 

#17 Thu 30 January 2014 10:48

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Afficher longueur de la polyligne dans la table

Salut,

Je pense que ce message d'erreur vient des options que tu as peut être cocher dans l'outil.
A+
Joël

Dernière modification par Spacejo (Thu 30 January 2014 10:50)

Hors ligne

 

Pied de page des forums

Powered by FluxBB