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

 

#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

 

Pied de page des forums

Powered by FluxBB