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 Tue 02 December 2014 19:41

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

Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Bonjour

Le sujet semble simple mais je ne trouve pas la solution...  Mon cerveau s'embrouille.

J'ai deux tables; une table de polygones (lots) et une table de points (numéro civique).  Cette dernière couche provient d'Autocad, une couche de texte que j'ai transformé en points avec le numéro dans la base de données.

Dans ma table de lots, j'ai une colonne avec l'adresse complète (ex.: 1234 rue Saint-Jean).
Dans ma table de points, je n'ai que le numéro civique (1234 de l'exemple).  Il est possible qu'il y ait plus d'un numéro civique dans un lot (appartement). 

Donc, ce que je veux faire, c'est simplement d'ajouter le nom de la rue des polygones dans une colonne de ma base de données de points.  Par la suite, je ferai colonne A + colonne B pour faire une adresse complète dans une colonne C.

Mon souci est d'extraire ce nom de rue de ma couche de polygone.  Tous les numéros civiques ont 4 chiffres.  La majorité des adresses ont la forme de l'exemple (1234 rue Saint-Jean).  Comment aller chercher le nom de rue (Saint-Jean) simplement???  Une fois le nom de la rue dans une colonne, je mettrai le nom de rue dans ma couche de point par une requête géographique!!!

J'ai un début : J'ai copié la colonne adresse dans une nouvelle colonne texte.  Avec le MBX Recherche/Remplacer, je cherche RUE et je remplace par rien.  Comment faire pour enlever les 4 premiers caractères d'une chaine?

Merci

Daniel

Dernière modification par Daniel (Tue 02 December 2014 19:52)


De retour à la géomatique

Hors ligne

 

#2 Tue 02 December 2014 20:46

mbounouar
Participant assidu
Date d'inscription: 2 Nov 2006
Messages: 246

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Salut Daniel

Regarde la possibilité de travailler votre table avec Excel. Avec les fonctions Texte , Gauche (extraire tout ce qui est à gauche de RUE)

C,est une piste probable

Hors ligne

 

#3 Tue 02 December 2014 20:49

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

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Salut,

Comment faire pour enlever les 4 premiers caractères d'une chaine?


Tu veux enlever ou extraire?
Si tu veux extraire:

Code:

Update TaTable Set TonChampNum=Left$(TonChampAdresse,4)

Si tu veux enlever:

Code:

Update TaTable Set TonChampAdresse=Right$(TonChampAdresse, Len(TonChampAdresse)-4)

Ne garder que le nom de la Rue:

Code:

Update TaTable Set TonChampRue=Right$(TonChampAdresse, Len(TonChampAdresse)-9)

A+
Joël

Dernière modification par Spacejo (Tue 02 December 2014 21:00)

Hors ligne

 

#4 Tue 02 December 2014 21:08

mbounouar
Participant assidu
Date d'inscription: 2 Nov 2006
Messages: 246

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Bonjour
Joel a une meilleure opton

Hors ligne

 

#5 Tue 02 December 2014 21:13

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

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Si tu as des Avenues, des boulevard, des Impasses etc... mais que le début de tes adresses est toujours comme ceci:
4 Chiffres + un espace + (rue, avenue, boulevard, etc...) + un espace + nom
Alors ceci peux te réduire la tâche:

Update TaTable Set TonChampRue=Right$(TonChampAdresse, Len(TonChampAdresse) - Instr(6, TonChampAdresse, " "))

Dernière modification par Spacejo (Wed 03 December 2014 13:02)

Hors ligne

 

#6 Wed 03 December 2014 15:07

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

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Spacejo a écrit:

Si tu as des Avenues, des boulevard, des Impasses etc... mais que le début de tes adresses est toujours comme ceci:
4 Chiffres + un espace + (rue, avenue, boulevard, etc...) + un espace + nom
Alors ceci peux te réduire la tâche:

Update TaTable Set TonChampRue=Right$(TonChampAdresse, Len(TonChampAdresse) - Instr(6, TonChampAdresse, " "))


Salut Joël

C'est exactement ce que j'avais, des rues et des avenues.  Et le tout a très bien fonctionné. 
Petite question : LEN veut dire quoi?  Je crois que je dois aller fouiller dans le Guide de Mapbasic?

Merci beaucoup

Daniel


De retour à la géomatique

Hors ligne

 

#7 Wed 03 December 2014 16:15

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

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Salut,

Len(TonChampAdresse) -> te donne la longueur de la chaine que tu analyses -> le nb de caractères.
Instr(6, TonChampAdresse, " ") -> Te permets de trouver la position du 2ème espace en partant de la gauche.Le "6" permets de commencer la recherche à partir du 6éme caractère en partant de la gauche et donc d'éviter le premier espace wink.
Le "Right$" te permets donc de prendre tous les caractères à partir de la droite jusqu'à ton 2 éme espace smile
En espérant être clair
A+
Joël

Hors ligne

 

#8 Wed 03 December 2014 17:44

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

Re: Mapinfo 12.5 - Transfert d'information d'une table vers une autre

Merci Joël.  C'était vraiment le LEN que je ne connaissais pas, ou que je n'avais jamais vu passer dans les posts!  Le reste j'avais compris mais ça fait toujours du bien de se faire rafraichir la mémoire!!! big_smile

Encore merci

Daniel


De retour à la géomatique

Hors ligne

 

Pied de page des forums

Powered by FluxBB