#1 Wed 02 March 2005 16:01
- M'Hamedi, Myriam
- Invité
emprise polygone
bonjour,
n'ayant pas obtenu la reponse chez Esri, je me confie a la matiere grise du
georezo.
Je souhaite obtenir (avec ArcGIS 8.3) les minx miny maxx et maxy pour chaque
polygone d'un fichier shp.
Quelqu'un aurait-il une idee?
merci.
Myriam M'HAMEDI
Administratrice SIG
Conseil General des Hautes-Pyrenees
#2 Wed 02 March 2005 16:45
- Jules Fleury
- Invité
Re: emprise polygone
bonjour,
dans la calculatrice, par exemple pour le maxX, copiez ca (mode vba) et
rentrez XMax dans la ligne de resultat :
Dim pGeometry As IGeometry
Dim pEnvelope As IEnvelope
Dim XMax As Double
If (Not IsNull([Shape])) Then
Set pGeometry = [Shape]
If (Not pGeometry.IsEmpty) Then
Set pEnvelope = pGeometry.Envelope
XMax = pEnvelope.UpperRight.X
End If
End If
faire pareil pour les autres sauf que pour minX, c'est .LowerLeft.X,
pour maxY c'est .UpperRight.Y, pour minY c'est .LowerLeft.Y
vous trouverez toutes ces expressions deja programmees dans
EasyCalculate sur le site http://www.ian-ko.com/
cordialement,
jules fleury
#3 Wed 02 March 2005 16:45
- Loic Donot
- Invité
Re: emprise polygone
Bonjour,
Pour calculer ces valeurs, tapez dans la calculatrice en mode avance :
Dim pGeom as IGeometry
Dim resultat as Double
Set pGeom = [Shape]
resultat = pGeom.Envelope.XMAX
et resultat dans le controle tout en bas.
ensuite remplacez pGeom.Envelope.XMAX par pGeom.Envelope.XMIN puis
pGeom.Envelope.YMAX et enfin pGeom.Envelope.YMIN
Voila.
#4 Wed 02 March 2005 16:45
- Dcray
- Invité
Re: emprise polygone
Allez ici ...
http://forums.esri.com/Thread.asp?c=93& … 400#323784
Duncan RAY
#5 Wed 02 March 2005 17:03
- Furai Fantasy
- Invité
Re: emprise polygone
De: furai
voila un code qui permet d'afficher les emprises des entites dans la fenetre de debogage du module VBA
furai
code :
Option Explicit
Sub Main()
Dim fc As IFeatureClass
Dim pl As ILayer
Dim pfl As IFeatureLayer
Dim pmd As IMxDocument
Set pmd = ThisDocument
Set pl = pmd.FocusMap.Layer(0)
Set pfl = pl 'qi
Set fc = pfl.FeatureClass
Dim f As IFeature
Dim i As Long
Dim ex As IEnvelope
For i = 0 To fc.FeatureCount(Nothing) - 1
Set f = fc.GetFeature(i)
Set ex = f.Extent
Debug.Print ex.XMax, ex.YMax, ex.XMin, ex.YMin
Next i
End Sub
#6 Wed 02 March 2005 23:02
- M'Hamedi, Myriam
- Invité
Re: emprise polygone
Merci a tous ceux qui m'ont repondu.
Pour ne pas froisser la susceptibilite du support ESRI, je tiens a proceder
a un petit rectificatif (a leur demande) :
le support m'avait annonce par telephone qu'il fallait passer par l'ecriture
d'un script, ce qu'ils n'ont pas vocation a faire d'ou mon appel a
contribution sur le forum.
Myriam M'HAMEDI