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

Printemps des cartes 2024

#1 Wed 18 November 2009 17:22

Nicolas Roux
Participant occasionnel
Lieu: Jura
Date d'inscription: 31 Jan 2007
Messages: 12

Jointure entre une table spatiale et une table attributaire

Bonjour,

Je dispose d'une table spatiale d'objets filaires. Chaque objet a bien sûr son identifiant unique. D'un autre côté, je dispose d'une table attributaire. Dans cette table, plusieurs lignes peuvent renvoyer par un identifiant commun au même objet spatial. Et il est important de conserver ce renvoi.

Si j'effectue une jointure table spatiale -> table attributaire, il en résulte une table ne reprenant que la première ligne ayant le même identifiant pour chaque objet. Les autres informations ne sont pas prises en compte.

Aussi, je me demande comment faire pour réaliser une jointure qui tienne compte de toutes les données de la table attributaire. Et j'ai beau tourner la question dans les sens. Du moins ceux que je connaisse, je ne trouve pas de solution satisfaisante. :-/

J'ai bien penser dupliquer les objets spatiaux en autant de fois qu'il existe d'entrées dans la table attributaire. Mais à part alourdir mon fichier, je n'en vois pas l'intérêt.

Je sèche... Un peu d'aide ne serait de refus ;-)


N. ROUX
Ville de Saint-Claude

Hors ligne

 

#2 Sat 21 November 2009 11:11

Franck B
Membre
Lieu: PACA
Date d'inscription: 6 Sep 2005
Messages: 1382
Site web

Re: Jointure entre une table spatiale et une table attributaire

Bonjour,

Comme tu as une relation (1-n) entre tes objets géographiques et tes objets attributaires, le mécanisme de jointure ne peut pas fonctionner.

Par contre, si c'est juste pour de la visualisation ou de l'édition des attributs dans ArcMap, tu peux utiliser le mécanisme de relation : http://webhelp.esri.com/arcgisdesktop/9 … ing_tables.
Ce système de relation te permet après avoir sélectionner un élément dans la classe d'objets filaires de sélectionner "en cascade" l'ensemble des objets attributaires concernés.

Pour créer la relation :
# Clic-droit sur la couche que vous voulez relier, selectionner "Jointures et relations", et cliquer "Relation".
Vous pouvez également cliquer sur le bouton d'options sur de la table attributaire pour accéder à la boîte de dialogue de relation.
# Cliquer sur le première liste déroulante et cliquer sur le champ dans la couche sur laquelle la relation sera basée.
# Cliquer sur la deuxième liste déroulante et cliquer sur la table à mettre en relation, ou charger la table à partir du disque.
# Cliquer sur la troisième liste déroulante et cliquer sur le champ dans la table à relier permettant de faire la relation.
# Donner un nom à la relation.
Tu utiliseras ce nom pour accéder aux données en relation
# OK de clic.

Pour utiliser la relation :
# Dans le boîte d'identification
# Dans la fenêtre de la table attributaire via Options->Tables reliées.

L'inconvénient important de ce mécanisme est qu'il ne peut être utilisé pour réaliser des symbologies...
Que veux-tu faire avec cette mise en relation ?

A+
Franck

Hors ligne

 

#3 Mon 23 November 2009 10:27

Nicolas Roux
Participant occasionnel
Lieu: Jura
Date d'inscription: 31 Jan 2007
Messages: 12

Re: Jointure entre une table spatiale et une table attributaire

Bonjour,

J'ai déjà mise en place ce type de relation pour les fichiers incriminés. Mais le but de la jointure serait de pouvoir exporter dans une table unique les objets spatiaux et les données attributaires correspondantes.

Le fichier obtenu servirait à alimenter un outil de consultation Websig.


Cordialement

Dernière modification par Nicolas Roux (Mon 23 November 2009 10:29)


N. ROUX
Ville de Saint-Claude

Hors ligne

 

