Pages: 1
- Sujet précédent - Mapinfo 12.5 - Transfert d'information d'une table vers une autre - Sujet suivant
#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
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 .
Le "Right$" te permets donc de prendre tous les caractères à partir de la droite jusqu'à ton 2 éme espace
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!!!
Encore merci
Daniel
De retour à la géomatique
Hors ligne
Pages: 1
- Sujet précédent - Mapinfo 12.5 - Transfert d'information d'une table vers une autre - Sujet suivant