#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
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

