GIS Training

Course Details

Introduction to Programming ArcObjects using VBA-x



ArcObjects components are the building blocks of the ArcGIS family of products, and the ArcObjects libraries provide a rich set of functionality that developers can use to build powerful GIS applications.  This course introduces the ArcObjects libraries to Visual Basic for Applications (VBA) programmers and teaches how to develop custom applications and solutions that extend core ArcGIS functionality.  Students work with VBA development tools and the ArcGIS Customise dialog box and learn how to use the various help resources available.  In course exercises, students work with the ArcObjects VBA developer resources to create applications and tools that perform specific GIS tasks including map navigation, feature selection and rendering, spatial operations, data projection, data management, editing, geoprocessing, and map creation. 
.
- download course outline PDF

Duration: 3 day(s)

Price: £1185.00

Schedule for this course:
On Request
Register your interest in attending this specialist '"On request" course.

Prerequisites:


• Students should have completed ‘Introduction to ArcGIS 1’ or ‘Learning ArcGIS Desktop’ or have equivalent knowledge. 
• Intermediate programming experience in Visual Basic or VBA is also required.  Those with no Visual Basic or VBA programming experience should take ‘Learning Visual Basic for Applications for New ArcGIS Developers’ or ‘Introduction to Visual Basic 6’ before taking this class.

Audience:


This course is designed for experienced VBA developers and experienced ArcGIS users who are new to programming ArcObjects.

Goals:


Those completing this course will be able to:

• Customise the ArcGIS graphical user interface.
• Describe the architecture of the core ArcObjects libraries.
• Illustrate the most effective ways to use the components of the software development kit (SDK) and developer tools to implement custom functionality.
• Use ArcObjects to develop GIS functionality using VBA.
• Write reusable code for automating tasks in ArcGIS.

 



Topics Covered:


Programming with COM: Classes, class libraries, COM, query interface, creating objects.

Object model diagrams: Object model diagrams, types of classes, inheritance.

The ArcGIS application framework: Customise dialogue box, Visual Basic Editor.

Working with maps and layers:  Active data frame, layer properties.

Accessing data with ArcObjects: Accessing existing data using ArcObjects.

Displaying data: Feature and raster data rendering.

Working with queries and selections: Cursors and feature cursors, selection sets.

Geometry and spatial analysis: Spatial analysis, spatial reference, calculating area.

Data creation and editing: Creating new data, editing using cursors.

Geoprocessing: Running geoprocessing tools, setting environments.

Working with layouts: Making maps, adding elements, exporting and printing.

ArcObjects beyond VBA: Extending applications, ArcGIS Engine, ArcGIS Server.

 



Related Courses:


Please refer to the Learning Paths for related courses

Outline of Topics:


Introduction
• Introduction to Programming ArcObjects using VBA
• Course objectives
• Course materials
• Additional materials and resources
• ESRI Support Centre
• ESRI Developer Network (EDN)
• Additional developer resources
• ArcGIS: a complete GIS
• What ArcObjects and VBA can do
• What you should know about VBA
• Logistics
• Introductions
• Exercise goals

The ArcGIS application framework
• The ArcGIS application framework
• Learning objectives
• VBA development environment
• ArcGIS commands
• Customise dialog box
• Customise dialog box: additional options
• Accessing your customisations
• Working with forms
• Creating macros
• Creating UIControls
• UIControl example: Tools
• Setting UIControl properties
• Writing code for UIControls
• ThisDocument code module
• MxDocument events
• Exercise goals
• Lesson review

Programming with COM
• Programming with COM
• Learning objectives
• Classes and objects
• ArcObjects class libraries
• Commonly used libraries
• Important terms
• Visual Basic syntax
• Component Object Model (COM)
• COM classes have interfaces
• Working with ArcObjects COM classes
• Polymorphism
• ArcObjects polymorphism
• Using methods and properties
• Accessing other interfaces on same object
• Conceptual QI example
• ArcObjects QI example
• Getting started with ArcObjects
• Tying it all together
• Exercise goals
• Lesson review

Object model diagrams
• Object model diagrams
• Learning objectives
• OMD relationship symbols
• Properties and methods
• Coclass
• Class
• Abstract class
• ArcMap objects
• Type Of inheritance
• Interface inheritance
• Working with properties
• Setting properties
• Working with IMxDocument
• Developer resources
• Exercise goals
• Lesson review

