1 / 14

Customisation

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.

kamilia
Download Presentation

Customisation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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.

  2. 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.

  3. 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

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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

  11. 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

  12. The Visual Basic Editor (VBE) • The VBE contains various windows: • Code window • Project window / explorer • Properties window • Immediate window

  13. 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

More Related