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 Thu 04 November 2010 10:38

apedemay001
Participant occasionnel
Date d'inscription: 22 Oct 2009
Messages: 17

ArcView 9.2 - Coordonnées Y centroïde

Bonjour

Je dispose d'une couche de polygones dont je souhaite obtenir les coordonnées (X;Y). Je crée donc mes champs en réel double (10 et 4 pour la longueur et les décimales) et tente de les renseigner: pour les X cela marche parfaitement, mais pour les Y les données sont erronées (il manque les décimales, le reste a l'air correct).

Je travaille sur ArcView 9.2.
J'ai testé le calcul des X dans le champ Y (pour vérifier la validité du champ) cela fonctionne.
J'ai testé la fonction entités vers centroïdes dans X.tools : message d'erreur.
J'ai essayé de rentrer la formule suivante dans la boîte de dialogue sous Arc.Info (c'est la formule de l'aide...) :

Code:

Dim Output As Double

Dim pArea As IArea

Set pArea = [Shape]

Output = pArea.Centroid.X

Encore une fois cela marche très bien pour les X et lorsque je remplace "X" par "Y" dans la formule : nouveau message d'erreur...

Merci d'avance pour vos conseils.
Cordialement.

Hors ligne

 

#2 Thu 04 November 2010 15:57

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: ArcView 9.2 - Coordonnées Y centroïde

Salut,

Dans la calculette Esri mettre ceci:

Code:

Dim pArea as IArea
Dim pPoint as IPoint
Dim dblY as Double
Set pArea = [Shape]
Set pPoint = pArea.Centroid
dblY = pPoint.Y

Dans le champs en dessous intitulé --> Ton_Champs=   mettre ---> dblY
Pour plus d'explications --> http://support.esrifrance.fr/index.asp? … tries.html
A+
Joël

Hors ligne

 

#3 Fri 05 November 2010 13:18

apedemay001
Participant occasionnel
Date d'inscription: 22 Oct 2009
Messages: 17

Re: ArcView 9.2 - Coordonnées Y centroïde

Ca marche!!! Merci Joël! big_smile

Pour info on m'a refilé un autre code qui fonctionne aussi

Code:

Dim pMxDoc As IMxDocument
Dim pGeometry As IGeometry
Dim pMap As IMap
Dim pArea As IArea
Dim pCenter As IPoint
Dim dYCenter As Double
Set pMxDoc = ThisDocument
Set pMap = pMxDoc.FocusMap
If (Not IsNull([Shape])) Then
Set pGeometry = [Shape]
If (Not pGeometry.IsEmpty) Then
pGeometry.Project pMap.SpatialReference
Set pArea = pGeometry
Set pCenter = pArea.Centroid
dYCenter = pCenter.Y
End If
End If

Il est plus long mais certaines lignes sont communes, quelles sont les différences?
Remarque: J'ai du re-créer mon champ (à l'identique) pour ne plus avoir le message d'erreur, bizarre... une explication?

Dernière modification par apedemay001 (Fri 05 November 2010 13:19)

Hors ligne

 

#4 Fri 05 November 2010 13:34

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: ArcView 9.2 - Coordonnées Y centroïde

Salut,

Que veux tu dire par là :

Remarque: J'ai du re-créer mon champ (à l'identique) pour ne plus avoir le message d'erreur, bizarre... une explication?


Pour les différences --> je vois deux tests pour voir si le shape rentré contient bien des entités et si le shape rentré existe bel et bien.
Ensuite je suppose qu'il y à voir avec les références spatiales ainsi que le focus de la carte wink
Le code me parait plus complet mais je ne suis pas non plus un expert en Vbscript.
A+
Joël

Hors ligne

 

#5 Fri 05 November 2010 16:40

apedemay001
Participant occasionnel
Date d'inscription: 22 Oct 2009
Messages: 17

Re: ArcView 9.2 - Coordonnées Y centroïde

Eh bien en fait lorsque je rentrais les formules (l'une ou l'autre) dans la calculete, j'obtenais un message d'erreur du genre 'erreur du script VBA user interrupt'.
Ayant déjà eu des bizareries simmilaires j'ai supprimé le champ en question, je l'ai re-crée avec les même caractéristiques et 'oh miracle ça marche...' Est-il possible que le champ ait été "vérolé" à cause d'un script inadéquat?

Sinon connais tu des tutoriaux abordables en ligne pour commencer a comprendre comment marche le VBA?

Bonne soirée.
Aurélien.

Hors ligne

 

#6 Sun 07 November 2010 16:40

mame1985
Participant assidu
Lieu: Montréal
Date d'inscription: 16 Oct 2010
Messages: 444

Re: ArcView 9.2 - Coordonnées Y centroïde

je fais toujours le mm code mais ça marche bien:

Code:

dans le prologic vb
dim output as double 
dim parea as iarea 
set parea=[shape]
output = parea.centroid.X

et dans la partie en bas
le nom du champ
= output
pour le champ latitude du remplace X par Y
pour les deux champ se sont tous des des champs double (uniquement)


Mame

Hors ligne

 

#7 Tue 23 November 2010 10:55

Vans91
Juste Inscrit !
Date d'inscription: 21 Jul 2007
Messages: 6

Re: ArcView 9.2 - Coordonnées Y centroïde

Bonjour,

J'ai un problème similaire pour calculer les coordonnées x et y de polyligne sous arcinfo.
1-J'ai essayé avec le calcul de géométrie directement sur la couche, mais les résultats que me donne le logiciel sont arrondis et lorsque je crée la couche de point de debut et de fin de lignes, les points se situent parfois à 500m de l'extrémité de ma polyligne.
-2 dans un second temps, j'ai voulu utiliser les outils esrifrance de calcul et etwizard par le calcul de valeurs. Mais j'obtiens un message d'erreur du même type que apedemay001 et même en recréant le champ, j'obtiens tjs le même message.
Pour ma colonne, j'ai choisi un réel double avec 4 décimales.

Mon but final est de calculer les altitudes au debut et à la fin de chaque polyligne (cours d'eau) puis de calculer la pente et les bassins versants.
Si quelqu'un a rencontré les mêmes problèmes que moi et a trouvé une réponse, je suis preneuse.

Merci


Vanessa Demougin

Hors ligne

 

Pied de page des forums

Powered by FluxBB