Working with maps and layers
• Working with maps and layers
• Learning objectives
• Object model overview
• Accessing maps
• Looping through a collection of maps
• Locating a map by name
• Accessing layers
• Working with a map’s layers
• Accessing layers in an enumeration
• Locating a layer by name
• Working with layer properties
• FeatureLayer properties
• Enumerations
• RasterLayer properties
• Testing an object reference
• Setting a FeatureLayer’s data source
• Map events
• Exercise goals
• Lesson review

Accessing Data with ArcObjects
• Accessing data with ArcObjects
• Learning objectives
• Data creation objects
• Accessing workspaces
• Open existing workspace
• Accessing feature classes
• Adding feature layers to ArcMap
• Accessing data using ArcSDE technology
• Connecting to an ArcSDE geodatabase
• Adding a data layer: pseudocode
• Adding a data layer: solution
• Adding layers through a custom GxDialog
• GxDialog code example
• Exercise goals
• Lesson review

Displaying data
• Displaying data
• Learning objectives
• Subclasses of Symbol
• Using colour
• ColourRamps
• Creating simple graphic elements
• Example: Make a new element, set its symbol
• Defining an element’s position
• Adding an element to the map (or layout)
• FeatureRenderers
• ScaleDependentRenderer
• RasterRenderer
• Storing layers on disk
• GxLayer object
• Example: Saving a layer from ArcMap
• Exercise goals
• Lesson review

Queries and selections
• Queries and selections
• Learning objectives
• Object model overview
• Cursors and feature cursors
• Three types of cursors
• Class activity: determining cursor type
• Creating a query filter
• SpatialFilter
• Returning a Search cursor
• Accessing records in a cursor
• Example: summarising a cursor’s attributes
• Accessing selected features
• Working with selections
• Displaying a subset of features
• Working with attribute queries
• Exercise goals
• Lesson review

Geometry and spatial analysis
• Geometry and spatial analysis
• Learning objectives
• Feature geometry
• Geometry objects
• Points and multipoints
• Segments
• Polylines and polygons
• Envelopes
• Zooming in to a Feature
• Spatial reference
• Creating new spatial reference
• Spatial analysis
• ITopologicalOperator
• IRelationalOperator
• IProximityOperator
• Area
• Length
• Getting the user X and Y
• Display transformation
• Convert display coordinates to map units
• Exercise goals
• Lesson review

Data creation and editing
• Data creation and editing
• Learning objectives
• Object model overview
• Name objects
• Converting feature classes
• Creating a new workspace
• Creating new data
• Field and Fields classes
• IField and IFieldEdit
• Creating a Fields collection
• Creating a table or feature class
• Work with fields in a table
• Adding rows and values to a table
• Editing with a cursor
• Editing cursors
• Example: Updating incorrect values
• Example: Adding 100 rows to a table
• Adding a field
• Creating a domain
• Adding a domain to a geodatabase
• Applying domains
• Exercise goals
• Lesson review

Geoprocessing
• Geoprocessing
• Learning objectives
• Object model diagram overview
• What is geoprocessing?
• Geoprocessing framework
• Reasons to run geoprocessing tools from VBA
• GeoProcessor class
• Working with the GeoProcessor
• IGeoProcessor: Useful methods and properties
• Creating parameters for tools
• Executing a tool with ArcObjects
• Toolbox aliases
• Running custom geoprocesssing tools
• Running multiple tools
• Working with messages
• Batch processing
• Exercise goals
• Lesson review

Working with layouts
• Working with layouts (Optional)
• Learning objectives
• Object model overview
• PageLayout
• Graphic and frame elements
• The Style Manager
• The style gallery
• Getting style items from the gallery
• Referencing an individual style item
• Getting the item
• Adding a map surround
• Style Selector
• Printing a layout
• Exporting a layout
• Exercise goals
• Lesson review

ArcObjects beyond VBA
• ArcObjects beyond VBA
• Learning objectives
• Working with ArcObjects
• Extending desktop applications
• Customisation options
• Creating a custom component
• ArcGIS Engine
• ArcGIS Engine applications
• ArcGIS Server
• ArcGIS Server applications
• Author, publish and use GIS services
• Lesson review

Course conclusion
• Course conclusion
• Course objectives
• Review: classes and objects
• Review: objects and properties
• ESRI educational support
• Where do you go from here?
• Learning pathways
• Course evaluation
• Thank you for attending

 

Register for MyESRIUK and

  • Receive the latest news through our newsletters
  • Register for our events
  • Download our product upgrades
  • Start using MyTraining

    Register for MyESRI UK

    Sign in to MyESRI UK
    Email:
    Password:  

Share using:

Share |

Follow using:


Related Sites:   ESRI International   MyESRIUK   MapsDirect   ESRI Ireland