0% found this document useful (0 votes)
39 views

Gis 04

Uploaded by

asmakiran251
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
39 views

Gis 04

Uploaded by

asmakiran251
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 14

Customisation

• The GUI in most GIS applications is sufficient for most


needs. However, situations arise where you want either to:
– Modify the interface, or
– Add new functionality
• We will focus on ArcGIS, but similar principles apply to
other systems.
GUI Changes
• Modifying the interface can be achieved without any
programming.
• Basically involves adding, deleting or moving objects in
the GUI using drag and drop operations.
• The changes are initiated from the Tools | Customize
menu.
• We will look at examples in the practical class.
Programming Options
• ArcGIS is constructed from several hundred ArcObjects.
• These can be programmed to add functionality.
• You can either:
– Write your own code, or
– Download code via the Internet
• Two approaches:
– Internal – i.e. modify ArcGIS itself
– External – i.e. write a standalone program using
ArcObjects
Internal Changes
• ArcGIS can be modified in several ways:
– Visual Basic for Applications (VBA) macro. The
macro can either be run from the built-in Visual Basic
Editor (VBE) - which provides an Integrated
Development Environment (IDE), or attached to a
button on the desktop.
– Scripting languages such as VBScript, JScript or
Python can be used to create a geoprocessing script.
The script could either be a new tool or several tools
linked together to automate a workflow as a
geoprocessing model.
External Programs
• ArcObject functionality can also be incorporated into your
own programs in an external environment.
• Any COM-compliant or .NET-compliant high level
programming language, such as Visual Basic, Visual C++
or Python may be used.
• Programs require a licence.
Python
• Python is arguably the language of choice.
• It is an interpreted high-level language – simple to learn,
yet very versatile.
• It is object-orientated, yet lends itself to procedural
programming.
• In the ArcGIS context it can be used both for scripting and
writing standalone applications.
• It is open source and available for free from the Internet.
• ArcGIS 9.x comes with Python 2.5.1, but this is not
compatible with Python 3.x.
Visual Basic for Applications
• We will use some VBA macros in the practical class, so it
may be helpful to say something about VB.
• A block of code that can perform a specific task is referred
to as a procedure. A collection of procedures is known as
a module and a collection of modules is referred to as a
project.
• Procedures may be private or public. A private procedure
can only be called or used by another procedure in the
same module; public procedures are available to
procedures in other modules in the same project.
Procedures
• There are three types of procedure: events, subs and
functions.
• Event procedures are associated with controls such as
menus and buttons.
• Subs and functions are not associated with controls, but
are called by other procedures; the difference between
them is that functions return a value whereas a sub does
not.
Type Declarations
• Variable type must be declared before use using a Dim
statement, e.g.
Dim n As Integer

• Objects must be declared and then instantiated, e.g.


Dim pField As IFieldEdit
Set pField = New Field
The first line creates a variable to hold the object, the
second creates the object. All references to an object are
through an interface.
Dot Notation
• The properties of an object are indicated using an
object.property dot notation. For example:
pObjectnameName.PropertyName = value

• A method for an object is specified in a similar manner:


Set pObjectName.PropertyName = pObjectName.MethodName (params)

• Comments may be added using an inverted comma:


‘ Everything after the inverted comma is a comment
Structure
• VBA supports branches:
If ... Then ... Else ... End If
Select Case ...Case ...Case ... End Select
• And loops:
Do While ... Loop
Do Until ... Loop
For ... Next
The Visual Basic Editor (VBE)
• The VBE contains various windows:
– Code window
– Project window / explorer
– Properties window
– Immediate window
Error Handling
• There are three main types of error:
– Compile
– Run-time
– Logic
• Error trapping:
– Breakpoints / Debug.Print
– Step Into / Step Over / Step Out
– Run To Cursor
– The Err object

You might also like