Pages: 1
- Sujet précédent - Calculer des champs identiques sur plusieurs classes d'entités - Sujet suivant
#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
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
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
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
Pages: 1
- Sujet précédent - Calculer des champs identiques sur plusieurs classes d'entités - Sujet suivant