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

GEODATA DAYS 2024

#1 Fri 05 May 2006 12:17

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

intersection de 2 tables

Bonjour,

J'ai 2 tables :
une table siège des exploitations : chaque siège est un point avec un code exploitant
une table parcelle groupée : chaque polygone représente l'ensemble des parcelles exploitées par un agriculteur et possède un code exploitant (le même que celui de la table siège des exploitant)
Je cherche à savoir pour chaque exploitation, qu'elle est la surface se trouvant à moins de 1 kilomètre de son siège (sachant que j'ai plus de 400 exploitations).

Merci d'avance,

Nicolas VIGNON
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#2 Fri 05 May 2006 14:13

AST
Participant actif
Lieu: Marseille
Date d'inscription: 20 Dec 2005
Messages: 53

Re: intersection de 2 tables

Tu pourrais créer un tampon de 1km pour chaque exploitation : tu selectionnes tes objets puis onglet "objet" et "tampon". Là tu définis la taille de ton tampon et son genre (sphérique ou cartésien). Pour ton cas je pense qu'il faudra choisir cartésien.

Ensuite avec les polygones nouvellement créés, tu fais une selection SQL avec en opérateur "Intersects" ou "Whithin".

Voilà si j'ai bien compris l'objet de ta demande...

Hors ligne

 

#3 Fri 05 May 2006 14:56

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

Re: intersection de 2 tables

Pour le tampon pas de problème..
c'est ensuite que ca se complique comment lui indiquer dans la requête SQL de calculer l'intersection entre le tampon et les exploitations que lorsque le code EA est identique.

Bonne journée

Nicoals VIGNON
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#4 Fri 05 May 2006 16:07

diophamidou
Participant assidu
Date d'inscription: 18 Jan 2006
Messages: 243

Re: intersection de 2 tables

de toute facon qd tu fais une intersection avec la fonction Intersects, la jointure se fera par les obj et pas par l'identifiant.

Voila un peu le type de requete après avoir créé ton tampon

Selection / Sélection SQL

Dans Table selectionner les tables : Table_Parcelle, Table_Tampon_Exploitation

Dans colonne tu peux laisser * pour selectionner ts les champs si non tu lui indiques les champs que tu veux

Dans Critéres tu prends Table_Parcelle.obj INTERSECTS Table_Tampon_Exploitation. obj


Tu peux donner un nom à ta requete et le tour est joué si j'ai bien compris.

Hors ligne

 

#5 Fri 05 May 2006 16:13

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

Re: intersection de 2 tables

je souhaiterais justement que l'intersection se fasse en fontion de l'identifiant car je souhaite que seul la surface d'intersection du groupe de parcelles correspondant au siège de l'exploitation soit calculée

Merci quand même et bonne journée

Nicolas VIGNON
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#6 Fri 05 May 2006 17:59

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

Re: intersection de 2 tables

rebonsoir,

Est ce que qq sait si cela est possible sous mapinfo ?

merci

Nicolas Vignon
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#7 Fri 05 May 2006 23:36

Damien BEAUSEIGNEUR
Participant assidu
Lieu: meyzieu
Date d'inscription: 5 Sep 2005
Messages: 425

Re: intersection de 2 tables

diophamidou a écrit:

Dans Critéres tu prends Table_Parcelle.obj INTERSECTS Table_Tampon_Exploitation. obj


AND table_parcelle.Id_exploitant = table_parcelle.id_exploitant
Il s'agit juste de rajouter la condition de jointure sur l'exploitant. Les conditions multiples sont valables.

Celà devrais suffire à ta demande.

Hors ligne

 

#8 Tue 09 May 2006 11:53

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

Re: intersection de 2 tables

Bonjour,

Merci pour votre aide,
j'avance mais après vérification des résultats obtenus par la requête écrite ci dessous, je me retrouve avec des valeurs erronées, j'ai donc commis une erreur qqpart....mais ou?

Select surf_EA_inf_1_km_du_siège.code_EA, areaoverlap ( surf_EA_inf_1_km_du_siège.obj , tampon_1_km_sièges_des_EA.obj ) from surf_EA_inf_1_km_du_siège, tampon_1_km_sièges_des_EA where surf_EA_inf_1_km_du_siège.obj intersects tampon_1_km_sièges_des_EA.obj and surf_EA_inf_1_km_du_siège.code_EA=tampon_1_km_sièges_des_EA.code_exploitant into selection
Browse * From Selection

Bonne journée,

Nicolas VIGNON
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#9 Tue 09 May 2006 12:13

Nicolas VIGNON
Participant actif
Lieu: Ceyras (34)
Date d'inscription: 5 Sep 2005
Messages: 118

Re: intersection de 2 tables

Ca marche !!!

le résultat était en mile carré Grrrrrrrrrrrr..
il faut le multiplier par 258.999 pour obtenir la surface d'intersection en hectare

@+

Nicolas VIGNON
tercia@texte-a-enlever.tercia.fr

Hors ligne

 

#10 Tue 09 May 2006 13:19

diophamidou
Participant assidu
Date d'inscription: 18 Jan 2006
Messages: 243

Re: intersection de 2 tables

Tu peux faire une mise à jour de ta collone pour cela :

Table/mettre à jour une colonne
- dans table à mettre à jour tu selectionne la table concernée
- dans utiliser une colonne de la table : tu reprends la mm table
-  Dans colonne à mettre à jour tu sélectionnes le champ ou tu as la superficie
- Dans valeur tu choisis expression puis Fonction --> Area tu remplaces "sq mi" par "hectare"
Je penses que  ca devrait marcher

Hors ligne

 

#11 Tue 09 May 2006 15:51

lagnion
Participant actif
Date d'inscription: 5 Sep 2005
Messages: 64

Re: intersection de 2 tables

il faut faire un set area units "hectare" dans la fenetre mapbasic avant de
faire la selection. (dans d'autres fonctions, l'unité est demandée dans la
syntaxe de la fonction, mais pas là!)


annick lagnion
DDE29

Hors ligne

 

Pied de page des forums

Powered by FluxBB