#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 SubPrière de bien vouloir me donner votre avis.
Cordialement.
Hors ligne


