Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 25 June 2010 10:38

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

[ARCGIS 9.3] Modeler et expression Visual Basic

Bonjour à tous,

J'ai un shapefile contenant des points et je cherche à calculer un nouveau field. Je l'ai rajouté avec addfield, le problème est avec calculate field.

J'ai déjà plusieurs champs dans mon shapefile.
GRIDCODE qui a pour valeur 1 ou 2.
ET X qui correspond à l'abcisse de mes points.
ET Y qui correspond à l'ordonnée.

Ce que je cherche à trouver sont 4 couples de points.
Le couple qui correspond au min de ET X, celui du min de ET Y, idem pour les maximums avec comme condition supplémentaire GRIDCODE qui vaut 2.

Je n'arrive pas à écrire la condition dans le modeler. J'espère que vous pourrez m'aider smile


Benoît,

Hors ligne

 

#2 Fri 25 June 2010 15:04

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Bonjour,

Comme çà, je ne vois qu'une solution :

1)Récapitulation (résumé statistiques) sur le champ gridcode avec les stats min et max sur Et_X et ET_Y
2)Jointure
3)Sélection des 4 cas (ET_X = MIN_ET_X AND GRIDCODE = 2) OR ((ET_Y = MIN_ET_Y AND GRIDCODE = 2)...
4) Export de la sélection (copier les entités)

Jérémie

Hors ligne

 

#3 Fri 25 June 2010 16:09

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

J'ai réussi à séparer mon shapefile suivant l'indice de GRIDCODE. Du coup j'ai 2 shapefile et il ne me reste plus qu'à faire une recherche sur celui qui correspond à 1. Pour le résumé statistique, j'ai quelques problèmes. Supposons que je cherche le point qui correspond au Xmin. En faisant la recherche de minimum sur ET_x, j'obtiendrai la valeur de Xmin mais pas celle du Y associée a ce point. Et c'est justement ces deux coordonnées qui m'intéressent. Je ne sais pas si je suis suffisamment clair, alors n'hésite pas à me le dire si ce n'est pas le cas.

Benoît

Hors ligne

 

#4 Fri 25 June 2010 16:23

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Bonjour,

Dans mon raisonnement, tu calcules juste les valeurs extrêmes avec le résumé statistiques.
Ce n'est que dans la sélection (mon point 4) que tu récupères les points correspondant.

Jérémie

Hors ligne

 

#5 Fri 25 June 2010 17:12

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Pourrais-tu expliciter davantage tes différents points car je suis un peu perdu....

Benoît

Hors ligne

 

#6 Fri 25 June 2010 17:41

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

1) Tu fais un résumé statistique sur ta couche en mettant champ de récapitulation GRIDCODE et statistiques sur ET_X min et max ainsi que sur ET_Y min et max.
2) tu joins par le GRIDCODE cette table résultat à ta couche de départ obtenant ainsi 4 champs supplémentaires dans la table : les min et max en x et en y
3) Tu fais une sélection des points dont le X = Xmin ou Xmax ou Y = Ymin ou Ymax
==> Tu devrais obtenir 4 points

Hors ligne

 

#7 Mon 28 June 2010 09:37

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Rebonjour,

J'espère que tu as passé un bon week-end.
Concernant ta petite procédure, j'ai un soucis pour la dernière étape. Il existe plusieurs types de selection.
Table selection ou selection. Le problème c'est que les fields, min ET X, min ET Y, max ETX, max ET Y n'apparaissent pas dans les attributs pour que je les rentre en expression. Pourtant je les ai bien rajoutés (ils apparaissent dans ma table des attributs...)
Bizarre non ?

Hors ligne

 

#8 Mon 28 June 2010 09:55

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

En fait c'est le join qui ne marche pas top.
Je m'explique, quand dans arcmap, je fais clique droit sur mon shapefile, joins. Je remplis les champs comme il faut et ça m'ajoute bien 4 colonnes avec Xmin, Xmax, Ymin, Ymax dans ma table des attributs. La où ça se complique , c'est que l'ajout n'est que temporaire, en effet si je retire le shapefile de arcmap puis que je le remet. Les fields que j'avais joins auparavant ont "disparu". Du coup la selection est impossible. Les fields apparaissent dans arcmap mais pas dans arcatalogue.....

Hors ligne

 

#9 Mon 28 June 2010 11:37

Cornet Jérémie
Participant assidu
Lieu: Nouméa
Date d'inscription: 6 Apr 2008
Messages: 229

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Bonjour,
la jointure est une opération qui fait le lien entre 2 tables mais en effet pas de manière permanente. C'est une opération stockée dans le document arcmap (mxd).
Tu fais bien un  Model Builder ?
En tout cas, il faudra configurer certaines "variables d'environnement" pour bien gérer ta sélection.

Hors ligne

 

#10 Mon 28 June 2010 12:17

BenoitL
Participant occasionnel
Date d'inscription: 17 Jun 2010
Messages: 32

Re: [ARCGIS 9.3] Modeler et expression Visual Basic

Ca marche ^^. Merci beaucoup pour ta patience et tes idées.

J'ai du exporter le shapefile (une fois la jointure réalisée) et c'est ok.

J'ai juste deux "problèmes" à régler.
Je dois réaliser deux opérations manuellement.
La transformation de polygon to point via un module de ET Geowizards (toolbox supplémentaire)
L'export une fois la jointure réalisée.
J'aimerai m'en affranchir.

Je veux donner à mon modèle cette forme :
1 INPOUT du type ratser
2 OUTPOUT de type shapefile. L'un avec les 4 points, l'autre avec les polygones de " l'emprise réelle "

Je pense qu'il va falloir que je passe par des lignes de commande. Au final j'aimerai aboutir sur une toolbox, qui puisse se lancer sur un répertoire contenant des rasters et créant 2 shapefile pour chaque raster.

Hors ligne

 

Pied de page des forums

Powered by FluxBB