#1 Mon 14 June 2004 09:49
- Olivier Thiebaut
- Invité
Un debutant qui lutte avec AreaOverlap
Bonjour,
Voila mon probleme :
- J'ai deux couches : les communes du territoire du PNR Morvan (dont la donnee de surface en ha), et les donnees IFN sur chacun de mes 4 departements (qui me donne des surfaces d'occupation du sol en m², selon une typologie de peuplement forestier).
- Mon but est d'avoir le taux de boisement par commune. Autrement dit, je cherche a faire apparaitre pour chaque commune la surface occupee par la foret, toute formation forestiere confondue. Soit pour les donnees IFN, un cumul des surfaces pour les typoligie codees 1 a 6, et ce avec un decoupage par commune.
J'utilise donc la fonction areaoverlap() , mais je n'arrive pas a mon resultat. Je precise bien intersects dans la condition de jointure geographique entre les tables communes et donneesIFN.
J'ai essaye en extrayant des donnees IFN uniquement les enregistrements des typologies 1 a 6 : pas mieux.
En fait, je crois que le probleme vient de ma clause de selection : any in. En effet, je suppose qu'il fait le calcul sur une des valeurs de la liste, et non la somme des valeurs de cette liste (qui indique les codes typologies concernes).
J'ai une piste en me disant qu'il faudrait lui faire faire la somme des surfaces pour les typologies 1 a 6, puis un decoupage communal, ou l'inverse, mais je ne sais pas comment m'y prendre.
J'ai bien pense a utiliser l'outil cutter, mais pour 106 communes, c'est un peu rebarbatif.
Pourriez vous m'aider dans mon impasse ?
Pour info, le contenu de mon fichier .qry :
Fields {Communes_PNRM_juin04.NOM, (((areaoverlap(Communes_PNRM_juin04.obj,DonnesIFN21.obj))/(Communes_PNRM_juin04.SURFACE/100))*100) bois }
Tables {Communes_PNRM_juin04, DonnesIFN21}
Where {Communes_PNRM_juin04.obj Intersects any (select Obj from DonnesIFN21 where TN_CODE in(1, 2, 3, 4, 5, 6))}
Group {Communes_PNRM_juin04.NOM}
Order {Communes_PNRM_juin04.NOM}
Into {Pourcentage_bois}
Browse
Pour aller plus loin, je veux ensuite faire apparaitre le taux de resineux par commune. Donc idem, sur une selection de codes typologie differents.
En vous remerciant par avance.
Cordialement.
#2 Mon 14 June 2004 13:39
- Benoit Journeau
- Invité
Re: Un debutant qui lutte avec AreaOverlap
Bonjour,
a votre place je n'utiliserais pas areaoverlap, je crois que la methode du calcul de la superficie de recouvrement se fait en spherique et je pense que vous etes en cartesien.
utilisez la fonction proportionoverlap (proportion de recouvrement) qui fonctionne pareil mais donne une part de recouvrement a multiplier avec votre superficie de depart.
et qui reste plus simple que (((areaoverlap(Communes_PNRM_juin04.obj,DonnesIFN21.obj))/(Communes_PNRM_juin04.SURFACE/100))*100)
cordialement