#1 Sat 19 May 2012 21:38
- hedda
- Juste Inscrit !
- Date d'inscription: 19 May 2012
- Messages: 8
ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonjour tout le monde,
Dans le cadre de mon projet de fin d'étude, j'ai à réaliser une application en VBA sous Arcgis. L'objectif de cette application est d'établir le lien entre les différents Layers de mon projet ArcMap. Par cette liaison, si par exemple un utilisateur clique sur un point dans l'environnement ArcMap il aura comme résultat des fenêtres représentant des zooms des différents Layers de la même zone (ou' l'utilisateur a cliqué).
Si vous pourriez m'aider si vous avez une idée je serai très reconnaissante.
merci d'avance
Dernière modification par hedda (Sat 19 May 2012 23:56)
Hors ligne
#2 Mon 21 May 2012 19:36
- Squid
- Participant actif
- Date d'inscription: 2 Apr 2010
- Messages: 109
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonsoir,
Sous quel version d'ArcGis êtes vous?
Si c'est la 10, il faut demander à Esri la possibilité d'y accéder via une installation.
Squid
Hors ligne
#3 Mon 21 May 2012 20:25
- geodev
- Participant occasionnel
- Date d'inscription: 19 May 2012
- Messages: 12
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Sans vouloir paraitre péremptoire, il me semble que cette application ne nécessite pas énormément de travail. Récupérer le clic de souris, déterminer les couches en question et afficher des zooms dans des fenêtres séparées sont des opérations simples à réaliser en VBA sous ArcGIS. Il faut juste prendre le temps de lire les diagrammes UML fournis avec la documentation et écrire le code en conséquence.
Hors ligne
#4 Tue 22 May 2012 00:20
- hedda
- Juste Inscrit !
- Date d'inscription: 19 May 2012
- Messages: 8
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonsoir,
A titre d'info je travaille sous ArcGis 9.3.
Merci Geodev, mais le problème c'est que je suis débutante en VBA sous ArcGis et que ma demande est urgente: j'ai pas beaucoup du temps pour apprendre ce langage. En fait en survolant ce forum, j'ai trouvé des exemples des codes mais qui traitent des entités vecteur, alors que moi je travaille avec des données en raster. j'ai comme données:
- 2 mosaiques d'orthophoto de deux années différentes,
-une carte de changement.
Mon objectif est de pouvoir afficher des petites fenêtres des deux orthos représentant la zone où l'utilisateur a cliqué lui permettant de connaitre la nature de changement.
Si quelqu'un pouvait m'aider,
Merci d'avance.
Hors ligne
#5 Tue 22 May 2012 09:34
- KapaopangoBZH
- Participant occasionnel
- Lieu: Angers
- Date d'inscription: 27 Dec 2007
- Messages: 13
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonjour (et bienvenue), je te conseille d'aller lire le document suivant qui est très enrichisssant. Pour ma part c'est avec celui ci que j'ai débuté.
http://www.kaledonie.com/docs/CourArcGISVBA.pdf
En plus d'écumer les posts de ce forum, je te conseille également d'aller sur le forum sig (http://www.forumsig.org/) il y a une section programmation ESRI... qui est assez riche et les sigistes sont très réactifs... Voilà bon courage!!!
Dernière modification par KapaopangoBZH (Tue 22 May 2012 09:41)
Hors ligne
#6 Tue 22 May 2012 10:48
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Dans le cadre de mon projet de fin d'étude, j'ai à réaliser une application en VBA sous Arcgis
Si je puis me permettre, il serait plus judicieux d'apprendre le python (tant qu'à faire), vu que le VBA va disparaître d'Arcgis...
Hors ligne
#7 Tue 22 May 2012 19:35
- geodev
- Participant occasionnel
- Date d'inscription: 19 May 2012
- Messages: 12
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Un projet de fin d'étude est forcément dimensionné pour laisser le temps aux étudiants d'acquérir les compétences nécessaires à leur projet, du moins j'espere.
ET comme l'indique Robin, Le VBA est désuet dans le contexte ESRI. Le python s'impose(ra) de manière naturelle
Hors ligne
#8 Tue 22 May 2012 22:34
- hedda
- Juste Inscrit !
- Date d'inscription: 19 May 2012
- Messages: 8
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonsoir,
Merci Geodev, je s tout à fait d'accord avec vous, juste qu'en dernier lieu que j'ai prévu de réaliser cette application qui n'est qu'un outil de visualisation de résultat de la détection de changement qui constitue le corps du mon Projet. Pour le python, je pense qu'il va me demander assez du temps que le VBA.
Hors ligne
#9 Sat 18 June 2016 11:58
- Ayouta
- Juste Inscrit !
- Date d'inscription: 18 Jun 2016
- Messages: 1
Re: ArcGis 9.3 - Programmation en VBA sous ArcGis
Bonjour,
J'ai besoin de votre aide concernant mon mémoire du master ,plus précisément ,sur la manipulation des codes VBa pour le développement des outils SIG.
En effet, j'ai un problème de jointure de deux tables ( la table attributaire d’un shapefile et un tableau Excel). Au début, il me semble que la jointure marche à merveille.
Mais, après j'ai constaté que cette dernière c'est fait virtuellement, car la lisibilité des champs jointés n’est pas accessible.
voici le code VBa avec lequel, j’ai réussi à la fois de faire cette jointure dite « virtuelle » ainsi que de tester le contenu des champs sélectionnés de ma table attributaire.
Code:
Private Sub jointure_Click() MsgBox "jointure 1" 'Jointure ' Part 1: Define the feature cReportlass. Dim pMxDoc As IMxDocument Dim pMap As IMap Dim pFeatureLayer As IFeatureLayer Dim pFeatureClass As IFeatureClass Set pMxDoc = ThisDocument Set pMap = pMxDoc.FocusMap Set pFeatureLayer = pMap.Layer(0) Set pFeatureClass = pFeatureLayer.FeatureClass ' Part 2: Define the table to be joined. Dim pTabCollection As IStandaloneTableCollection Dim pStTable As IStandaloneTable Dim pFromTable As ITable Set pTabCollection = pMap Set pStTable = pTabCollection.StandaloneTable(0) Set pFromTable = pStTable.Table ' Part 3: Join the table to the feature class. Dim strJnField As String Dim pMemRelFact As IMemoryRelationshipClassFactory Dim pRelClass As IRelationshipClass Dim pDispRC As IDisplayRelationshipClass ' Prompt for the join field. strJnField = "CODE" ' Create a memory relationship class. Set pMemRelFact = New MemoryRelationshipClassFactory Set pRelClass = pMemRelFact.Open("TableToLayer", pFromTable, strJnField, pFeatureClass, _ strJnField, "wp", "wpdata", esriRelCardinalityOneToOne) ' Perform a join. Set pDispRC = pFeatureLayer pDispRC.DisplayRelationshipClass pRelClass, esriLeftOuterJoin MsgBox " fin jointure " Call Aya_devis End Sub Private Sub Aya_devis() MsgBox "Aya" Dim pMxDoc As IMxDocument Dim pFeatureLayer As IFeatureLayer Dim pFeatureSelection As IFeatureSelection Dim pSelectionSet As ISelectionSet Dim pFeatureCursor As IFeatureCursor Dim pFeature1 As IFeature Dim pFeature2 As IFeature Dim pFeature3 As IFeature Set pMxDoc = ThisDocument Set pFeatureLayer = pMxDoc.FocusMap.Layer(0) Set pFeatureSelection = pFeatureLayer Set pSelectionSet = pFeatureSelection.SelectionSet pSelectionSet.Search Nothing, False, pFeatureCursor Set pFeature1 = pFeatureCursor.NextFeature Do While Not pFeature1 Is Nothing MsgBox pFeature1.Value(9) Set pFeature1 = pFeatureCursor.NextFeature Loop End Sub
Prière de bien vouloir me donner votre avis.
Cordialement.
Hors ligne