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 If
3. 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