ebook img

Introduction à la programmation en VBA sur ArcGIS PDF

101 Pages·2014·2 MB·French
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Introduction à la programmation en VBA sur ArcGIS

Introduction à la programmation en VBA sur ArcGIS ÉCOLE NATIONALE DES SCIENCES GÉOGRAPHIQUES Centre d' Etudes et de Recherches en SIG (CERSIG) 6 et 8 avenue Blaise Pascal - Cité Descartes - Champs-sur-Marne - 77455 MARNE LA VALLÉE CEDEX 2 Télephone 01 64 15 31 83 Télécopie 01 64 15 31 07 - maill : [email protected] Juillet 2003 – v1.0 Sommaire Sommaire 1. INTRODUCTION.................................................................................................................................7 2. PERSONNALISATION DE L'INTERFACE : INTRODUCTION..................................................9 2.1. LA BOITE PERSONNALISER................................................................................................................9 2.2. SAUVEGARDE DES PERSONNALISATIONS ..........................................................................................9 2.3. EXEMPLE DE CREATION D'UNE COMMANDE....................................................................................10 3. INTRODUCTION À VISUAL BASIC FOR APPLICATION........................................................13 3.1. EDITEUR VISUAL BASIC.................................................................................................................13 3.2. SYNTAXE VBA : RAPPELS.............................................................................................................14 3.2.1. Types de variables.................................................................................................................14 3.2.2. Déclaration et portée.............................................................................................................14 3.2.3. Les différents types de procédures.........................................................................................15 3.2.4. Instructions conditionnelles...................................................................................................16 3.2.5. Boucles..................................................................................................................................17 3.2.6. Passage d'arguments : ByRef et ByVal..................................................................................18 3.2.7. Quelques remarques supplémentaires...................................................................................18 4. INTRODUCTION A ARCOBJECTS................................................................................................19 4.1. COM ET INTERFACES.....................................................................................................................19 4.1.1. Pourquoi des interfaces ?......................................................................................................19 4.1.2. Implémentation......................................................................................................................19 4.1.3. Query Interfaces (QI)............................................................................................................21 4.2. OBJECT MODEL DIAGRAMS............................................................................................................21 4.2.1. Classes...................................................................................................................................22 4.2.2. Relations................................................................................................................................24 4.2.3. Propriétés..............................................................................................................................26 4.2.4. Interfaces...............................................................................................................................27 4.3. OU TROUVER DE L'AIDE ?...............................................................................................................28 4.3.1. ArcObjects developer help.....................................................................................................28 4.3.2. Explorateur d'objets (Editeur VBA).......................................................................................28 4.3.3. Esri Object Browser..............................................................................................................29 4.4. GLOBAL VARIABLES SCOPE ............................................................................................................29 4.5. EXEMPLES : MANIPULATION D'OBJETS ARCMAP............................................................................30 4.5.1. ActiveView.............................................................................................................................30 4.5.2. Layers....................................................................................................................................31 5. LECTURE DE CHAMPS, REQUETE SEMANTIQUE, TRAVAIL SUR LA SELECTION......33 5.1. FEATURECLASS ET FEATURE..........................................................................................................33 5.1.1. Présentation générale............................................................................................................33 5.1.2. IFeatureClass........................................................................................................................34 5.1.3. Lecture de valeurs de champs................................................................................................35 5.2. ENUMERATION DES OBJETS SELECTIONNES SUR LA CARTE .............................................................35 5.3. CURSEUR SUR LES OBJETS SELECTIONNES (SUR UNE COUCHE).......................................................36 5.4. REQUETES SEMANTIQUE AVEC LES QUERY FILTERS.......................................................................37 5.5. RECUPERATION D'EVENEMENT SUR LA SELECTION .........................................................................38 6. GEOMETRIE......................................................................................................................................39 6.1. GEOMETRIE DANS UNE GEODATABASE ...........................................................................................39 6.2. LA GEOMETRIE DANS ARCOBJECTS................................................................................................39 6.2.1. Points et Multipoints..............................................................................................................40 6.2.2. Segments (Line, Circular Arc, BezierCurve).........................................................................40 6.2.3. Paths et Polylines..................................................................................................................40 Introduction à la programmation en VBA sur ArcGIS 3/101 Juillet 2003 – v1.0 Sommaire 6.2.4. Rings et Polygons..................................................................................................................41 6.2.5. Envelopes..............................................................................................................................42 6.3. EXEMPLE : LECTURE DE LA GEOMETRIE D'UN POLYGONE ..............................................................43 7. AFFICHAGE ET RAFRAICHISSEMENT D'ECRAN...................................................................45 7.1. UTILISATION DU SCREENDISPLAY POUR DESSINER DES ELEMENTS GRAPHIQUES ...........................45 7.2. RAFRAICHISSEMENTS D'ECRAN......................................................................................................46 8. SYMBOLES.........................................................................................................................................49 8.1. COULEUR.......................................................................................................................................49 8.2. POINTS...........................................................................................................................................50 8.3. LIGNES...........................................................................................................................................51 8.4. SURFACE........................................................................................................................................53 8.5. TEXTE............................................................................................................................................53 9. SYMBOLISATION DE COUCHES..................................................................................................57 9.1. LA CLASSE FEATURERENDERER.....................................................................................................57 9.2. EXEMPLE : REPRESENTATION EN UTILISANT UNE CLASSIFICATION PAR INTERVALLES EGAUX .......57 9.2.1. Création de l'histogramme....................................................................................................58 9.2.2. Création de la classification..................................................................................................58 9.2.3. Création d'une rampe de couleurs.........................................................................................59 9.2.4. Création du Renderer............................................................................................................60 9.3. AFFICHAGE DE LABELS...................................................................................................................60 10. MISE EN PAGE..............................................................................................................................63 10.1. SCHEMA GENERAL.....................................................................................................................63 10.2. CAS PARTICULIER DES ELEMENTS LIES A LA CARTE ....................................................................65 10.3. GRAPHICS CONTAINER ...............................................................................................................66 10.4. EXEMPLE : AJOUT D'UNE IMAGE A LA MISE EN PAGE ..................................................................67 10.5. ZOOM SUR LA PAGE....................................................................................................................68 11. TRANSFORMATION DE COORDONNEES - PROJECTIONS..............................................69 11.1. IDISPLAYTRANSFORMATION......................................................................................................69 11.2. CREATION D'UN OUTIL : EXEMPLE D'OUTIL "PAN".....................................................................70 11.3. REFERENCES SPATIALES ET PROJECTION ....................................................................................71 11.3.1. Références spatiales..............................................................................................................71 11.3.2. Changement de projection.....................................................................................................73 12. ANALYSE SPATIALE...................................................................................................................75 12.1. SPATIALFILTER..........................................................................................................................75 12.2. SPATIAL OPERATOR INTERFACES ................................................................................................76 12.2.1. ITopologicalOperator...........................................................................................................76 12.2.2. IProximityOperator...............................................................................................................77 12.2.3. IRelationalOperator..............................................................................................................78 12.3. TRANSFORMATIONS 2D..............................................................................................................78 13. MISE A JOUR DE DONNEES......................................................................................................79 13.1. CREATION D'ENTITES OU AJOUT D'ENREGISTREMENTS DANS UNE TABLE....................................79 13.2. UTILISATION D'UNE SESSION D'EDITION......................................................................................80 13.2.1. Introduction et rappel des fonctionnalités d'édition..............................................................80 13.2.2. Ouverture et fermeture d'une session d'édition.....................................................................81 13.2.3. Opérations de mise à jour et annulations..............................................................................82 14. AJOUT DE COUCHE A PARTIR DE DONNEES EXISTANTES...........................................83 14.1. RAPPEL : LES DIFFERENTS MODES DE STOCKAGE DANS ARCCATALOG ......................................83 14.2. SCHEMA GENERAL.....................................................................................................................84 14.3. EXEMPLE DETAILLE D'AJOUT DE DONNEES PROVENANT D'UN SHAPEFILE...................................84 14.4. EXEMPLE D'AJOUT DE DONNEES PROVENANT D'UNE COUVERTURE.............................................86 Introduction à la programmation en VBA sur ArcGIS 4/101 Juillet 2003 – v1.0 Sommaire 15. CREATION D'UNE BASE DE DONNEES..................................................................................87 15.1. CREATION D'UNE GEODATABASE ...............................................................................................87 15.1.1. Création d'une géodatabase vide...........................................................................................87 15.1.2. Références spatiales et champ "Géométrie"..........................................................................87 15.1.3. Création de champs...............................................................................................................89 15.1.4. CreateFeatureClass...............................................................................................................90 15.2. EXPORT ET CONVERSIONS ..........................................................................................................91 16. PROGRAMMATION DE L'INTERFACE UTILISATEUR......................................................93 16.1. UTILISATION DES COMMANDES EXISTANTES ..............................................................................93 16.2. CREATION DE BARRES D'OUTILS, MENUS ET COMMANDES..........................................................94 16.2.1. Création d'une barre d'outil..................................................................................................94 16.2.2. Création de menus et commandes.........................................................................................94 16.2.3. Création d'un menu contextuel..............................................................................................95 16.3. BARRE DE PROGRESSION, BARRE D'ETAT ...................................................................................96 17. PERSONNALISATION ARCCATALOG....................................................................................97 17.1. GXDIALOG.................................................................................................................................97 17.2. GXAPPLICATION ET GXSELECTION............................................................................................98 17.3. GXVIEW.....................................................................................................................................99 18. INDEX............................................................................................................................................100 Introduction à la programmation en VBA sur ArcGIS 5/101 Juillet 2003 – v1.0 Introduction 1. Introduction ArcInfo fournit un kit de développement "ArcObjects", plate-forme de développement de la famille des applications ARCGIS tels que ArcMap, ArcCatalog... Plusieurs types de développements sont possibles :  Personnaliser l'environnement dans ArcMap ou ArcCatalog avec VBA (Visual Basic for Application), en développant des macros associées à un document ArcMap (*.mxd) ou un modèle (*.mxt).  Créer des applications ou des contrôles, en développant en VB, C++, Delphi..., des DLL, des contrôles ActiveX ou des exécutables.  Etendre le modèle ArcInfo grâce à Visio-UML et les outils CASE, avec les langages C++, Delphi ou tout autre langage supportant la technologie COM (Component Object Model). Ce manuel décrit plus spécifiquement l'utilisation d'ArcObjetcs avec VBA pour la personnalisation d'ArcGIS. Visual Basic for Application est à la fois un langage et un environnement de développement. C'est un langage interprété dont l'intérêt est d'être partagé également par d'autres applications (notamment bureautiques : Word, Access, Excel ...). Ce cours s'adresse aux débutants en programmation sur ArcGIS ayant un pré-requis en programmation (VBA ou autre langage). Après un chapitre (chap. 2) consacré à la personnalisation de l'interface ArcMap sans programmation, le chapitre 3 propose un bref rappel de la programmation en VBA. Le chapitre 4, essentiel pour la compréhension de ce cours, décrit les principes de la programmation sur ArcGIS (description du vocabulaire, comment utiliser les diagrammes, qu'est-ce que la norme COM etc ...). Les 13 chapitres suivants décrivent plus en détail les différentes possibilités de développement suivant les thèmes souhaités (analyse, mise en page, symbolisation, gestion des données etc ...) et sont illustrés d'exempless udre  fcoondd eg r(isé, police  courrier) Introduction à la programmation en VBA sur ArcGIS 7/101 Juillet 2003 – v1.0 Personnalisation de l'interface : introduction 2. Personnalisation de l'interface : introduction 2.1. L A BOITE PERSONNALISER La boîte de dialogue "Personnaliser" permet de gérer les barres d'outils et commandes (boutons, menus) d'ArcMap ou ArcCatalog. Par exemple, on peut ajouter ou supprimer des commandes par "glisser-déposer", les déplacer, modifier leur aspect, réorganiser les menus etc ... Les personnalisations sont enregistrées soit dans le document courant, soit dans le modèle Normal.mxt (elles seront valables dans tous les documents ArcMap). cf. § ci-dessous. Par exemple, pour créer la nouvelle barre d'outil : il suffit d'aller dans l'onglet "Barres d'outils" puis appuyer sur le bouton "Nouvelle", nommer la nouvelle barre : puis, à partir de l'onglet "Commandes", choisir la catégories de la commande à ajouter et glisser/déposer la (ou les) commandes souhaitées dans la boîte. 2.2. S AUVEGARDE DES PERSONNALISATIONS Les modifications faites dans la fenêtre "Personnaliser" ou bien le code écrit en VBA pour personnaliser l'interface ArcMap peuvent être enregistrés à divers endroits sur le disque, correspondant aux trois niveaux possibles de modèles et documents ArcMap : Introduction à la programmation en VBA sur ArcGIS 9/101 Juillet 2003 – v1.0 Personnalisation de l'interface : introduction Niveau Document (*.mxd) Les documents ArcMap sont basés sur un MtBlanc.mxd  Paris.mxd modèle : soit un "Project template", soit directement sur le "Normal template" Niveau Project template (*.mxt) Les modifications apportées à un Project template sont répercutées à tous les Ville.mxt  documents basés sur ce modèle Niveau Normal template (Nor mal.mxt) Toute modification apportée au Normal template sont répercutées à tous les Normal.mxt  modèles et documents En ce qui concerne la personnalisation d'ArcCatalog, tout est stocké dans le "Normal.gxt", puisqu'il n'existe pas la notion de document avec ArcCatalog. 2.3. E XEMPLE DE CREATION D 'UNE COMMANDE L'exemple ci-dessous montre comment créer un bouton dans la boîte d'outil décrite précédemment qui lorsqu'on clique dessus fait apparaître un petit message de bienvenue : La première étape consiste à créer un nouveau "contrôle" (c'est à dire une commande) en choisissant l'item "UIControl" dans la liste des commandes (1), puis "Nouveau contrôle (2). On choisit ensuite de créer un nouveau "UIButtonControl" (3 et 4). Il suffit ensuite de déplacer la commande ainsi créée dans la boîte à outil souhaitée. Un clic-droit sur l'outil (5) permet de modifier l'image du bouton (6) et d'éditer le code source (7) associé aux événements intervenant sur le bouton : 5 3 1 6 4 2 7 Introduction à la programmation en VBA sur ArcGIS 10/101

Description:
Le chapitre 4, essentiel pour la compréhension de ce cours, décrit les principes de la programmation sur ArcGIS (description du vocabulaire, comment
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.