The uDig application manages your content in the following data structure:

  • Project: represents a location, on disk where your content is saved
  • Map: represents a visualization of spatial information, makes use of a ViewPort indicating the area of interest
  • Layer: a Map is composed of Layers, indicating which spatial information is to be drawn (and in what order)

Because this is a dynamic application we ask you not to hack away at these datastructures as the system is running (to do so often freezes the screen). Instead we ask you to assemble a command that will be issued in the user interface thread.

uDig is highly threaded, as benefits a client application, ensuring that "work" happens in the correct thread is a large benefit provided to you by the GIS Application.

Project

The API available to you for a Map is three fold: that which is available all the time (such as the File), that which will need to block (accessing the File), and that which can only be used via a command (modifying the contents).

Map

The API available to you for a Map is three fold: that which is available all the time (such as the File), that which will need to block (accessing the File), and that which can only be used via a command (modifying the contents).

Highlights:

  • Layers
  • Viewport
  • Selection, often used with editing tools
  • IssuesList, common API for "workflow user interfaces"

Layer

The API available to you for a Layer is three fold: that which is available all the time (such as the File), that which will need to block (accessing a resoruce), and that which can only be used via a command (modifying the contents).

Highlights:

  • Connection Information, used to look up matching resources in the catalog
  • StyleBlackboard, used to control the adaptive rendering system
  • Transaction, for feature information Transaction support is applied for the entire Map!
[view] [edit]
(c) Copyright (c) 2004,2005 Refractions Research Inc. and others.