Maptitude GISDK Help

Tables and Views

As a Maptitude user, you know that a table is a file on disk that contains information organized into rows and columns. By now you are used to the idea of opening a table and seeing the data displayed in a dataview.

 

GISDK introduces an additional object: a view. A view is a virtual table that contains information in rows and columns. The information contained in a view may come from a single table file, from a geographic file, or from several different sources that have been joined together (in a joined view). You use views to read, write, or display information from tables and geographic files. If you are a programmer, you could think of a view as a "handle" to a table, geographic file, or joined view.

 

When you call a GISDK function that creates a view, you assign a name to the view. From then on, all access to the data table is via the view name. If the view name you assign is already in use, a suffix (:1, :2, :3, etc.) is appended to the view name to make it unique.

 

The following GISDK functions create views, and return the name of the view that was created:

 

GISDK Function Summary
AddCDFLayer() Adds a layer from a compact geographic file to a map
AddLayer() Adds a layer from a geographic file to a map
AddLayerToWorkspace() Adds a layer to an application without it appearing in a map or dataview
AggregateTable() Groups records in a view and computes summary statistics
ApplyOverlayTable() Computes attribute values for a view using information from an overlay table
CreateTable() Creates an empty table and opens it as a view
JoinViews() Creates a joined view by linking fields in two existing views
JoinViewsMulti() Creates a joined view by linking multiple fields in two existing views
OpenTable() Opens a table from a file on disk and creates a view
MergeByValue() Creates districts by merging areas from a geographic file, based on the value of a field
SelfAggregate() Groups the records in a view, based on a field, to create an aggregate view

 

Many of these and other GISDK functions use the following abbreviations for file types:

 

File Type Abbreviation
Comma- or tab-delimited text CSV
dBASE dBASE
Fixed-format text (ASCII) FFA
Fixed-format binary FFB

 

You can use GISDK functions to create any number of views. Views can be visible (displayed in editor windows) or hidden from the user. The latter option is useful if your GISDK application needs to look up some information in the background by referring to a database or other table. GISDK lets you designate one view as the current view. Many GISDK functions work only on the current view, and many others allow you to omit the view_name argument if you want to use the current view.

 

Maptitude keeps close track of all views that are open in an application, as well as the source files on which the view depends. If you try to open a table that has already been opened using OpenTable(), GISDK detects that there is already a view of the table, and returns the name of the existing view.

 

The following GISDK functions help you manage views:

 

GISDK Function Summary
GetFieldTranslations() Gets a list of codes and values for a coded field
GetView() Gets the name of the current view
GetViewJoinInfo() Gets the join information for a view
GetViewLayer() Gets the name of a layer that corresponds to a view
GetViewNames() Gets a list of all views
GetViewParents() Gets the parentage of a view
GetViewTableInfo() Gets information about a table
GetViews() Gets information on the views in the system or on the views associated with a layer
GetViewStructure() Retrieves a listing and description of the fields in a view
SetView() Sets the current view (and the current layer)

 

When you are finished with a view, you remove it from the system by calling one of the following GISDK functions:

 

GISDK Function Summary
CloseView() Drops a view from the system
DropLayer() Removes a layer from a map
DropLayerFromWorkspace() Removes a layer from an application

 

Before a view is removed from the system, Maptitude checks to see if the view is currently in use. A view is in use if any of the following are true:

If the view is in use it cannot be dropped from the system, and the above GISDK functions signal an error.

 

Here is some sample code that creates two views and performs some simple operations on them:

 

// Open a sales rep table, creating a view named "Sales Reps"

reps = OpenTable("Sales Reps", "DBASE", "c:\\dbf\\salesrep.dbf", )

 

// Open a customer table, creating a view named "Customers"

custs = OpenTable("Customers", "DBASE", "c:\\dbf\\customer.dbf", )

 

// Get a list of views...

view_list = GetViewNames()          // view_list = {"Sales Reps", "Customers"}

 

// Switch to the Sales Reps view

SetView(reps)

ShowMessage("The current view is " + GetView())

 

// Switch to the Customers view

SetView(custs)

ShowMessage("The current view is " + GetView())

 

// Now close both views...

CloseView(reps)

CloseView(custs)

 

 

©2025 Caliper Corporation www.caliper.com