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 30 March 2012 11:26

SIGogne
Participant occasionnel
Date d'inscription: 3 Oct 2011
Messages: 19

selection forme avec SQL

Bonjour

Désolé de vous demander de me consacrer un peu de votre temps.

Pour les besoin de mon stage, je suis amené à travaillé avec les données du registre parcellaire graphique dont les informations sont divisées en trois tables.

La première table contient toutes les parcelles pour un département donné (1 identifiant par parcelle), la table 2 (simple fichier open calc) donne des informations sur les différentes cultures présentes sur la parcelle. Ainsi une parcelles avec x culture verra son identifiant répété x fois dans la table.

Après avoir découpé sous arcgis le fichier de forme de la table 1 avec les contours de ma zone d'étude, je voudrais sélectionner les parcelles avec une seule culture. Pour cela, j'ai fait l'opération sous postgreSQL avec la table 2. Ainsi, j'obtiens, après export, un nouveaux dbf contenant les identifiants parcelles à une culture pour le territoire concerné (table 3).

Ce que je n'arrive pas à obtenir, même après requête c'est un fichier de forme sous arcgis ne contenant que les parcelles à une culture pour le territoire concerné. J'ai essayé sous arcgis de faire un requête attributaire sur la couche à partir d'un fichier dbf de la table 2 mais ça semble impossible. Mais, je serai étonné que ce soit vrai.

J'ai essayé sous map info avec une requête :
SELECT * FROM parcelle_2008, parcelle_on WHERE id_ilot = num_ilot;
Mais sans résultat

Quelqu'un à une idée ? Je pensais rajouter sous postgreSQL une colonne à ma table 1 mais ce serait moins top

Cordialement

SIGogne

Hors ligne

 

#2 Mon 02 April 2012 15:54

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

Re: selection forme avec SQL

Bonjour,

Si je récapitules :
- Un shapefile avec les parcelles (table 1)
- Un tableau avec les différentes cultures des parcelles (table 2). Il y a donc une relation (1,n) entre la table 1 et la table 2
- Un DBF avec les parcelles qui ont qu'un culture (table 3). Il y a donc une relation (1,1) entre la table 1 et la table 3
Cette table 3 est le résultat d'un traitement sur la table 2 permettant d'extraire les parcelles qui ont qu'une culture. Ce traitement était aussi possible avec ArcGIS : http://webhelp.esri.com/arcgisdesktop/9 … nalysis%29

Avec ces tables, il faut obtenir un shapefile contenant que les parcelles avec une seule culture.
Il me semble qu'il suffit de faire une jointure entre la table 1 et la table 3 : http://webhelp.esri.com/arcgisdesktop/9 … ing_tables

Est-ce que j'ai bien compris ?

A+

Franck

PS : Quelle version d'ArcGIS utilisée vous (9.3, 10, 10.1...) ? Quelle niveau de licences (ArcView, ArcEditor, ArcInfo) ?
PPS : Les sous-requêtes SQL ne sont possibles que si toutes les données sont regroupées dans une géodatabase.

Hors ligne

 

#3 Mon 02 April 2012 18:05

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

Re: selection forme avec SQL

Bonjour, suite aux infos postées par Franck, voici la démarche:

- S'assurer que tout est dans une "File Geodatabase" (désolé, mon ArcGIS est en anglais)
- Utiliser la requête suivante:

SELECT * FROM shapeParcelles WHERE "id_parcelle" IN (SELECT "id_parcelle_culture" FROM table3)

Hors ligne

 

#4 Tue 03 April 2012 09:11

IceTea
Juste Inscrit !
Date d'inscription: 22 Feb 2012
Messages: 4

Re: selection forme avec SQL

Bonjour,

[mon msg d'avant s'est révélé inexacte, dsl]


Un tableau croisé dynamique te permet après un tri  de connaitre les parcelles avec 1 culture.
Une jointure selon ID parcelle te permettrait d'obtenir ce que tu souhaites.

Icetea

Dernière modification par IceTea (Thu 05 April 2012 14:15)

Hors ligne

 

Pied de page des forums

Powered by FluxBB