Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 13 November 2014 19:35

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Mapinfo 12.5 français - Fusionner par nom

Bonjour

J'ai une couche du réseau d'aqueduc.  Il y a, pour la majorité des cas, un même nom pour des conduites contigües. Par exemple, j'ai 3 conduites portant le nom E-001, tous rattachées les trois ensemble.  J'ai trouvé dans la caverne d'Alibaba (J. Paris), un MBX "Fuse by column".  Ce MBX fusionne les polylignes par une colonne de la base de données.

Le problème, il me donne le message d'erreur suivant : Variable ou champ E non défini". 

Toutes mes conduites portent le nom débutant par E, O, N ou S (quatre points cardinaux).  Ce que je peux dire, c'est que le MBX a une erreur à la première ligne de la base de donnée.

Je cherche donc à fusionner mes éléments à partir d'une colonne de ma table.

Est-ce que quelqu'un comprendrait le message ou aurait une autre solution, qui pour le moment, ne me saute pas aux yeux!!!

Merci

Daniel
P.S. Voir pièce jointe pour bien comprendre


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

De retour à la géomatique

Hors ligne

 

#2 Thu 13 November 2014 20:03

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: Mapinfo 12.5 français - Fusionner par nom

Bonjour

En faisant un test sur une plus petite portion, je viens de me rendre compte que le message d'erreur voulait simplement dire que le champ en question est du caractère.  J'ai fait le test en fusionnant avec un champ numérique entier et ça a fonctionné!

Je change donc ma question (à moins que vous trouviez une solution à mon premier post), comment, de façon automatique, attribuer un numéro unique pour chaque groupe de ligne portant le même nom (ex: Tous les E-001 = 1, tous les N-001 = 2, tous les N-002 = 3, etc...).

Merci

Daniel


De retour à la géomatique

Hors ligne

 

#3 Thu 13 November 2014 23:56

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

Re: Mapinfo 12.5 français - Fusionner par nom

Salut,

Si j'ai bien saisis ton problème, une solution est d'utiliser "Scriptgen" couplée à la FMB.
Le script de base ->

Select * from TaTable where TonChampConduite like "xxxx" into Selyyyy
update Selyyyy TonNouveauChampNumero=yyyy


Faire une petite recherche sur ce forum et chez nos voisins avec "Scriptgen" comme mot clef.
A+
Joël

Dernière modification par Spacejo (Fri 14 November 2014 19:36)

Hors ligne

 

#4 Fri 14 November 2014 07:36

altigis
Participant assidu
Date d'inscription: 20 Jun 2013
Messages: 308

Re: Mapinfo 12.5 français - Fusionner par nom

bonjour
la v12.5 est dispo en français?

Hors ligne

 

#5 Fri 14 November 2014 14:39

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: Mapinfo 12.5 français - Fusionner par nom

altigis a écrit:

bonjour
la v12.5 est dispo en français?


Heu!!! oui smile

Mais j'y ai trouvé quelque "bugs" que j'ai transmis à notre ami nfarah pour vérifications.

Voir ces liens :
http://georezo.net/forum/viewtopic.php?id=94061

http://georezo.net/forum/viewtopic.php?id=94238

Daniel


De retour à la géomatique

Hors ligne

 

#6 Fri 14 November 2014 14:51

Daniel
Membre
Lieu: Victoriaville, Québec
Date d'inscription: 6 Sep 2005
Messages: 2028

Re: Mapinfo 12.5 français - Fusionner par nom

Spacejo a écrit:

Faire une petite recherche sur ce forum et chez nos voisins avec "Scriptgen" comme mot clef.
A+
Joël


Salut Joël

Il va bien falloir que je m'y mette sur ce Scriptgen!!!! smile  Je crois que ça peut, jusqu'à un certain point, remplacer FME.  Une lecture s'impose!

Cependant, je ne suis pas certain d'avoir compris ta procédure!!!!

Bref, j'ai solutionné par la bonne vieille méthode...  manuelle.  J'ai fait un test sur plusieurs conduites qui portaient seulement 2 numéros.
Ex.: Tous les E-001 ont eu comme ID 1 et tous les E-002, ID=2
J'ai repassé le MBX Fusebycol et ça a fonctionné.

Je me suis donc tapé mes 884 lignes dans Mapinfo.
1- J'ai fait un tri sur ma colonne Nom_tronçon
2- Assigné un ID unique pour chaque groupe (ce qui m'a donné 230 ID)
3- Exécuté le MBX Fusebycol
4- Heureux comme un poisson dans l'eau... mais long!

Merci Joël

Daniel


De retour à la géomatique

Hors ligne

 

#7 Fri 14 November 2014 19:49

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

Re: Mapinfo 12.5 français - Fusionner par nom

Cependant, je ne suis pas certain d'avoir compris ta procédure!!!!


Voilà ce que je te proposais ->

1- J'ai fait un tri sur ma colonne Nom_tronçon
2- Assigné un ID unique pour chaque groupe (ce qui m'a donné 230 ID)


Mais en semi auto on va dire wink
A+
Joël

Hors ligne

 

#8 Sat 15 November 2014 10:10

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

Re: Mapinfo 12.5 français - Fusionner par nom

Salut,

Je vais un détailler un peu wink
1-Faire une requête pour obtenir tous les différents noms de tes conduites.
-->

Code:

Select NomConduite from TaTable Groupby NomConduite Into Resultat

2-Exporter "Resultat" en .txt
3-Importer ce fichier dans Excel
4-Construire un ID pour chaque Nom de conduite
-> Aprés importation dans Excel, mettre dans la première cellule cette fonction "Ligne()"
puis la coller dans chaque cellule -> En double-cliquant sur le coin bas droit de la première cellule.
5-Exporter le résultat en .csv. (Ce fichier constituera ta liste)
6-Ouvrir Scriptgen:
    -> Dans "script de base", coller ceci:
           

Code:

Select * from TaTable where NomConduite like "xxxx" into Selyyyy
update Selyyyy TonNouveauChampNumero=yyyy

-> Dans "liste de valeurs" Cocher "Utiliser une Liste" et "Utiliser plusieurs valeurs à remplacer"
           Mettre dans "Valeur(s) à remplacer" -> xxxx;yyyy
           Enfin coller le contenu du fichier .csv.
           Vérifier que dans Outils -> Options "Utiliser des lignes de séparation" soit décoché

    -> Enfin générer le script final et coller le contenu de celui-ci dans la FMB
En espérant que ce soit plus clair smile
A+
Joël

Dernière modification par Spacejo (Sat 15 November 2014 10:15)

Hors ligne

 

Pied de page des forums

Powered by FluxBB