Pages: 1
- Sujet précédent - [ArcView 8.3] Convertir un point en centroide d'un polygone - Sujet suivant
#1 Mon 09 February 2004 03:36
- Flora Lokonadinpoulle
- Invité
[ArcView 8.3] Convertir un point en centroide d'un polygone
Bonjour,
Je travaille sous Arcview 8.3. Je cherche a creer des carrees dont le centroide correspondrait a un point.
Pour le moment j'ai essaye manuellement de deplacer chaque carre et de faire correspondre le centroide avec le point.
C'est pas tres precis et demande du temps.
Je ne trouve pas dans les aides a la saisie un outil qui correspond.
J'ai tente d'utiliser Xtool pro pour convertir un point en polygone.
Mais cet outil sert a convertir plusieurs points en un polygone.
Quelqu'un aurait-il un idee de la manip a suivre ?
Flora Lokonadinpoulle (VCAT AMAP)
IRD UMR AMAP
Cayenne
#2 Tue 10 February 2004 19:39
- Staupin
- Invité
Re: [ArcView 8.3] Convertir un point en centroide d'un polygone
De: sophie Taupin
salut Flora,
D'apres mon collegue, il existe une extension qui s'appelle SquareBuffer et qui permet de faire la manip que tu souhaites realiser. Pb: elle fonctionne sous AV 3.2 mais c'est une piste. Regarde toujours s'il n'existe pas la version pour ArcGis.
Bon courage
#3 Fri 28 January 2005 13:54
- Flora Lokonadinpoulle
- Invité
Re: [ArcView 8.3] Convertir un point en centroide d'un polygone
Bonjour,
1.Creer une zone tampon a partir de vos points avec un rayon 50 m de cote (outil>> creation de zone tampon)
2. Pour convertir de la zone tampon circulaire en carre, utiliser l'expression suivante pour cela.
* Ouvrir la table attributaire
* clic droit sur le champ shape et ouvrir la calculatrice dans la boite de dialogue de la calculatrice
* cocher la case avance
* copier/coller le code dans la partie Pre-logic
* dans la partie en dessous copier pPolygon
Les cercles se transforment en parcelles carres d'1 ha
Code:
Dim pMxDoc As IMxDocument
Dim pGeometry As IGeometry
Dim pMap As IMap
Dim pEnvelope As IEnvelope
Dim pPolygon As IPolygon
Dim pPointColl As IPointCollection
Dim pLL As IPoint
Dim pLR As IPoint
Dim pUL As IPoint
Dim pUR As IPoint
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
If (Not IsNull([Shape])) Then
Set pGeometry = [Shape]
If (Not pGeometry.IsEmpty) Then
Set pEnvelope = pGeometry.Envelope
Set pLL = pEnvelope.LowerLeft
Set pLR = pEnvelope.LowerRight
Set pUR = pEnvelope.UpperRight
Set pUL = pEnvelope.UpperLeft
Set pPointColl = New Polygon
pPointColl.AddPoint pLL
pPointColl.AddPoint pLR
pPointColl.AddPoint pUR
pPointColl.AddPoint pUL
Set pPolygon = pPointColl
End If
End If3. Le probleme avec ce code, trouve sur forum d'ESRI.com, est que les polygones ne sont pas correctement fermes.
Pour qu'il soit correctement ferme, je suis passee par EASY calculate
EasyCalculate 5.0 for ArcGIS sur http://www.ian-ko.com/
Ce programme permet de rajouter des outils.
J'ai utilise dans l'onglet polygon , l'outil clean polygon.
J'obtiens une nouvelle couche de polygones fermes.
C'est beaucoup d'etape, mais comme j'en ai eu besoin peu de fois, je n'ai pas cherche autres choses.
Cordialement,
Flora Lokonadinpoulle (VCAT SIG/Foret)
IRD
UMR AMAP
Cayenne
Bonjour Madame,
Je me permet de vous ecrire directement car j ai exactement le meme probleme que vous et je souhaitais savoir si vous aviez trouve une solution depuis.
Merci d avance pour votre reponse.
Meilleures salutations
Olivier Travaglini
#4 Mon 31 January 2005 12:13
- Julien RADOUX
- Invité
Re: [ArcView 8.3] Convertir un point en centroide d'un polygone
Bonjour,
En principe, il suffit d'ajouter ppolygon.close dans le code (voire insertion) pour regler ce probleme.
Bien a vous,
J Radoux
Code:
Dim pMxDoc As IMxDocument Dim pGeometry As IGeometry Dim pMap As IMap Dim pEnvelope As IEnvelope Dim pPolygon As IPolygon Dim pPointColl As IPointCollection Dim pLL As IPoint Dim pLR As IPoint Dim pUL As IPoint Dim pUR As IPoint Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap If (Not IsNull([Shape])) Then Set pGeometry = [Shape] If (Not pGeometry.IsEmpty) Then Set pEnvelope = pGeometry.Envelope Set pLL = pEnvelope.LowerLeft Set pLR = pEnvelope.LowerRight Set pUR = pEnvelope.UpperRight Set pUL = pEnvelope.UpperLeft Set pPointColl = New Polygon pPointColl.AddPoint pLL pPointColl.AddPoint pLR pPointColl.AddPoint pUR pPointColl.AddPoint pUL Set pPolygon = pPointColl pPolygon.Close 'insertion J Radoux End If End If
Research and teaching assistant
Environmetry and Geomatics
Department of Environmental Sciences
Universite catholique de Louvain
Belgium
Pages: 1
- Sujet précédent - [ArcView 8.3] Convertir un point en centroide d'un polygone - Sujet suivant


