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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#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

 

Pied de page des forums

Powered by FluxBB