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 Wed 15 December 2010 17:35

irishfrog
Juste Inscrit !
Date d'inscription: 10 Dec 2009
Messages: 3

Calculer des champs identiques sur plusieurs classes d'entités

Bonjour à vous :

J'aimerai développé un script vba sur ArcMap 9.3.

Le but serait de faire une sélection sur plusieurs classes d'entités comportant toutes un champ identique ("Num_RUE") et en utilisant un UI control, j'aimerai qu'une InputBox apparaissent et me demande la valeur de ce champ pour les entités sélectionnées. Et bien sûr qu'il calcule automatiquement cette valeur.

J'ai tenté en utilisant les models builder mais en s'executant, il me demande la valeur pour à chaque entité...

Bref mes connaissances étant limitées, un peu d'aide serait la bienvenue.

Merci d'avance

Hors ligne

 

#2 Wed 15 December 2010 17:40

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Calculer des champs identiques sur plusieurs classes d'entités

Si j'ose traduire...

Tu veux définir le champ "Num_RUE" par une valeur fixe pour toutes les entités sélectionnées en sachant que :
- La sélection porte sur plusieurs couches
- Toutes les couches sélectionnées ont le champ "Num_RUE"


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#3 Wed 15 December 2010 18:33

irishfrog
Juste Inscrit !
Date d'inscription: 10 Dec 2009
Messages: 3

Re: Calculer des champs identiques sur plusieurs classes d'entités

Tu fais bien... Oui c'est ça. Bref en simplifiant comme ça, on devrait y arriver!

Le champ "num_RUE" correspond à l'identifiant de la table "Rue" possédant comme clé primaire '"ID_RUE"... Sous Access ça me permet d'appeler les éléments de la rue pour consultation.

Le problème c'est que je saisi mes données (entités) à l'aide du logiciel ArcPad et non pas dans un formulaire RUE Access qui m'incrémenterait ça automatiquement!

Pas sûr que cette explication soit plus simple, mais si ça peut aider à comprendre.

Hors ligne

 

#4 Wed 15 December 2010 19:05

Jeirhome
Membre
Lieu: Liverion
Date d'inscription: 22 Aug 2006
Messages: 4298
Site web

Re: Calculer des champs identiques sur plusieurs classes d'entités

Tu souhaites remplir la clef étrangère correspondant à l'identifiant de la rue à laquelle appartient chacun de tes éléments sélectionnés alors que tes éléments appartiennent à différentes couches !

Partir de zéro en VBA, ça se fait, mais ça demande une formation, en autodidacte ou chez un formateur, mais en tout cas c'est un grand pas par rapport au ModelBuilder !!!

Avant d'entamer le VBA, on va essayer de contourner le problème.


Je ne connais pas la structure du fichier de rue, mais des jointures spatiales ne serait-il pas plus pertinent ? Tu fais une jointure spatiale par couche, mais tous les identifiants de rue sont mis à jour en même temps, intéressant non ? Comment tu sélectionnes tes données, comment tu identifies ta rue ? Je pense qu'au final te créer une couche rue t'évitera de sélectionner tous les éléments appartenant à chaque rue. C'est à peu près équivalent si tu ne le fais qu'une fois, mais après c'est rentabilisé, et dans tous les cas tu le fais sans sortir du VBA smile


Par ailleurs je ne connais pas tous les tenants et aboutissants mais j'ai l'impression qu'avec une Geodatabase et ArcPad tu peux avoir l'équivalent de ton formulaire Access lors de la saisie de tes données !


Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !

Hors ligne

 

#5 Wed 15 December 2010 21:38

irishfrog
Juste Inscrit !
Date d'inscription: 10 Dec 2009
Messages: 3

Re: Calculer des champs identiques sur plusieurs classes d'entités

J'ai quelques notions de vba sur access mais pas sur arcgis, si ça peut aider... Je ne pense pas pouvoir faire une jointure spatiale car pour cela il faudrait créer les rues ou se servir d'une classe d'entités "rue" que je ne possède pas (et elles sont nombreuses)...

Je travaille sur l'accessibilité des personnes à mobilité réduite et la société dans laquelle je travaille établi des diagnostics voirie. En gros cela consiste à recenser toutes les non-conformités sur les espaces pour piétons (entendre trottoirs). Les classes d'entités que j'ai créé correspondent aux différentes non-conformités : obstacles sur cheminement - grille trou fente - pente - escaliers... en bref 22 classes d'entités toutes rappelées dans access par le champ "num_RUE" appartenant à la table RUE créé spécialement pour... Les différentes entités sont géolocalisés en utilisant l'ortho et tout autre fond de carte utile, mais elles ne sont pas accrochées à d'autres entités ni sur un linéaire routier quelconque...

La méthode de sélection est manuelle... on sélectionne toutes les entités de toutes les couches se situant dans une rue puis on calcule le champ num_Rue de chaque classe.

La méthode est fastidieuse... d'où ce post ^^

En tt cas merci pour ta réactivité!

Dernière modification par irishfrog (Thu 16 December 2010 09:15)

Hors ligne

 

Pied de page des forums

Powered by FluxBB