#1 Thu 25 September 2008 12:48
- yoyo72
- Participant actif
- Date d'inscription: 9 Jul 2008
- Messages: 101
rapatrier des infos d'une table Ă une autre
Bonjour
voici mon problĂšme j'ai actuellment une table qui se nomme "patrimoine" avec des attributs liĂ©s Ă des objets graphiques.J'ai une autre table "Voies" qui contient presque la mĂȘme structure dont je voudrais rapatrier des informations qui sont identiques pour ces deux tables, en fait c'est pour Ă©viter un gros travail de resaisie des mĂȘmes donnĂ©es pour deux tables.Le problĂšme est que j'ai les mĂȘmes identifiants (notament CODE_INSEE) pour les deux tables pour tous les enregistrements donc impossible de faire une jointure
Auriez-vous une solution Ă ce problĂšme;j'ai oubliĂ© de rappeler que sur les deux tables ce sont les mĂȘmes objets gĂ©ographique
Hors ligne
#2 Thu 25 September 2008 13:47
- Daniel
- Membre
- Lieu: Victoriaville, Québec
- Date d'inscription: 6 Sep 2005
- Messages: 2028
Re: rapatrier des infos d'une table Ă une autre
Bonjour
Pourquoi ne pas utiliser une mise Ă jour en utilisant unr requĂȘte gĂ©ographique comme intersect, si les polygones Ă©lĂ©ments gĂ©ographiques sont identiques!
Daniel
De retour à la géomatique
Hors ligne
#4 Thu 25 September 2008 20:58
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: rapatrier des infos d'une table Ă une autre
Bonjour
Ce sont des polylignes, en partie superposées, mais assemblées différemment
Seul l'usage de "intersects" est possible
Si vous renseignez "patrimoine" avec "voies" (qui a plus de donnĂ©es, en mettant "patrimoine" avant "voies" dans la requĂȘte avec "intersects") vous allez avoir un rĂ©sultat faux puisque des Ă©lĂ©ments de "patrimoine" seront renseignĂ©s alors qu'ils se contentent d'intersecter (alors que seuls ceux qui sont vraiment "dessous" devraient l'ĂȘtre)
Il faut donc passer par de petits tampons (1 m) autour de "voies", un tampon par objet, dans une nouvelle table de mĂȘme structure et utiliser une requĂȘte avec "Within"...qui renseignera 230 objets de "patrimoine"...seulement ceux qui sont "dessous"
Hors ligne
#5 Fri 26 September 2008 08:12
- yoyo72
- Participant actif
- Date d'inscription: 9 Jul 2008
- Messages: 101
Re: rapatrier des infos d'une table Ă une autre
Bonjour Maurice
Merci de ta rĂ©ponse mais je suis dans l'incapacitĂ© de rĂ©aliser ta rĂ©ponse, c'est un peu trop compliquĂ© pour moi.si au cas ou tu pouvait me faire cette requĂȘte cela me rendrais Ă©normĂ©ment service...
Je te joins les deux tables au cas ou
Merci
Hors ligne
#6 Fri 26 September 2008 11:08
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: rapatrier des infos d'une table Ă une autre
Je ne suis pas trop d'accord de faire du travail "à façon"...mais pour cette fois ça passe ![]()
Ci-joint le résultat qui remplace votre fichier joint du post précédent (déjà posté une fois !)
Il y a 560 entitĂ©s et non 557 car 3 entitĂ©s portent les mĂȘmes informations (sont "doublonnĂ©es")
Votre fichier "voies" comporte en effet une entité qui a deux informations (VC404 et VC405) et cette entité "renseigne" 3 entités de "patrimoine". Je vous laisse le soin de corriger...
Hors ligne
#7 Fri 26 September 2008 12:27
- yoyo72
- Participant actif
- Date d'inscription: 9 Jul 2008
- Messages: 101
Re: rapatrier des infos d'une table Ă une autre
Merci Maurice
Pour prĂ©ciser les fichiers que j'ai remis permettaient de simplement des simulations avec les vrais tables, en aucun cas de faire mon travail.Ce qui m'interesse est plus tĂŽt la maniĂšre ou le process que tu as utilisĂ© pour arrivĂ© au rĂ©sultat notament l'ecriture de la requĂȘte, c'est ça qui m'interresse!
J'essairai de mieux m'exprimer la prochaine fois, donc si tu as le process je suis preneur
Hors ligne
#8 Fri 26 September 2008 13:08
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: rapatrier des infos d'une table Ă une autre
Dont acte:
- nettoyer la table "voies" pour éviter les doublons (cf. post précédent)
- tampons de 1 mĂštre autour de chaque objet de "voies" dans une nouvelle table de mĂȘme structure "voies_2"
- requĂȘte select * from patrimoine,voies_2 where patrimoine.obj Within voies_2.obj into sel1
- enregistrer sel1 en patrimoine1
- inverser la sélection dans patrimoine1
- enregistrer la sélection en patrimoine2
- ajouter patrimoine2 Ă patrimoine1, enregistrer patrimoine1 sous patrimoine_OK, annuler les changements de patrimoine1
Patrimoine_ok est le rĂ©sultat (patrimoine renseignĂ© par voies) et toutes les tables intermĂ©diaires peuvent ĂȘtre dĂ©truites (voies_2, patrimoine1, patrimoine2) par menu Table->Gestion table
Hors ligne
#9 Mon 29 September 2008 08:41
- yoyo72
- Participant actif
- Date d'inscription: 9 Jul 2008
- Messages: 101
Re: rapatrier des infos d'une table Ă une autre
Bonjour Maurice
je n'arrive pas Ă faire ta requĂȘte, l'a fais tu dans map basic ou selection SQL
merci
Hors ligne
#10 Mon 29 September 2008 09:46
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: rapatrier des infos d'une table Ă une autre
La syntaxe utilisĂ©e dans ma rĂ©ponse est celle de la fenĂȘtre MapBasic (FMB):
- la taper dans la FMB puis 'enter' sur la ligne
nb: c'est exactement ce qui s'Ă©crit dans la FMB (prĂ©alablement ouverte) quand on utilise le requĂȘteur (sĂ©lection SQL)
Hors ligne
#11 Thu 02 October 2008 11:24
- yoyo72
- Participant actif
- Date d'inscription: 9 Jul 2008
- Messages: 101
Re: rapatrier des infos d'une table Ă une autre
Merci Maurice
cela fonctionne Ă merveille..
Hors ligne

