#1 Mon 02 May 2005 13:49
- Laurent Cazals
- Invité
surface nette - surface totale
De: laurent
bonjour a tous. j'ai besoin de calculer la surface de polygones avec ArcMap. mais certains polygones sont troues et je n'arrive pas a obtenir la surface totale (polygone + trou). autrement dit, je n'arrive a calculer que la surface nette, ce qui ne me suffit pas. qui peut m'aider ?? merci
#2 Tue 10 May 2005 12:02
- Gaëtan LAVENU
- Invité
Re: surface nette - surface totale
Bonjour,
On peut obtenir la surface nette d'un polygone avec la formule suivante :
(a mettre dans la calculatrice avec l'option avance )
Dim pArea as IArea
Set pArea = [Shape]
Dim pSurf as Double
pSurf = pArea.area
(Mettre pSurf comme valeur de votre champ)
On peut obtenir la surface totale (polygone + superficie des trous) avec
la formule suivante :
(a mettre dans la calculatrice avec l'option avance )
Dim pArea as IArea
Set pArea = [Shape]
Dim pGeoColl as IGeometryCollection
Set pGeoColl = [Shape]
Dim pRing as IRing
Dim i as Integer
Dim SurfTrou as Double
SurfTrou=0
For i =0 to pGeoColl.GeometryCount-1
Set pRing = pGeoColl.Geometry(i)
Dim pSourceObj as IClone
Dim pDestObj as IClone
Set pSourceObj = pRing
Set pDestObj = pSourceObj .Clone
Set pRing = pDestObj
If pRing.IsExterior = False then
pRing.ReverseOrientation
Dim pAreaTrou as IArea
Set pAreaTrou = pRing
SurfTrou=SurfTrou + pAreaTrou.area
End if
Next i
Dim pSurf as Double
pSurf = pArea.area + SurfTrou
(Mettre pSurf comme valeur de votre champ)
En esperant que cela vous aide...
Cordialement,
Gaetan LAVENU