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

Printemps des cartes 2024

#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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

 

Pied de page des forums

Powered by FluxBB