#4 Mon 23 November 2009 16:59

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: Jointure entre une table spatiale et une table attributaire

Nicolas, sour quelle forme espères-tu obtenir tes résultats finaux ?

Pour ne conserver qu'un seul objet spatial mais y associer plusieurs lignes, je ne vois qu'une seule option: ajouter une colonne pour chaque ligne qu'on veut associer à l'entité spatiale. Est-ce que ça convient ?

On verra comment faire quand tu auras exprimé clairement le résultat attendu.

Vincent

Hors ligne

 

#5 Tue 24 November 2009 08:58

Nicolas Roux
Participant occasionnel
Lieu: Jura
Date d'inscription: 31 Jan 2007
Messages: 12

Re: Jointure entre une table spatiale et une table attributaire

Bonjour,

Donc si je dispose dans ma table attributaire de 300 lignes, je dois créer 300 colonnes dans ma table spatiale (polylignes) ... Je joins une copie de mes 2 tables pour permettre de mieux saisir la question. Le champ de référence aux 2 tables est le numéro du segment. Est-ce juste comme manière de voir ?

Mon but final est de permettre à mes utilisateurs de consulter toutes les informations d'un tronçon par une "simple" sélection sur cet élément spatial.

Cordialement,

Dernière modification par Nicolas Roux (Tue 24 November 2009 08:58)


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

N. ROUX
Ville de Saint-Claude

Hors ligne

 

#6 Tue 24 November 2009 16:01

carteq
Participant assidu
Date d'inscription: 8 Mar 2008
Messages: 829

Re: Jointure entre une table spatiale et une table attributaire

Une solution serait de créer un nouvel outil qui lance l'execution d'une requête quand un segment est sélectionné ou interrogé. Cette requête sélectionnerait simplement toutes les lignes de la 2e table qui partagent le numéro du segment sélectionné.

Hors ligne

 

#7 Wed 25 November 2009 00:17

SébastienC
Participant occasionnel
Date d'inscription: 30 Oct 2009
Messages: 26

Re: Jointure entre une table spatiale et une table attributaire

Je ne sais pas si j'ai bien compris ta requête mais en fait tu veux joindre plusieurs lignes de ta table attributaire à un seul objet spatial.

Pour celà il faut que tu fasses une jointure mais pas en effectuant un clic droit sur ton shape (join=>join by attribute). Il faut que tu fasses un join one to many (qui se trouve dans l'onglet "jointure" ou "join" de l'arctoolbox) et qui permet de joindre plusieurs lignes d'une table attributaire à un objet spatial.
Par exemple si tu as un tronçon de route qui traverse plusieurs communes, la jointure "one to many" te donne en sortie une table avec une ligne pour chaque commune qui est traversée par le tronçon.

J'espère avoir été clair même si je n'ai pas l'impression que c'est le cas (j'ai pas arcgis sous la main pour pouvoir être plus précis).

Cordialement wink

Hors ligne

 

#8 Fri 27 November 2009 11:39

Nicolas Roux
Participant occasionnel
Lieu: Jura
Date d'inscription: 31 Jan 2007
Messages: 12

Re: Jointure entre une table spatiale et une table attributaire

Je vous remercie pour vos pistes de travail.

Je vais m'y mettre et vous faire un retour dès que possible.


N. ROUX
Ville de Saint-Claude

Hors ligne

 

#9 Mon 08 March 2010 13:31

Nicolas Roux
Participant occasionnel
Lieu: Jura
Date d'inscription: 31 Jan 2007
Messages: 12

Re: Jointure entre une table spatiale et une table attributaire

Comme premier retour :
Alors la jointure se fait bien... uniquement sur les attributs des entités dessinées. Les autres données ne sont donc pas prises en compte.

Cordialement,

Nicolas


N. ROUX
Ville de Saint-Claude

Hors ligne

 

Pied de page des forums

Powered by FluxBB