Pages: 1
- Sujet précédent - Mapinfo - comment incorporer données table 1 dans table 2 - Sujet suivant
#1 Fri 13 February 2015 07:42
- ÍPaulineAnemone
- Juste Inscrit !
- Date d'inscription: 12 Feb 2015
- Messages: 1
Mapinfo - comment incorporer données table 1 dans table 2
Bonjour tout le monde,
Tout d'abord je tiens à signaler que j'ai cherché dans les sujets déjà dispo mais n'ai rien trouvé.
Voilà je travaille avec mapinfo sur des données foncières.
J'ai une table A avec des enregistrements : objets géographiques sans aucun attribut et qui sont en fait du texte (des numéros et noms de parcelles cadastrales).
J'ai une autre table B qui contient elle des enregistrements : objets géographiques (polygones des parcelles) auxquels sont associés des attributs divers (commune référence cadastrale superficie. ...).
Je voudrais incorporer les objets géographiques de la table A dans la table B en tant que nouvel attribut des objets géographiques de la table B.
Est ce que c'est possible ? Ne faudrait il pas avant tout créer un champ commun ?
Merci de me donner un coup de main.
A bientôt,
Pauline.
Hors ligne
#2 Fri 13 February 2015 11:47
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: Mapinfo - comment incorporer données table 1 dans table 2
Bonjour
Si vos données de la table A intersectent les données de la table B il est possible de faire quelque chose:
Étape 1:
Sur votre table A créer un nouveau champ de type caractère et appelons le "libelle" et lancer la requête de mise à jour suivante:
Table =>Mettre à jour la colonne
Table à mettre à jour => table A
Utiliser une valeur de la table => Table A
Colonne à mettre à jour => libelle
Valeur => objectinfo(obj,3)
Normalement l'objet texte est mis en valeur attributaire.
Étape 2:
Table A
Créer deux champs supplémentaires coordX et coordY afin de récupérer les coordonnées X et Y du centroid des données textes de votre table A.
Table =>Mettre à jour la colonne
Table à mettre à jour => table A
Utiliser une valeur de la table => Table A
Colonne à mettre à jour => coordX
Valeur => CentroidX(obj)
faire pareil avec le champ Coord Y
Étape 3 exporter votre table A en csv (Abis)
Étape 4:
Importer votre table Abis csv et faites "table" =>"Creer des points"
Le but est de convertir votre ancienne table de texte en table point dont l'attribut est la données texte (numéro et nom de parcelle)
Étape 5:
Créer un champ refcada dans votre table B
Étape 6:
Requête d'intersection pour récupérer la colonne "libelle" de la table Abis dans la table B.
Menu Selection => Selection SQL
Laisser * dans la fenetre colonnes
Tables => Table B, Table Abis
Critères => Table B.obj Contains (ou intersect) Table Abis.obj
Table de résultat => nouvelle table
Vérifier si le résultat obtenu est conforma à vos attente puis etape7
Étape 7:
ET à partir de cette nouvelle table "temporaire" faite une mise à jour de votre table B
Table =>Mettre à jour la colonne
Table à mettre à jour => nouvelle table
Utiliser une valeur de la table => nouvelle table
Colonne à mettre à jour => Refcada
Valeur => libelle
Vérifiez que tout semble correcte.
Je vous conseil de travailler sur des copies de vos couches.
L’intérêt de passer vos anciennes données objet texte en objet point, est d’éviter la duplication de vos données parcelles lorsque vous effectuez la requete d'intersection.
On peut éviter l'étape 6 en passant directement à l'étape 7.
On peut mettre à jour directement le champ refcada par jointure spatiale dans "table à mettre à jour" mais dans votre cas je vous conseil de passer par l'etape 6 afin d'avoir un certain contrôle du résultat.
En cherchant des les sujets épinglé il y a ceci:
http://georezo.net/forum/viewtopic.php?id=53164
Cordialement.
Dernière modification par Benoit91 (Fri 13 February 2015 14:08)
Hors ligne
Pages: 1
- Sujet précédent - Mapinfo - comment incorporer données table 1 dans table 2 - Sujet suivant