[ Download this document in MS Word format ]

 

Mastering TNTlink and the Presentation of GeoSpatial Datasets with TNTatlas

 

A Rambling Yet Roughly Instructional Guidebook

 

Prepared by

Thomas H. Furst, Ph.D.

Furst Light GeoTechnologies

2295 Dexter Drive, Suite 200

Longmont, Colorado 80501-1515 (USA)

303.682.3046

303.682.3157 (Fax)

email: tfurst@lanminds.net

 


Table of Contents


Mastering TNTlink and the Presentation of GeoSpatial Datasets with TNTatlas

Concept Introduction

Data Preparation

Understanding the TNTmips Project File Structure

TNT Project File Structure

Objects and Subobjects

Primary Object Types

Raster Objects

Pyramiding and Compression

Raster Compression Options

Vector Objects

CAD Objects

TIN Objects

Region Objects

Text Objects

Database Objects

Atlas Design

From the Start - Organizing Project Files

Design of Introductory Screens

Strategies for Building a Stack

Organizing the Stack

Adding Objects to a Stack

Design the Stack

Create the Objects

Delineate the Index Areas

Create the Links

Adjust the Display

Test the Stack

Making the Links with TNTlink

Getting Started

The HyperIndex/TNTlink Toolset

What Is HyperIndex

More About the TNTlink (HyperIndex Linker) Tool

The Linking Concept

Object Types and HyperIndex

The TNTlink Interface

Existing Button

Box Button

Circle Button

Polygon Button

Vector Point Button

Vector Line Button

Vector Polygon Button

CAD Element Button

Edit Index Area Button

Delete Index Area Button

Edit Links Button

Link Selection List Panel

Link Selection OK Button

Link Selection Add Button

Link Selection Delete Button

Link Selection Edit Button

Auto Add Button

Color Button

Authoring the CD-ROM

Recipe for making an atlas - possum style

TNTatlas

TNTatlas - How to View a Stack

HyperIndex Options

XWDTIFF Utility

The four XWDTIFF operations

TNTSERV.TWM

 

 


Mastering TNTlink and the Presentation of GeoSpatial Datasets with TNTatlas

 

Concept Introduction

This guide has been prepared to aid in utilizing TNTlinkÔ - a MicroImages, Inc. software product that is used with TNTmips® to prepare HyperIndex® stacks from spatially interrelated datasets made up of raster, vector, CAD, and TIN layers, with associated relational database tables and text. These electronic stacks can be viewed with the TNTmips®, TNTviewÔ , and TNTatlasÔ software products. The focus of this guide is to prepare the HyperIndex® stack for viewing and distribution on CD-ROM with TNTatlasÔ . TNTatlas is a free run-time product that can be distributed without charge to view HyperIndex stacks. HyperIndex stacks are atlases of spatially related geodata that you assemble for distribution using the TNTlink option for TNTmips.

Data Preparation

Fundamental to preparing data for construction of an electronic atlas is grasping the concept of the TNTmips project file structure and learning to use it as an organizational tool and labor-saving device. Many projects quickly balloon into file management nightmares as you pass through different stages of the analysis and geospatial data integration. Developing a good conceptual feel for the TNTmips project file structure will ultimately enhance your ability to manage and maintain progress on all your atlas projects.

Understanding the TNTmips Project File Structure

TNT products use a single data structure, called the project file, that can hold all of your project materials. Any combination of raster, vector, CAD, TIN, region, text, and database materials can be kept in each project file, so all of your data that pertains to a project or task can be kept together easily. The project file was designed with cross-platform users in mind. The TNT processes all use special read and write routines so that a single TNT project file can be used interchangeably by your computer: Windows PC, Macintosh, or UNIX. You have no conversion or translation issues to address.

The size of project files in the professional versions of TNTmips is limited only by the size of your available storage media. The Project File is a unified, integrated collection of objects and subobjects, which you may choose to organize in folders within a single project file for a multi-level logical hierarchy. The project file is generally called an "RVC file," which is a throw-back to the original DOS filename extension that was given to indicate the project file incorporated Raster, Vector, and CAD data.

TNT Project File Structure

The total TNT project file size is limited in practice to the maximum file size allowed by your computer's operating system. Under 32-bit operating system architecture's (MacOS, Windows 3.1 and 95, some UNIX) a single file can be no larger than 2 gigabytes. In 64-bit operating system architecture's (Windows NT with NTFS and some UNIX), a single file can be as large as 16,384 gigabytes.

For TNT professional products, the maximum size of a single object in a Project File is limited only by the size of the storage media available.

 

Objects and Subobjects

An object is one complete data entity in a project file that all the TNT products handle as a unit, such as a single scanned aerial photograph (raster), or one imported CAD file. A subobject is attached to an object and contains supplemental material, like color display information or georeference data. You may have as many project files as the capacity of your storage devices allow. An object is one complete data entity that TNT processes handle as a unit, like one airphoto scan, or one imported CAD file. A Project File can include seven primary types of objects: raster objects, vector objects, CAD objects, TIN objects, database objects, region objects, and text objects. As you work, TNT processes automatically create and associate appropriate subobjects with each object type.

Subobjects are a collection of special data attached either to a primary object or to another subobject. Histograms, color maps, and georeference control point lists all typically exist as subobjects. Databases may also be found as subobjects attached to raster, vector, CAD, and TIN objects. Except for attached databases, most subobjects are relatively small. TNT processes usually create a subobject as part of some process, often without your involvement. You may sometimes be asked to name and describe a subobject that a process creates. For example, if an airphoto has an existing approximate Lat-Lon georeference, and you create a new, more accurate georeference to UTM ground control points, the georeference process asks you to name the new georeference subobject when you save it.

When you select an object to use in a process, TNT usually picks up its associated subobjects automatically. But if two subobjects of the same type are attached to the primary object, the process asks you to select the one to use. For example, if you ask the system to display an eight bit color raster object that has two or more different color map subobjects, then the display process asks which of the two you want to display.

Some subobjects can be "promoted" and exist as an independent primary object in a Project File. For example, the database query process lets you save a query either as a subobject under the vector object it relates to, or as a main-level object, which can be selected easily for use with other vector objects.

 

Primary Object Types

A project file typically contains a collection of raster, vector, CAD, TIN, region, text, or database objects created during the life of your project. For example, you may want to create a color plot from a hand-drawn overlay of a topographic map. The first step will be to create the initial raster object using a scanner. Then as you clean and otherwise manipulate the overlay, the Project File can contain the intermediate raster objects you create, the resulting vector and / or CAD objects for the plotter, and perhaps a database file that you enter containing attributes for the extracted vector elements.

Raster Objects

Simply defined a raster is a picture.. Our eyes perceive mostly reflected visible light A raster object is a data structure which can be described as a logical, two- dimensional array that contains rows and columns of numbers (spectral reflectance or brightness values, elevation, chemical concentrations,...) of a single data type.

A cell is one value in a raster object, specified by its row and column address. When a raster object is displayed on a computer monitor without enlargement or reduction, each cell corresponds to one discrete pixel.

Cell size refers to the size of the area in the survey site (on the ground) to which the cell value applies. For example, a cell in a raster object containing an aerial photograph image may be said to have a "one meter cell size", meaning that each cell value applies to a distinct one by one meter area on the earth's surface. (Such an image is also said to have a one meter ground resolution.)

The cell data type refers to the number of storage bits assigned to each cell. Raster object cells can have data types of 1-bit (binary), 4-bit, 8-bit, 16-bit, 32-bit, or 64-bits of either integer or real number (floating point) values. 128-bit raster objects are supported for special processes, such as Fourier transforms, which deal with the real and imaginary components of complex numbers.

The TNTmips project file supports raster objects as large as 2,000,000,000 by 2,000,000,000 cells of any data type (1 to 128-bits per cell). Basically that's one humongous raster. An 8-bit raster of two billion by two billion cells would result in a four exabyte sized raster. In scientific notation that's 4 X 1018 bytes. To illustrate this a bit further, let's consider a raster of this size in which each cell has a ground resolution of one millimeter (1 mm = 0.04 inch) how much area does the raster cover?

  1. (2 X 109) cells X 0.001 mm/meter = 2 X106 meters
  2. 2 X106 meters = 2,000 km

So, the maximum sized raster supported in the TNTmips project file could cover a 2000 by 2000 km area (4,000,000 km2). For those still stuck in English units this is an area of 1250 miles on a side which would equal 1,562,500 square miles. Over one third of the continental United States.

Internally, TNT raster objects are stored in a tiled format. Tiled storage reduces time requirements for display and processing. TNT raster objects are also pyramided (pre-sampled reductions of large raster objects are maintained as subobjects). Tiling lets you scroll around a large raster object quickly. Pyramiding lets you zoom in and out quickly. Even a 6000 x 6000 full SPOT scene displays as quickly at a full extents zoom as it does at a one to one zoom. The pyramiding technology MicroImages uses in the TNT Project File adds less than seven percent to the file size, while it reduces display times for some zoom levels to a small fraction of the time required for non-pyramided raster objects.

Pyramiding and Compression

Two technologies that affect storage and performance can optionally be applied to raster objects: pyramiding and compression. Pyramiding lets you zoom in and out quickly in display processes. After pyramided, a 6000 x 6000 full SPOT scene displays as quickly at a full extents zoom as it does at a 1:1 zoom. The pyramiding technology MicroImages uses in the TNT Project File adds less than seven percent to the file size, while it reduces display times for some zoom levels to a small fraction of the time required for non-pyramided raster objects. Pyramiding also supplies the thumbnail version of a raster object that shows in the Locator window in display processes. You can explicitly create Pyramid tiers for existing raster objects with the Prepare / Raster / Pyramid process. You can also activate the Create Pyramids toggle button for new raster objects that you import or create as output in other TNT processes.

Raster Compression helps reduce the size of Project Files, while exacting a small performance penalty that may be noticeable. A number of compression methods are offered in TNT processes such as Import Raster, Raster Extract, and the Object Editor. Use Lossless compression for raster objects that will be used in computational image analysis and combination processes. Use "lossy" JPEG compression only with raster objects that will not be used for computational analysis. Lossy compression is suitable for base images, scanned map sheets, and background images used for visual (non-computational) photo-interpretation or map and poster layout.

JPEG compression offers a Quality option that determines how great the compression ratio will be, and the degree of image loss. Lossless JPEG compression has a Quality value of 100. JPEG 90 Percent retains a 90-percent fidelity to the colors in the uncompressed source but it has a higher compression ratio. JPEG 75 Percent retains a 75 percent fidelity to the colors in the uncompressed source and has an even smaller compressed result.

Raster Compression Options

As the Quality value decreases, the JPEG result deteriorates so that eventually the image degradation becomes noticeable. Choosing a JPEG compression Quality value is an inexact science. Some images, particularly images that have large areas of uniform color, compress to a small fraction of their original size with no visible loss of fidelity. Other images, such as those with much fine detail, busy, uneven texture and many varied hues and colors, suffer with even a small degree of lossy JPEG compression.

Vector Objects

A GIS system is commonly described as vector-based when its data structures contain x,y or x,y,z coordinates for points and lines, the basic data elements. CAD and TIN objects, discussed below, are other types of point-and-line data structures, but they exhibit important differences.

A vector object is the collection of vector elements (lines, nodes, points, and polygons) and attributes stored together in a TNT Project File. Each element can be assigned to a class, have attached database records, and be displayed in a selected drawing style (point symbols, line patterns, and polygon fill patterns). For TNT professional products, the maximum size of a single vector object is 2,000,000,000 coordinate pairs per line and 2,000,000,000 vector elements per object. RVC coordinates are always stored as double precision numbers. In the free TNTlite product, vector objects are limited to 500 points, 1500 lines, and 500 polygons.

A point element is a vector element that is described by a single coordinate pair (x, y) or set (x, y, z) and, as such, has position but no length. Points generally represent individual observations or landmarks, and can have attached attributes.

A line element is a curved path in space defined by an ordered string of coordinates. All line elements begin and end with node elements. The beginning and end of a line do not generally occupy the same position so two nodes are required as part of the definition of most lines. Lines that begin and end at the same position, and thus form a polygon, have only one node in their definition. A vector line element never intersects another line element. When two line elements intersect, TNT automatically defines a node at the point of intersection, and the two lines become three or four. Nodes exist for the purpose of defining topologically correct lines.

A polygon element is a collection of line elements known to define a closed, connected shape.

A vector object has a rigorously defined topology that ensures a point lies in at most one polygon, and that no two lines intersect. Automatic topology maintenance requires a certain amount of internal bookkeeping about the relationship of vector elements to one another, including: which lines emerge from a particular node, what polygon elements are on either side of a line element, which line elements form a particular polygon, which polygons are islands within other polygons, and what polygons they are islands within.

Processes that manipulate and analyze vector objects can do so only with vector objects that have a consistent and complete topology; for instance, with no unresolved line intersections. Vector topology does not support the idea of layers in the sense that CAD topology does: there is no front to back order; a line cannot be above a polygon; every element in a vector object exists in one and the same layer. The TNTmips vector import process always checks and corrects the topology of vector data that comes from other systems so that no inconsistent or incomplete vector topology is introduced from outside.

CAD Objects

CAD objects, like vector objects, contain point and line coordinate data, but in a different data structure. Historically, the CAD format was developed for computerized drafting and design. However, the usefulness of line-oriented datasets in CAD format is not limited to technical drawing and engineering applications. Many specialized professional disciplines, including GIS and desktop cartography, have taken advantage of the qualities the CAD-type data structure. Many map layers that may eventually be more useful when their elements are conformed to rigorous vector topology, are more easily created initially in CAD format, so that the system is not required to monitor topology as each element is added.

A CAD object has a free-form topology, and is useful for applications that do not require an exact description of the spatial relationships between the elements in the object. The CAD object data structure does not reconcile line intersections or polygon overlaps and islands, and thus supports the concept of layered elements. That is, CAD elements can be moved laterally and forward or backward in the drawing order without forcing topological reconciliation of elements that overlap.

The CAD object data structure also allows for the geometric description of elements. For example, in a vector object, an element that appears to be a circle is actually always a polygon, so that at a high enough magnification, the circular shape resolves into discrete vertices and line segments. By contrast, a circle in CAD object is defined by its center point and radius. Thus, at a magnification, a CAD circle looks circular. Unlike a vector polygon, it can be resized simply by changing its radius, or moved by changing the location of its center point.

Various types of CAD elements include: points, circles, arcs, arc chords, lines, boxes, polygons, regular polygons, meshes, ellipses, elliptical arcs, arc wedges, elliptical arc wedges, elliptical arc chords, and text. Individual CAD elements can be organized into blocks that are inserted at one or many positions within a single drawing or used throughout a series.

For the TNT professional products, the maximum size of a single CAD object in a Project File is 2,000,000,000 elements. In the free TNTlite product, CAD objects are limited to 500 elements. The CAD object element structures can be two-dimensional or three- dimensional. CAD objects in TNT processes encompass Intergraph's CAD structure, which is a superset of AutoCAD's. 3D element definitions include geometric shapes such as cones and cylinders; curve structures; and other concepts.

TIN Objects

Three methods are commonly used to represent functional surfaces, such as the Earth's surface, bathymetric data, or population density: Digital Elevation Models (DEMs), contour maps, and Triangulated Irregular Networks (TINs). For the TNT professional products, the maximum size of a single TIN object in a Project File is 2,000,000,000 triangles, 2,000,000,000 edges, and 2,000,000,000 nodes. In the free TNTlite product, TIN objects are limited to 1500 nodes.

A TIN, or Triangulated Irregular Network, is composed of point (nodes) and line (edges) data that represent a surface as a set of adjacent, conterminous triangles constructed from irregularly spaced three-dimensional points. The structure of a TIN is more restrictive than that of vector objects because every node is part of some polygon, every polygon is a triangle, and every triangle satisfies the Delaunay criterion.

The Delaunay criterion: Given three points (in a group of points) used as corners of a triangle, another point can be constructed equidistant from the corner points. Using that point as the center, a circle that passes through all three corner points can be constructed. When the circle intersects only those three points (and no others in the group), the triangle satisfies the Delaunay criterion.

Delaunay triangulation has the following criterion. Triangles constructed from a randomly dispersed set of points are as small and equilateral as possible.

Sensitivity to calculation precision that can occur when the triangles are elongated thereby is minimized. Delaunay triangulation creates facets such that every point on a facet is as close as possible to a node. For example, consider two edges of a narrow gorge connected by a straight line straight across the gorge: a point on the surface can be close to a node without correctly representing the gorge. Delaunay triangulation minimizes the distance between all surface points and nodes, which results in a highly accurate surface representation. Choosing points for a triangle is an arbitrary process; results are unique; from a set of points there is only one set of triangles that meet the Delaunay criterion.

A TIN has the following advantages over other methods of surface representation. TINs minimize the number of points needed to accurately represent surface variations. Rough terrain, for example, needs many triangulation nodes for accurate representation; large, flat areas, however, need only a few triangles to ensure sufficient accuracy. TINs use points and line vertices as input; therefore, all vector elements (points, lines, and polygons) can be used. Original shapes may disappear, but all position information of their defining vertices is maintained. TINs are more efficient than other data structures at generating Thiessen polygons. Voronoi diagrams employ Thiessen polygons for performing effective spatial analysis.

TINs can be used for various types of analytical applications, such as: contouring; surface interpolation and DEM generation; calculating slope and aspect; calculating surface area; volumetric analysis; line-of-sight analysis, visibility analysis, and map shading; profiling; drainage network analysis; surface morphology analysis; minimal-energy paths computation; DEM compression using important point extraction process; generation of Voronoi diagrams; input data for flight simulation; and spread and flood simulation models.

TIN objects in TNT processes have four element types: nodes, edges, triangles, and hulls.

 

Node
A node is a vector element that has no attributes except position. Nodes occur at the ends of all lines and at all line intersections. Nodes are located at the vertices of the triangles in the Vector to TIN process. Every node must have a single valid Z value for triangulation to be successful.
 
Edge
An edge is a directed line segment that connects two nodes and forms one side of a triangle (and, except on the perimeter of the hull, the boundary between two triangles). Edges are dependent on nodes for determination of position. The stored attributes of edges consist of the start node, end node, identification number (id) of the triangle on the left (with respect to the direction from the start node to the end node) and the triangle on the right. TIN routines in a future version of the TNT products will automatically sequence the edges of each triangle so that the Z value of the start node is always greater than or equal to that of the end node.
 
Triangle
A triangle consists of three nodes and the three edges that connect the nodes. The stored attributes of triangles therefore consist of the following: Three nodes: node1, node2, and node3; three edges: edge12, edge23, and edge31; three adjacent triangles: neighbor12, neighbor23, and neighbor31; lengths of edges (used to determine the perimeter of the triangle); area; area as projected onto the XY plane; volume (between the triangle and a horizontal reference plane); normal vector (used to determine the slope of the triangle's surface and the aspect where the aspect is the angle between the normal vector projected on the XY plane and true north); and flatness (difference between maximum and minimum Z values).
 
Hull
A hull is the two-dimensional area for which a TIN is generated. Within the hull, including the edges, Z values at the XY position may be interpolated from existing node information. Points outside of the hull cannot be interpolated or extrapolated, especially in the case of a hull that is not convex. A hull is convex when a line that connects the two points on the hull is confined entirely within the boundaries of the hull. A hull for a U-shaped area, for example, is not convex.

Region Objects

A Region Object is a special type of polygon construct that defines a complex collection of areas (including the islands) and stores it in a map projection. Regions can be created in the Display process and in the Object Editor by generating them over a georeferenced image. After defined, a region can be used as a control object in other processes: for selection, processing, or in the application of other geospatial manipulations and analyses. There are no defined size limits for region objects in TNTlite, since region objects are useful only in conjunction with other geospatial objects (raster, vector, CAD, TIN, and database), which do have TNTlite size limits.

Text Objects

A Text Object lets you treat information that might otherwise be kept in a separate text file (*.txt) as an object in a Project File. You can keep simple documentation or project notes with the other objects in a Project File as an organizational aide. Some TNT processes automatically create Text Objects. For example, when you create a screen layout definition, the Display / Spatial Data process saves it as a Text Object in a Project File. Likewise, the DEM Extraction process creates its optional "statistics file" as a text subobject with the ELEVATION output raster object. Treating such a statistics report as a text subobject makes it easier to keep with a related raster object. The TNT Text Editor (Support / Text File Editor) lets you select both separate text files and Project File Text Objects for editing and saving.

Database Objects

A database is a system of tabular datasets and their related file management programs. For example, a DOS dBASE (.DBF) file is one format for tabular data that is created and managed by the commercial dBASE software. The DBF format is a common standard today, supported by virtually every database system on the market. TNT processes provide a way to use popular database programs and files to store reference information for elements in TNT Project Files. TNTmips also provides all the tools you need to edit and manipulate database records without leaving TNTmips.


Database files can be linked either as primary objects for direct use, or as subobjects that contain information cross-referenced to elements in raster, vector, CAD, or TIN objects. Files can be linked into a Project File through ODBC (Open Database Connectivity) or with TNT's direct support for particular database formats. ODBC is a cross-platform interface specification that gives application software, such as TNTmips, direct access to database tables in many different formats. Vendors of the host DBMS software (such as dBase, MS Access, and Oracle) provide ODBC drivers with their software. Then other applications, such as TNTmips, can use the ODBC drivers to access the native database tables without further conversion or modification. ODBC works on anything from a single computer to a large complex network. For example, with ODBC, TNTmips users can maintain dynamic access to their organization's central database files and immediately use the current information in their TNT processes. Further details on accessing an ODBC Data Source are provided below.

External database objects An external database object exists as a separate file outside TNT and retains the format of its parent database system (such as .DBF for dBASE). The Project File contains only link information that tells TNT where to find the file and what format it has. Linked database objects can be manipulated by their parent database programs. For databases linked without ODBC, TNT retains a date and time stamp for each database object to detect whether it has been modified outside TNT since its last use so that link information can be refreshed when the external file is modified. If you link to external database files with ODBC, the dynamic, changing nature of the external database is automatically managed by ODBC. New records and even new fields are automatically available in TNT

In the TNT professional products, an external database file can be as large as the parent database system allows. For example, dBASE IV allows files as large as two billion bytes with as many as one billion records. In the free TNTlite product, an external database object is limited to 1500 records.

Since TNT processes can directly manipulate an external database file's record and field structures, it can create external database files, append records, and edit the current data.


 

Atlas Design

The overall layout and design of an atlas is perhaps the most crucial yet undervalued part of producing an electronic atlas. While it is a fairly simplistic matter to link objects via their "geographicness" with TNTlink, it is quite another matter to layout and design a site so other humans can pick your atlas up and begin to use it like an electronic book. Also, the physical design or organization of your files on the hard drive is an important consideration to establish an underlying "Feng Shui" for the atlas. So, a few words on design.

 

From the Start - Organizing Project Files

The key to designing a atlas that looks good is to design a simple and appropriate storage structure for the component project files, objects, and subobjects, so everything is organized and easily accessible. This is more of a benefit for the person who actually will be creating and saving the screen layouts, as well as the person developing the hyperlinks. Basically, to speed up production of the atlas this means creating and organizing all project materials within a single directory (or folder) on your hard drive. For example, if you are producing an atlas containing satellite images, aerial photographs, environmental classification vector overlays with associated attribute tables, and CAD engineering drawings at the least you project might be organized like this:

 

Notice there is a separate folder established to hold "saved views" or layouts. The creation of layouts essentially provides an intermediate organization process where you can create a screen or views of geographically related objects (i.e. satellite images with overlying vectors and explicatory text) and call the entire layout up to the screen by simply asking for a single object. More on this process later.

Another important step in the design of an electronic atlas is to develop a file naming convention that lends itself to your project. Advanced users of your atlas will not hesitate to peruse the CD-ROM and take a look at the files on board. Also, the names do appear in the TNTatlas browser at times so a good clean file naming convention will only help simplify and focus your work. One of the tools to use in this process is the Project File Maintenance Tool - and articulate what a particular file is through the extended file description line in TNTmips. Often during production work most folks just accept whatever default is automatically entered in the extended description box, but now is a good time to go back and clean up the descriptions. This is especially important if you have imported many photographic CD images - raster files in which the description line reads something like: "PCD Image #5620-img0042 raster imported from PhotoCD". This description is almost worthless in terms of where it will show up inside the atlas. And that's why we bring this up at this point - it will show up as a choice inside one of the HyperIndex Navigator windows!

 

Design of Introductory Screens

Above all, when designing an Atlas simplicity in form and function are of prime consideration. A well designed "front page" provides a rapid and quick approach to all levels in the atlas. The Introductory Screen is often best designed outside of the TNTmips system in a commercial package like Photoshop. Often the design of the front page will require the touch of a graphic artist and will look orders of magnitude more professional if you follow this path rather than scrimping by on this item. Considerations of the placement of corporate logos, the title, how you might credit contributors to the project, and the design elements themselves need to be sketched out and played with to achieve something that looks good and works.

As far as the TNTlink process goes you will need to determine the style of buttons or "link areas" at this stage - what kind of "look and feel" does the page need to pull the user through the front door. Many of these elements can be adapted from the Internet and web designers will probably be your best resource to create TNTatlas front pages with the look you want.

The single most important consideration in the design of the front page is the size of the page. For this, you need to take into consideration your clients - and what kind of computer monitors they will be using to view the atlas. It does little good to design an introductory screen at 1024 X 1220 on a 21-inch monitor using 24-bit color when your clients might have a maximum display resolution inside TNTatlas of 600 X 800 on a 14-inch monitor only capable of displaying 256 colors (8-bit color). When in doubt, always choose the lowest common denominator. Actually in practice, a well designed screen at 640 X 480 focuses a lot of simplicity and directness into the front page. At this size you will realize far more direct and immediate communication potential than at larger sizes. Confining your design elements a bit at this step will allow you to focus more on communication - in particular, "...which button is gonna start this ship anyway?

A good strategy for a concise front page would be to create a welcome object that includes a small text area that introduces the user to the stack, and includes a scenic background photograph, with appropriate in the corners or along the bottom edge of the screen, and an obvious HyperIndex index area for users to select in order to move on to the next level of the stack. When that index area is selected, give the user two types of choices - this will simplify access decisions as the user begins to move through the Atlas.

 

Strategies for Building a Stack

Construction of a stack(s) with HyperIndex Linker requires prior planning. Your strategy for building a particular stack depends upon the amount of time you have available to gather information, prepare objects, and organize the stack as well as the size of your storage media and the degree of complexity inherent in the stack design. The size of the stack is determined by your objective for the stack, your resources (information and hardware), and the stack's intended audience.

The highest level of a stack displays the initial parent object. You select an image for the highest level based on the objective of your stack. For example, the image may be a title, a graphic image or logo, a general map, an informative diagram, buttons accompanied by labels or images, or readily recognizable image(s) that are pertinent to the stack. The highest level needs to be linked to the rest of the stack at the beginning of stack construction. Add the highest level object to Display Layout and then begin linking the daughter objects of the next level to it.

You do not have to plan the entire stack before starting construction. You can add information to an existing stack and link multiple stacks at a later date as information is updated or new information becomes available. A stack may contain any number of linked stacks.

You can use the same objects in more than one level of a stack as either parent or daughter objects. You can also link the objects to different or partially similar sets of information in each stack or level.

 

Organizing the Stack

As a first step, you should develop an objective to guide your creation of a stack. Your objective will identify the potential stack users and the anticipated function of the stack while taking into account the available resources.

After developing an objective, you plan the structure of the stack. You decide which information will be placed in the upper levels of the stack and which information will be linked to more than one object.

 

Adding Objects to a Stack

The HyperIndex Linker is a very flexible tool; you do not have to add objects to the stack in the order they will be viewed. You may also change any of the information in an existing stack at any time. Portions of stacks may be added or deleted from a stack or multiple separate stacks may be combined into one. No single method exists for creating stacks with HyperIndex, but the following steps provide general guidelines for creating stacks.

 

Design the Stack

Typically, most stack creators prepare a plan prior to starting stack construction. The level of detail in the plan depends upon the personal preferences and experience of the creator. You may find it valuable to draw a diagram of the stack structure as part of your plan.

 

Create the Objects

You can use in a HyperIndex stack raster (except multi-component rasters), vector, and CAD objects as well as objects created with Save As in the Display Layout controls window or with View / Snapshot in the View window. Multi-component rasters must be converted to color composite raster objects or saved as layout views if you want to use them as daughter objects. Stack creation may be time consuming if you create graphic images for use in the stack or the stack contains many objects. As you create objects, remember that you can save time and effort by automatically creating stacks with Auto Add when all the objects to be linked are georeferenced.

 

Delineate the Index Areas

You must delineate the index areas or elements on the parent object. The tools for creating index areas are on the HyperIndex Linker window. The number of index areas that can be placed on a parent object is unlimited by HyperIndex; however, the number is realistically limited by the stack users' ability to perceive the index areas on the parent object. You can overlap index areas if you wish; if the user clicks in an overlapping area, the HyperIndex Link Selection window appears, and the user can then choose among the daughter objects attached to the overlapping index areas. You can then move to the next index area and repeat the process. You can also use the Auto Add process on the HyperIndex Linker window to automatically create index areas and links for objects georeferenced to the same non-arbitrary projection.

 

Create the Links

Next you must add the connections between the index area and the daughter object(s). Use the HyperIndex Link Selection and Link Editor windows to create the link(s). To create the link, you must know the path, project file name, object name, and type of the daughter object. If you choose, more than one daughter object can be attached to an index area.

 

Adjust the Display

Finally, you can adjust the display of the parent objects and the daughter objects if you have preferences for the appearance of the objects. MicroImages software "remembers" the last way an object was displayed. For example, a particular contrast setting can be selected. However, this selection is not permanent as users of the stack can also make changes in the appearance of objects. If you want your display preferences to be permanent, you must use an object that is a saved view.

Test the Stack

When you are finished assembling the stack, start at the highest level of the stack and click on all index areas to check that all of the links are connected as you want. Continue to do this through all levels of the stack. Correct any problems that you find. While testing is not a requirement in stack creation, the testing assures that you are providing a high quality, functional stack to users.

NOTE: In order to attach an object to a stack, you must have a subobject. This is done automatically for you when you create a link between a daughter and parent object. Normally an object has only one HyperIndex subobject. However, if you have used the object in a prior stack, HyperIndex uses the most recent HyperIndex subobject when determining linkage.

 

Making the Links with TNTlink

Making the links with TNTmips/TNTlink is perhaps the simplest part of the Atlas-making extravaganza. If you have thoroughly designed and laid out the site before you start the linking process life will be much more enjoyable. This is not to say that once you have a front page and another directly-linked page that you can't go ahead a link something. It's just if your atlas will include several layers or topical areas then the parent objects must be created before links to the daughters are allowed.

 

Getting Started

Once you install TNTlink you will be able to access it through using the New Display Layout Icon. This Icon is accessed by using the TNTmips "Display/Spatial Data 5.8 Prototype..." button to display the icon bar shown below. Choosing the New Display layout button will in turn open the display interface and if TNTlink is displayed on your system you will see the icon on the Layout window button bar - right next to the TNTatlas navigator button.

 

The HyperIndex/TNTlink Toolset

HyperIndex® or TNTlink is a TNTmips process that manages large collections of graphically indexed objects called stacks. These stacks are created with the TNTlink (HyperIndex Linker) tool, which is an optional feature for TNTmips and is discussed below. The TNTlink toolset is part of Display Layout in Spatial Data Display. The following definitions are applicable to the discussion of HyperIndex.

HyperIndex® A trademarked name for the TNT process that manages large collections of graphically indexed objects (raster, vector, CAD, and View layout objects). Images and information can be retrieved from the HyperIndex stack hierarchy by using the mouse to select an area of interest, called the index area, from the current display image.
Stack A hierarchical arrangement of images and other information used by HyperIndex that graphically links logically related objects. A stack generally has the inverted tree form of a genealogy chart.
Index Area/Element An area or element that activates display of a specific object(s) when selected with the mouse. The index area is defined on the image of the current display object and may be rectangular, circular, or irregular in shape. Index elements are defined on vector objects and can be any of the three vector elements. Index areas and elements are revealed on the display of the current object when the Show Index Areas option on the HyperIndex cascade of the Options menu in the View window is on.
Link The connection stored in a HyperIndex stack that ties an index on one object with the path and name of another object.
Level Any object or set of objects displayed in the View window is called a level in the context of a HyperIndex stack. A level may originate from a saved view, raster, vector, or a CAD object. However, in HyperIndex, the level assumes an identity beyond that of the object because the level includes the defined index area(s) and element(s) as well as links to other objects. Thus, in addition to being an image, a level lets you access additional information.
Parent object An independent object that contains one or more index areas or elements that link other related objects to the parent object. The object(s) linked to the defined index areas or elements on a parent object are referred to as daughter objects.
Daughter object An independent object one level down from a parent object in the stack hierarchy. That is, the linked objects have a parent / daughter relationship in which the parent object is closer to the top of the hierarchy, and the daughter object is reached by selecting an index area on the parent object with the mouse. There can be many levels within a stack, and a single parent object can have many different daughter objects. The parent / daughter analogy is not precise because a single daughter object can have many parent objects.
Lateral Link The HyperIndex connection between "sister" object(s) at the same hierarchical level as the daughter object you are currently viewing. The connection can be individually established by the user or automatically estimated. HyperIndex displays a list of laterally linked objects when you select one of the available directional buttons in the HyperIndex(R) Navigator window. You can move to the sister object by double clicking on its name in the HyperIndex Navigator window.

 

What Is HyperIndex

HyperIndex arranges objects in a specified hierarchy, called a stack. One object is at the top of the stack, and this parent object has area(s) defined on it that are called index area(s). Clicking the mouse in an index area removes the parent object from the display window, and replaces it with another object, the daughter object. An index area may have more than one daughter object linked to it or index areas may overlap, in which case you select which object to display. Daughter objects, in turn, become parent objects when a file or object is linked to them. There can be many parent / daughter levels within a stack, and a single parent object can have many different daughter objects. The parent / daughter analogy is not precise because a daughter object can have many parent objects. A level’s position in the hierarchy determines whether it is a parent object, a daughter object, or both. You can use a single object, such as a color scan of a map, in multiple positions in a single stack without having to duplicate the object for each usage.

Information on links from daughter objects to index areas or elements is kept in a HyperIndex subobject associated with the parent object. This linking information includes the name and directory of the project file and the name of the object. If you move, rename or delete project files or objects that are part of a stack, the HyperIndex process is not able to automatically display the objects when you click on the index area or element to which they are linked.

The number of levels in a stack is virtually unlimited. The width of a stack is equally unlimited; one parent object can have as many index areas and links as you want to create. However, there are practical limits to the number of indices that can fit on one object or the number of links to one index area that you are willing to scroll through during a search for a particular linked object.

HyperIndex stacks can include most objects that can be visualized in TNT products. Single raster, vector, and CAD objects in RVC format can be used directly as part of a stack. Any raster file format that has already been linked to an RVC raster object (either in Display Spatial Data or using Import / Export) can be added to a stack like any raster in native RVC format. Multiple component layers, multiple layer groups, and multiple group Views can also become part of a stack at any level by first saving them as a View layout and then selecting the layout object when the link is established. This feature places complex Views containing multiple objects a single mouse click away. View layouts also provide a way to view text, as it can not be directly linked to a stack. Multiple component layers can also serve directly as a parent object at the highest level when a stack is built. Database information linked to each object in the stack can also be viewed. Click the Show Details icon button in the layers icon row of the Layout Controls window, turn on Select button for the element type you in which you are interested, and click the Show Tables icon. Use the element selection tools and other database viewing options to look at attributes in the object database.

More About the TNTlink (HyperIndex Linker) Tool

You can create and maintain stacks in Display Layout if the TNTlink (HyperIndex ® Linker) option has been purchased for your TNTmips system. When you choose the TNTlink (HyperIndex Linker) icon button or the HyperIndex Linker option from the Tool menu on the View window, the HyperIndex(R) Linker window appears. From this window, you can add, delete, or edit the index areas on the object currently displayed in the view window; or you can add, delete, or edit the links that connect the index area with the next layer of objects.

The following definition is specific to the TNTLink tool and is used in the discussion below:

Authoring Station A computer with the TNTmips software and key that has the HyperIndex Linker option. An authoring station has the ability to create and maintain HyperIndex stacks as well as view them.

In the following discussion, the assumption is made that you are creating a HyperIndex stack for others to use. Prior to creation of the new stack, you should decide how to organize the data as well as choose objects that are visually easy for the user to understand. The resultant stack will be easy to use.

 

The Linking Concept

The basic component of a HyperIndex stack is the connection of one object (the parent) to another object (the daughter), which can be done by two methods. In one method, your first step in the creation of a connection is delineation of an area or element of interest on the parent object. The area of interest is called the index area or element. Your second step is creation of the link, which ties the path to the daughter object and the object’s name to the index area on the parent object. These two steps are handled in the HyperIndex Linker window. In the second method, the Auto Add option on the Linker window combines these two steps in an automated stack creation process. Note that objects must be georeferenced to a non-arbitrary projection for Auto Add to function correctly.

The end result of the linking process is a progression leading the user of the stack from the display of one object to the display of another object. The user progresses by clicking in an index area or on an index element on each display.

Parent objects can have one or more index areas, each of which is linked to one or more daughter objects. For instance, a map of the world may have an index area for each country. Each index area is outlined by a country’s boundary; clicking on a country displays a detailed map of the country. If the index area of a parent object has multiple daughter objects, the user of the stack chooses which daughter object to view. For example, a set of airphotos of a particular area may have been taken several times in one growing season or many times over several years. A stack containing these airphotos can be created with a general map showing the coverage areas of the airphoto sets. Clicking on one of these coverage areas brings up a list by date of all the airphotos of that area. The user then selects the date of the desired airphoto, which displays the airphoto.

 

Object Types and HyperIndex

HyperIndex uses RVC object types. Information on the use of each data type and any limitations are given below.

Raster objects, which include grayscale, composite color, and views saved with View / Snapshot, can be used as parent and daughter objects.

Multiple component raster objects (RGB, RGBI, and so forth) can be used as parent objects, but can not be used for daughter objects. This limits RGB raster objects to the starting level in a stack. If you wish to use a RGB raster object for any level other than the starting level, you will either have to convert the object to a composite-color raster object or save it as a window layout object.

Vector objects can be used as parent and daughter objects. Index areas may be drawn on the vector object, or links may be made to individual elements (point, line or polygon) in the vector object.

CAD objects may be used as parent and daughter objects. Index areas may be drawn on the CAD object. The ability to add links to individual elements in the CAD object will be included at a future date.

Layout objects saved from Display Layout or Hardcopy Layout can be used in HyperIndex stacks. Raster, vector, and CAD objects saved as view layout objects can be parent and daughter objects. Text saved as view layout objects can only be used as daughter objects. Storing data as a view layout object is advantageous in a HyperIndex stack even if the view layout object only contains one object. Any settings, such as those set for contrast method and georeference mode, are saved as part of the view layout object and are not updated if you make changes while in the View window. Stack updates are also easier to do with view layout objects in some cases. For example, you want to add a vector overlay to a raster object. If you saved the original raster object as a view layout object, you can add the vector object and resave the view layout object without needing to make any changes to the links. If you did not originally create a view layout object, you will have to create one containing the raster and vector objects. You must then go into the stack and change all links to the old raster object to the new view layout object.

NOTE: A view layout object used as a parent object does not have the HyperIndex subobject saved with it; instead at least one of the individual objects that make up the view layout object have the HyperIndex subobject.

Linked objects created with the Link To option from the Support / Maintenance / Project File cascade can be used as daughter objects in HyperIndex stacks. Linked objects contain links to files that are read only files, such as the sample project files provided on the San Francisco Atlas CD-ROM.

 

 

The TNTlink Interface

The TNTlink (HyperIndex(R) Linker) window is the heart of the stack creation process. You use this window to add index areas and links to an object, edit existing index areas and links, or delete index areas and links that no longer apply. You can also designate a vector element as an index area, and create a link to that element.

The HyperIndex Linker window is divided into two areas. The seven radio buttons in two columns on the left side activate seven tools used for the creation and selection of index areas. The right side of the window contains five buttons that start processes for editing either the index area or link. Each button is described in detail below. To close this window, select a tool other than the HyperIndex Linker from the View window toolbar or the View / Tool menu.

HyperIndex(R) Linker window

 

Existing Button

When the Existing radio button is on you can select an existing index area and edit or delete either the index area or the links associated with that index area. To choose an index area, click in an existing index area or on an index element. When the Existing button is on, the Edit Index Area, Delete Index Area, and Edit Links buttons are available for the selected index area.

 

Box Button

When the Box radio button is on, you can draw a square or rectangular index area anywhere on the displayed object. To create an index area, turn the Box button on, click with the left mouse button where you want to locate one corner of the box, and drag the mouse in order to pull out a box. Release the mouse button to stop resizing the box. If you point inside the middle of the box, the cursor assumes a cross arrows shape, and you can reposition the box without changing its size by depressing the mouse button and dragging the box. If you point inside the box and adjacent to a corner or side, the cursor assumes a corner or side resizing shape, and you can change the size of the box. When you are satisfied with the shape, size and, placement of the box, click with the right mouse button to place the box as an index area. The Link Selection window opens automatically so that you can create a link to an object from the index area.

 

Circle Button

The Circle radio button allows you to draw a new index area in the shape of a circle or ellipse anywhere on the displayed object. To create an index area, click with the left mouse button where you want the center of the circle to be; then with the mouse button still down, draw out the radius of the circle. Release the mouse button to stop drawing the circle. If you then click inside the circle, the cursor changes and assumes a cross arrows shape, and you may move the circle. If you point to the edge of the circle, the cursor changes to a hand. Depress the mouse button, and you can resize the radius. When you are satisfied with the placement and size of the circle, click with the right mouse button to place the circle as an index area. The Link Selection window opens automatically so that you can create a link to an object from the index area.

 

Polygon Button

The Polygon radio button allows you to draw a new index area in the shape of a polygon anywhere on the displayed object. Clicking on the Polygon button displays the Line / Polygon Edit Controls window and turns the mouse pointer into a pencil. The first five icon buttons in the window (moving from left to right) control addition and manipulation of vertices. The sixth icon button allows you to drag a line to a new position on the displayed object. You can create the line segment(s) that form the polygon in two ways when the Draw icon button is on. As you hold down the mouse button and drag, a continuous line is drawn for the polygon. You can also create the polygon in discrete segments by clicking and creating a series of vertices. A straight line is automatically drawn between the new vertex and the previous vertex each time you click the mouse button. The Stretch icon button enables you to create temporary elastic line segments between the previous vertex and the next position where you click. You move the elastic line segment by not releasing the mouse button when you click for the new vertex and then dragging the mouse until you have positioned the line where you want it. The Clear icon button removes the polygon that you have been drawing. Clicking on the Close Polygon icon button closes the polygon automatically. When the polygon has the right shape, size, and placement, click on the Apply button in the Line / Polygon Edit Controls window or click on the polygon with the right mouse button to place it on the displayed object. The Link Selection window opens automatically so that you can create a link to an object from the index area. See the section, Line / Polygon Editor, in the Basic System Operations volume for more information on this window.

Line / Polygon Edit Controls window

 

Vector Point Button

The Vector Point button is one of three vector radio buttons in the right tool column in the HyperIndex Linker window. The vector radio buttons let you create HyperIndex links for individual elements in vector objects. A vector element with a link is an index element. When you click on an index element, another object is displayed or you are given a choice of objects to view.

NOTE: You can also draw index areas on vector objects with the box, circle, and polygon tools. Linked elements and index areas can be used on the same object.

Clicking on the Vector Point radio button activates the Vector Point tool, and the mouse cursor assumes a crosshairs shape. Using the mouse cursor, click on a vector point element to select it. The selected element is displayed in the color you chose in the View / Options / Colors window. (Pick a highlight color that is easily distinguished from the color of the vector display elements so that the selected elements are easy to see.) The Edit Links button, which allows you to link object(s) to the index element, is available after you select an index element. The Edit Links button is described below.

 

Vector Line Button

The Vector Line button is one of three vector radio buttons in the HyperIndex Linker window that let you create HyperIndex links for individual elements in vector objects. A vector element with a link is an index element. When you click on an index element, another object is displayed or you are given a choice of objects to view.

NOTE: You can also draw index areas on vector objects with the box, circle, and polygon tools. Linked elements and index areas can be used on the same object.

Clicking on the Vector Line radio button activates the Vector Line tool, and the mouse cursor assumes a crosshairs shape. Using the mouse cursor, click on a vector line element to select it. The selected element is displayed in the color you chose in the View / Options / Colors window. (Pick a highlight color that is easily distinguished from the color of the vector display elements so that the index elements are easy to see.) The Edit Links button, which allows you to link object(s) to the index element, is available after you select an index element. The Edit Links button is described below.

Vector Polygon Button

The Vector Polygon button is one of three vector radio buttons in the HyperIndex Linker window that let you create HyperIndex links for individual elements in vector objects. A vector element with a link is an index element. When you click on an index element, another object is displayed or you are given a choice of objects to view.

NOTE: You may also draw index areas on vector objects with the box, circle, and polygon tools. Linked elements and index areas can be used on the same object.

Clicking on the Vector Polygon radio button activates the Vector Polygon tool, and the mouse cursor assumes a crosshairs shape. Using the mouse cursor, click on a vector polygon element to select it. The selected polygon element is displayed in the color you chose in the View / Options / Colors window. (Pick a highlight color that is easily distinguished from the color of the vector display elements so that the selected elements are easy to see). The Edit Links button, which allows you to link object(s) to the index element, is available after you select an index element. The Edit Links button is described below.

 

CAD Element Button

The ability to create individual CAD index elements will be implemented at a future date. At present, you can draw index areas on CAD objects with the Box, Circle and Polygon tools in the HyperIndex Linker window. See the preceding discussions of these tools.

 

Edit Index Area Button

The Edit Index Area button is available if the Existing radio button is on and an index area or element has been selected. After selecting the Edit Index Area button, you may edit the size, shape, and/or placement of the index area. For example, if the index area was created with the Box tool, the box-shaping cursors are available when you point to the outline of the box (see the preceding section, Box Button, for more information on use of the Box tool). Click with the right mouse button when the box is correct.

If the index area was created with the Polygon tool, the Line / Polygon Edit Controls window appears when the index area and button are selected (see the preceding Polygon button section for information on using the Line / Polygon editing options). Either click with the right mouse button or click on the Apply button in the window when the polygon is correct.

 

Delete Index Area Button

The Delete Index Area button is available if the Existing radio button is on and an index area has been selected. When the Delete Index Area button is selected, the selected index area can be deleted from the object. If the selected index area does not have any links saved with it, clicking on the Delete Index Area button activates a Verify window with the message, "Delete selected index area? (There are no links attached to it)". Click the Yes button to remove the index area, the No button to return to the HyperIndex Linker window without making changes, and the Help button for an explanation of the Verify process.

If the selected index area does have links saved with it, clicking on Delete Index Area activates a Verify window with the message, "Delete selected index area and all links attached to it?" Click on the Yes button to remove the links to daughter objects and the index area from the parent object, the No button to return to the HyperIndex Linker window without making changes, and the Help button for an explanation of the Verify process (Help is not available in this window yet).

 

Edit Links Button

The Edit Links button is available when the Existing radio button is turned on and an index area is selected. This process allows you to add links to a new index area, edit the links in an existing index area, or delete links. Choosing this process brings up the HyperIndex(R) Link Selection window. This window has one list panel and five push buttons, which are explained in the sections below.

HyperIndex(R) Link Selection window

 

Link Selection List Panel

The top section of the HyperIndex Link Selection window is a list panel that shows the HyperIndex object descriptions of all daughter objects linked to the index area. If there are no links, this panel is blank. To activate the Delete and Edit options, select one of the links by clicking once on the description. Only one link at a time can be edited or deleted.

 

Link Selection OK Button

When you click on the OK button, the list of links in the list panel of the HyperIndex Link Selection window is accepted. The OK button is the only way to exit out of this window. Any changes made to the link list are implemented immediately. If you change the list and later decide that you prefer the original, you have to manually regenerate the list. For example, if you add a link and then change your mind, you have to reenter the window, delete the link, and then click on OK to restore the list to its original form.

 

Link Selection Add Button

The Add button on the HyperIndex Link Selection window allows you to create a link between a parent object and a daughter object. Clicking on the Add button brings up the HyperIndex(R) Link Editor window.

HyperIndex(R) Link Editor window

The first button on the HyperIndex Link Editor window is the Type button, which allows you to select the type of object to be added. Be sure to pick the correct type category for the object. For example, if you choose raster as the Type for a vector object, you can not view the vector object in the HyperIndex stack; instead you receive a Message window that tells you "Cannot find object" and then gives the name of the object. Your choices on the Type button are:

Saved View object or group of objects saved with the Layout /

Save As option

Raster color, gray-scale, and composite color

rasters; linked objects; and objects saved

with View / Snapshot

Vector vector objects

CAD CAD objects

NOTE: RGB (or multi-component) rasters can not be daughter objects. If you want to link them to a parent object using the Link Editor window, you must convert them to composite color raster objects or save them with the Layout / Save As option on the Controls window.

The second button on the HyperIndex Link Editor is Object, which enables you to select the path and name of the daughter object. When you click on the Object button, a File / Object Selection window opens (see the Basic System Operations volume for more information on this window).

The Description text field is next in the window. This field stores a description of the object, which the user of a stack sees when using the HyperIndex Navigator tool and the Link Selection window. The description of the object in the File / Object Selection window is automatically entered into this field. You can edit the description in the Link Editor window by clicking in the text field where you wish to begin making changes (do not edit the description of the object in the File / Object Selection window). If you choose to edit a description, you should make the description meaningful to the users of the stack.

NOTE: The description that appears in the Link Editor window is only used in HyperIndex; editing the description does not change the object description that appears in the File / Object Selection window.

The Position option button allows you to determine which part of the object appears in the View window when you move through the HyperIndex stack to the object you wish to view. If you choose Mouse Click, the portion of the object that appears in the View window is centered on where you clicked the mouse on the previous object in order to move to the object you are currently viewing. However, the mouse click may not be centered in the View window if centering it would cause the object to not fill the View window If you turn on Image Center, the center of the object appears in the View window when you move through the stack to the object. The From Saved View option is not yet available.

The Scale option button allows you to set the scale at which an object appears in the View window when the HyperIndex Navigator tool first adds the object. Your choices are 1X, Full View, and From Saved View. Select the one that is most appropriate for the object. The From Saved View option is not yet available.

The last three buttons on the HyperIndex Link Editor window are the OK, Cancel, and Help buttons. Press [OK] when the information about the daughter object is complete, or press [Cancel] if you want to make additional changes. Help has not been implemented yet.

 

Link Selection Delete Button

You can remove a link from the selected index area with the Delete button on the Link Selection window. First, highlight one of the descriptions in the list display panel on the Link Selection window. Then click on the Delete button. A Verify window appears with three buttons and the message "Delete selected HyperIndex link?". Click on the No button if you decide not to delete the link, or click on the Yes button to remove the link. A Help button explains the effects of the Yes and No option buttons.

If there is more than one link to the selected index area when you highlight the link to be removed, clicking on the Yes button in the Verify window returns you to the Link Selection window and updates the list display panel.

If you choose to delete the only link to an index area, a second Verify window appears with the message "Delete selected index area? There are no links attached to it)." after you click on Yes in the first Verify window. This second dialog box allows you to remove the index area on the parent object and the link simultaneously, which saves a step if you want to remove both. Click on the Yes button to remove the index area and the link, or click on the No button to remove the link but leave the index area.

 

Link Selection Edit Button

You can change an existing link with the Edit button on the Link Selection window. First highlight a description in the list display panel on the Link Selection window, and click on the Edit button. The HyperIndex Link Editor window appears with information about the selected link (see the discussion of this window in the Link Selection Add Button section above.)

You can change the information in the Link Editor window about the link to the daughter object. For instance, you could change the daughter object or change the object description that the user of the stack sees in the Link Selection window. When you are satisfied with your changes to the link, click on the OK button. If you change your mind about editing any of the link information, click on the Cancel button to return to the Link Selection window.

 

Auto Add Button

The Auto Add button on the HyperIndex Linker window allows one or more index areas to be added automatically under certain conditions. This button is only available if the Existing radio button is in and if the parent object is georeferenced. The daughter objects to be added must also be georeferenced and have extents within the parent object.

Auto Add example with two index areas

For example, the Crow Butte hydrology vector object may be used as a parent object. When Auto Add creates a link between this object and the Crow Butte composite color raster, the index area created is the same as the perimeter of the hydrology vector object because both objects are based on a 7.5 minute quadrangle map. When Auto Add creates a link between the hydrology vector object and the Crow Butte 11x17 inch soil line map, the index area is the same size as the soil line map, which is a smaller object. Also, the smaller index area does not completely lie within the perimeter of the hydrology vector object because the two objects cover slightly different areas.

NOTE: If you activate the HyperIndex tool and click within the common area of the two index areas created by Auto Add in the above example, the HyperIndex Link Selection window appears even if you did not turn on Options / HyperIndex / Verify Selection in the View window. This window allows you to choose which daughter object to view.

When you click on the Auto Add button, the File / Object Selection window for multiple objects appears (see the Basic System Operations volume for more information on this window). Add all of the daughter objects you want to link to the list on the right side of the File / Object Selection window. The daughter objects do not have to be from the same project file but can be from anywhere on your storage media. If you add the daughter objects individually rather than at the same time, the links must be edited individually. If you try to add an object to the list that is not georeferenced, the message "Object must be georeferenced to a non-arbitrary projection" appears. If you try to add an object to the list that is georeferenced but to a different non-arbitrary projection, HyperIndex goes through the motions of creating a link but does not actually do so; no error message is given.

Click [OK] when the list of daughter objects is complete. The index areas are automatically added in the correct place and at a size determined by the georeferencing. The appropriate links are created for each daughter object. After the Auto Add process is complete, you may use any of the editing features to change the color of the index area outlines, the descriptions of the links, and other flexible stack parameters.

 

Color Button

When you first enter the HyperIndex Linker window, the default color of the index area outlines and elements is black. Selecting the Color button brings up the Color Editor window. See the Basic System Operations volume for more information on this window. The effect of changing colors depends on the mode you are in at the time.

If you choose the Color button when you have the Existing radio button on and an index area selected, the color of the lines for that index area are changed. The default color is also changed to the newly selected color. If the Existing radio button is on but no index area is selected, only the color of future index areas is changed. If any of the drawing tools are selected on the Linker window (Box, Circle, or Polygon), the color of future index areas is changed. The newly selected color is utilized in both the manual and the Auto Add processes.

You can also create hidden index areas if you do not want your index area perimeters to be visible. Open the Color Editor window and turn on the Transparent check button. Any index areas that you create can not be seen unless you turn on Options / HyperIndex / Show Hidden Index Areas in the View window.

NOTE: Index areas change to a complementary color when selected in HyperIndex and HyperIndex Linker. For example, black outlines turn white, red turn green, and blue turn orange when the index area is selected. When you click on a hidden index area that is rendered visible, the index area outline disappears rather than change color.

 

 

 

Authoring the CD-ROM

We will assume that you already own a CD-ROM writer and are proficient in its use. Authoring the electronic atlas is simple as long as you have followed "The Rule".

 

In short to produce a working copy of your atlas with TNTatlas as the driver we provide the following recipe:

 

Recipe for making an atlas - possum style

The following recipe for atlas construction provides a two step process for installing TNTatlas to a hard drive and then opening the atlas (resident on a CD-ROM) either through a *.atl file or directly opening the top level atlas object.

1. Copy the following directories and subdirectories directly off the TNTmips 5.8 version CD-ROM and place them in your CD-ROM master directory:

D:\Autorun

Setup_31

Setup_al

Setup_nt

D:\Reffiles

D:\Refwin

BDF

Misc

D:\Win32

We decided to only include what was necessary to install TNTatlas under Windows 95. You could include more "stuff" like the Acrobat Reader and the Getting Started Booklets or Internet Explorer or the Windows 3.1, Macintosh, or the UNIX platforms - but that choice is up to the creator. The more stuff - the more space taken up and the less for the atlas. We knew where our atlas would be installed and decided we did not want to enable a windows 3.1 installation, as we knew it would be too slow. Also, we were not equipped to support a Macintosh or UNIX installation so the choice was easy.

 

Copy the following files to CD-ROM master root directory from the version 5.8 CD-ROM:

D:Autorun.inf

D:Instman.txt

D:Lite.txt

D:Readme.txt

D:Setup.exe

2. Create a text file called "STARTUP.ATL" or "BEGIN.ATL" (you can use whatever name you'd like as long as the filename adheres to the DOS 8.3 convention) and place it in the same folder as the TNTATLAS.EXE file, or on the root directory of the CD-ROM. This is a choice that the atlas creator needs to make. If Startup.atl is placed in the same folder as TNTatlas.exe it should automatically load the atlas described in STARTUP.ATL when TNTATLAS is run via the command: "TNTSTART.EXE TNTATLAS". Alternatively, you can name the .ATL file whatever you want and place it on the root directory of the CD-ROM and have the user select it from the File/Open menu. This is the option we choose to use so the user would first install TNTatlas 5.8 from the CD-ROM and then use File/Open to select the *.atl file or File/Open Object to open the top level atlas object. Actually, when startup.atl is written to the root of the CD-ROM you cannot use it to open the atlas although the Title that appears on the TNTatlas window bar will be what is entered into line four of the file (see below). At least, that was our experience.

The startup.atl file can be written to the root of the directory in the following form:

  1. [TNTatlas]
  2. File=X:\ANAATLAS\START.RVC
  3. Object=START_HERE.RASTER
  4. Title=ANADARKO ELECTRONIC ATLAS - BLOCK 84, PERU
  5. …leave this line blank…but be sure a blank line is included in the file!

 

Tips for startup.atl:

Line 2: use "X:" instead of D: or another drive letter and TNTatlas will search the system for the CD-ROM drive where the atlas is. Also, be sure and capitalize everything on line 2 except the word "File".

Line 3: Define the object exactly as it appears in the TNTmips project file - honor capitals and lower case letters in the object name and any punctuation. Note the underscore line separating START and HERE in this example. Follow the object name with a period and identify the object accordingly:

RASTER = raster

VECTOR = vector

CAD = CAD

PAGELT = Page layout

DLAYOT = Display layout

Line 4: Whatever title you enter on this line will be displayed on the Window bar at the top of the Atlas Screen. The Title entry lets you specify your own title to which TNTatlas will append "-TNTatlas 5.7" to identify itself. (This was something that was hard-coded on the Maryland Coastal Bays Atlas and if we were not using TNTatlas 5.8 we would have been stuck with the Coastal Bays title on the atlas.)

Line 5: Make sure this line is included in the file but leave it blank. This was a suggestion from Steve Hovland (of MicroImages, Inc.) that he provided for someone in Maryland that made the *.atl file work for them. No telling why - it just does. So we adopted it as well.

3. Copy your atlas to the CD-ROM master directory. Recommendations for the structure of your atlas folders/directories:

X:\xxxATLAS - \rasters

\vectors

\CAD

\Database

\Text

\SaveView

This structure provides a sufficient number of Folders to place everything into for most atlas projects. The most important feature to us is the SaveView ("Saved Views") folder - we can create effective and efficient screen layouts of whatever combinations of elements we desire and then add the saved view into the atlases as needed. Some of our text blurbs are standards (like 'Click on the following links to see the photographs") and we can repeatedly add them to views at all pertinent levels in our HyperIndex stacks and maintain consistency and direction. The most important aspect of creating the atlas and the views is not to change folder names or the locations of files or else the 'Layouts" will not be able to locate the view elements. As long as the Folder/Directory/File structure is preserved when you master the atlas you will be able to access the atlas on the CD-ROM and all the links will work.

 

4. By the time you get ready to burn the CD-ROM your accumulated Files and Folders should look something like this:

These are the minimal files needed for the installation of TNTatlas under Windows 95. If you need to consider creating installations for Windows NT and Windows 3.1 then you will also need to copy the NT_alpha and WIN31 directories into your assembly area.

 

 

TNTatlas

 

TNTatlas - How to View a Stack

To look at a HyperIndex stack, first display the starting level in the View window by adding the parent object to the layout using the one of the Quick-Add or Add object methods explained in the preceding section, More About Adding Layers. (If you are adding an object that you have used in more than one HyperIndex in the past, the last used HyperIndex subobject is automatically selected for use.)

NOTE: You are not required to enter at the top level of a stack. Every time you add a layer with a HyperIndex subobject selected you may move in any direction where a link has been established. Also note that if the level you wish to enter is a view layout, you need to use the View / Open menu selection in the Display / Spatial Data window or click on the Open Layout icon button in the Views panel.

Select the HyperIndex Navigator tool on the icon bar of the View window. The mouse cursor assumes a crosshairs shape, and the HyperIndex(R) Navigator window appears automatically. The HyperIndex Navigator window provides access to other objects in the stack through vertical movement and lateral linking, which allows you to move to another object at the same level in the stack.

HyperIndex icon selected in View window

NOTE: If you choose to view an object that is not part of a HyperIndex stack, you can still select the HyperIndex tool. Selection of the HyperIndex icon button changes the cursor's appearance to a crosshairs shape and opens the HyperIndex Navigator window. However, none of the HyperIndex functions are available.

The HyperIndex Navigator window and the HyperIndex(R) Link Selection window provide your movement choices. The Link Selection window appears when the Verify Selection button is selected on the Options / HyperIndex cascade in the View window, which is the default mode. The window also appears when the option is turned off if you click on an overlapping area shared by multiple index areas or on an index area with more than one object linked to it. The HyperIndex Link Selection window is active in the upper levels of a stack and not the lower levels even when the Verify Selection button is on. The following discussion focuses on the HyperIndex Navigator window first, then the HyperIndex Link Selection window.

The HyperIndex Navigator window provides access to other objects in a HyperIndex stack through vertical movement in the stack and lateral links to other objects. The HyperIndex Navigator window consists of eleven buttons in four rows beneath the title bar. The eight directional buttons in the first three rows of the window indicate the relative direction of links to other objects in the stack on that level. If one of more objects lie in a specific direction from the currently displayed object, the button indicating that direction is active. If no objects lie in a specific direction from your current location, the button indicating that direction is not active. Each active directional button has an associated ToolTip that consists of the name of the nearest object in the indicated direction. Move the cursor so that it lies over an active button, and the ToolTip appears. You can change the display to the nearest object by clicking on an active directional button with the left mouse button. For example, when you are displaying the DLG index screen in the San Francisco atlas, position the cursor over the active directional button in the center of the first row. The name of the object most closely linked to the DLG index screen in that direction, DEM index screen for SF atlas, appears. Change the display to the DEM index screen by clicking on the directional button.

Adjacent stack object

You can identify and move to other stack objects on the same level in addition to the object most closely linked to the current display object. When you move the cursor to an active directional button, press the right mouse button. A menu appears that lists the names of all stack objects in the indicated direction in the stack level. You can change your display to one of these objects by dragging the mouse through the list to the object you wish to view and then releasing the right mouse button. For example, when you are displaying the DLG index screen in the San Francisco atlas, position the cursor over the center directional button in the top row and press the right mouse button. A menu appears listing three objects. Drag the mouse through the list to the third object name, SPOT index screen for SF atlas. When you release the right mouse button, the display in the View window changes to this object.

Menu with objects in indicated direction

The three buttons in the lowest row on the HyperIndex Navigator window are the Home Level, Previous Level, and Help buttons. Selecting the Previous Level button (left button) changes the display to the previously viewed level. Clicking on the Home Level button (central button) changes the display to the object first displayed when you entered the stack. Choosing the Help button (right button) opens a Help window with explanatory information and other standard Help options.

The HyperIndex Navigator window is always visible while you are using HyperIndex, but the directional buttons are only available when you can move laterally. The concept of lateral linking is demonstrated in the San Francisco atlas. A parent object (the top of the stack), the Welcome to San Francisco screen, has two index areas. While you are viewing the parent object with HyperIndex, the HyperIndex Navigator window does not have any directional buttons activated because there are no other objects at the same level. Selecting one of the index areas on the parent object brings up a new screen with several daughter objects. Some of the directional buttons on the HyperIndex Navigator window become available when you move from the Welcome screen to one of the daughter objects.

To move down through the stack, click on any of the index areas. If you click in an area where no index area has been established, you receive the message, No HyperIndex links at selected point, in the text field at the bottom of the View window. If the Verify Selection option on the Options / HyperIndex cascade (described below) is selected (the default mode), clicking on an index area displays the HyperIndex Link Selection window, from which you select a daughter object to view. If the Verify Selection option is not selected, the HyperIndex Link Selection window appears only when the selected index area has multiple objects from which to choose. Click on an index area with more than one daughter object, and the window displays the list of linked daughter objects. The HyperIndex Link Selection window does not appear in the lower levels of the stack unless the selected object has an index area(s).

The following is an example of how HyperIndex works in the San Francisco atlas stack. Select the Spot View index area on the Welcome screen, and the linked object, SPOT index screen for SF atlas, is displayed in the list panel of the HyperIndex Link Selection window. Clicking [OK] or double-clicking the object name takes you to the daughter object. A search is automatically performed by HyperIndex in the parent object to find any other objects that are linked laterally. The HyperIndex Navigator window is updated to show three active directional buttons (bottom, right, and lower right diagonal) and their ToolTips . You can use the HyperIndex Navigator window to move from the SPOT index screen, now functioning as a parent object, to any of the daughter objects that are linked to it. You can also select one of the index areas on the Spot index screen and move to another level in the stack.

HyperIndex(R) Link Selection window

Moving laterally through a stack is controlled by the Verify Selection option on the View / Options / HyperIndex cascade and the number of linked objects found in a given direction. When the Verify Selection button is turned on, clicking on a directional button lists the object(s) found in that direction, even if there is just one object in the list. Choose the object you wish to display by double-clicking with the left mouse button on the name. When the Verify Selection button is turned off, clicking on an available directional button immediately displays an object if only the one object is found in that direction. If there is more than one object in a given direction, positioning the cursor over a directional button and clicking the right mouse button opens a menu with all objects available. Dragging to an object name in the list and releasing the right mouse button displays that daughter object.

NOTE: The HyperIndex Navigator window searches automatically for potential index areas in all eight directions every time a different object is viewed with HyperIndex.

HyperIndex Options cascade

The HyperIndex Link Selection window allows you to choose between multiple daughter objects if more than one is linked to the same index area or if you click in overlapping index areas. Click on the desired object in the list and then the OK button or the Enter key to display the next level in the stack. You can also double-click the object name in the list panel to bypass the OK button. You can cancel the HyperIndex selection from the Link Selection window by clicking on the Cancel button. The Link Selection window disappears, and the outline of the index area in the San Francisco atlas changes from the color of a selected area to the original color of the index area.

NOTE: Pressing the Enter key displays the selected object only if the cursor is inside the HyperIndex Link Selection window. If the cursor is outside the window, pressing the Enter key will not display the selected object.

You have the option of changing the display characteristics of the currently displayed object. Because the displayed object keeps track of the last subobject(s) used, it is possible that the subobject(s) you wish to use is not available. When you move to the next object in a stack, the name of the parent object in the layers row of the Layout Controls window is replaced with the name of the daughter object that is now displayed. You can access the Object Display Controls window by choosing the object icon from the layer icon row of the Controls window.

Any of the processes on the Tools dropdown can be used to modify or examine the currently displayed object. For instance, if the object is georeferenced, the Object Coordinates window can be opened so that the coordinates of the HyperIndex tool register as the tool is moved around the View window. The View window tools can also be selected and used to modify the view of an object. The HyperIndex tool is deselected while you are using the View window tools and must be reselected when you are finished using the tools.

 

HyperIndex Options

HyperIndex has three options, Show Index Areas, Show Hidden Index Areas, and Verify Selection, that affect the display. These options are found in the View / Options / HyperIndex menu cascade.

The Show Index Areas button determines whether or not the index areas are displayed on the parent object. When the button is on, the index areas are shown. However, the index areas can be selected and daughter objects displayed even if the index areas are not displayed. For instance, if the object displayed has representations of buttons that you want the user to select, you do not want the index area outlines around the buttons to be seen.

The Show Hidden Index Areas button allows you to see index areas that have their color set to transparent. These index areas do not become visible when you simply turn on Show Index Areas. Hidden index areas are convenient when you are creating a stack and it is obvious to users where they should click on an index area in the View window. By hiding the index areas, you can reduce clutter in the View window. The index is designed so that it is obvious to users where they should click in order to move through the stack. If the index area outlines were visible, they would be redundant and would clutter a user's view of the Index.

 

The Verify Selection button determines when the HyperIndex Link Selection window is shown. When an index area has more than one object linked to that area, the Link Selection window always appears, even if the Verify Selection option is not on. If the Verify Selection button is on, the Link Selection window always appears, even if only one object is linked to that area. This option gives the user the ability to cancel a HyperIndex selection. When the Verify Selection button is off, the Link Selection window does not appear if only one object is linked to the selected index area. The next object is displayed immediately when you click on the index area.

Writing a Guide for the Atlas

Writing an effective guide for your atlas requires utilizing a specialized X-windows utility (XWDTIFF) to copy parts of the TNTatlas interface into TIFF files and then you can use the paste utility to copy them into your text editor. The utility program is explained at length in the MicroImages documentation (Most of which is included here - for reference see the Basic System Operation section of the online manual - 035.3.3). For our purposes we have adapted the basic script to use a number of different variations for capturing the entirety or portions of the screen. The complete utility that Furst Light GeoTechnologies uses is found at the end of this section and may be copied as described for your use.

The major suggestion at this juncture we have for writing a guide for the atlas would be to consult the MicroImages homepage (www.microimages.com) for examples and ideas. The homepage provides graphics-rich pages which have some of the appropriate screens saved and imbedded right in the documents. By simply setting up an "Images" directory on your hard drive you can save these pictures (and text if you wish) and include them in your guide book. If you can find it on the MicroImages site, the State of Maryland Coastal Bays Atlas (June 1997) had a nice instructional guide (actually 4 pages) on how to use the TNTatlas program. This could be copied and adapted or expanded to your own purposes. Obviously, your guidebook will need to be tailored to your clients and your atlas - so some of the examples will have to be modified substantially.

 

XWDTIFF Utility

The XWDTIFF utility was adapted by MicroImages to provide a quick and uniform way to capture screen images directly to a TIFF file when using 8-, 16-, or 24-bit color. XWDTIFF provides a standardized and more flexible alternative to the raw screen snapshot capabilities of various operating systems; such as PrintScreen on a Windows PC, and Shift-Command-3 on a Macintosh. XWDTIFF lets you capture the entire screen, a single window, or a portion of the screen you define with an elastic box. The mouse cursor is not captured as part of the image.

You can use the resultant TIFF files in many drawing, painting, word processing, page composition, and image processing packages. The scientific writers at MicroImages extensively use XWDTIFF to capture windows, menus, and complex displays for the online reference manual and other documentation products. If you are internationalizing the TNT interface, you can use XWDTIFF to create your own illustrated reference manual in your language.

XWDTIFF can be used with four basic variations that determine how the image is captured; each variant is useful in different circumstances, and you may want to include each function on your customized TWM menu to allow the greatest flexibility. You can also include multiples of each variant since choosing the same command twice overwrites the first output TIFF file with the second.

When you select an XWDTIFF operation from the pop-up TWM menu, you use the mouse to indicate the area of the screen you want captured. XWDTIFF provides a sleep delay so you have time to apply mouse operations to the screen (such as opening a TNT menu cascade) before the screen image is captured. XWDTIFF beeps once at the end of the sleep delay and your mouse is unresponsive while XWDTIFF captures the window. After the image on your window is captured to the output TIFF file, XWDTIFF beeps again, and control returns to your mouse.

Use a text editor to add XWDTIFF definitions to the menu section of the TNTSERV.TWM control file. See the preceding section for instructions on editing the TNTSERV.TWM file. Add a separate program definition line for each XWDTIFF variant you want on your customized pop-up TWM program menu. Use descriptive names in the first column. The rest of the command must follow the examples shown here with changes for path and file name appropriate to your computer environment. Leave one space between each parameter.

The sample illustrated here implements the frame function twice and each of the other XWDTIFF functions once. You can create more entries for the functions you use most often. The example provided in the appendix of this manual can be copied directly into a text file and includes:

You can also repeat certain functions with different output paths and different file names in order to direct the output TIFF files to a network device, a floppy disk, or a local hard drive.

 

menu "defprogs" {

"MENU" f.title

"" f.nop

"TNTmips" f.exec "tntmenu "

"Xmag" f.exec "xmag "

"" f.nop

"XWD Win1" f.exec "xwdtiff -frame -sleep 5 -out b:/frame1.tif "

"XWD Win2" f.exec "xwdtiff -frame -sleep 5 -out b:/frame2.tif "

"XWD Root" f.exec "xwdtiff -root -swap0255 -sleep 5 -out b:/root.tif "

"XWD Box" f.exec "xwdtiff -rubber -swap0255 -sleep 5 -out b:/box.tif "

"XWD Screen" f.exec "xwdtiff -screen -sleep 5 -out c:/capture/screen.tif "

"" f.nop

}

 

The four XWDTIFF operations

Frame Selecting the frame option saves one TWM window, including its title bar. Frame cannot capture delayed actions, such as menu cascades, though you can use the sleep delay to position the mouse either inside or outside the window, so that the output TIFF file shows the window border with or without focus highlight. (Use the Rubber or Screen operations to capture delayed actions.) When you choose a Frame operation, your mouse cursor appears in the crosshairs shape. Click with the left mouse button anywhere on the window you want to capture. Note: the image that XWDTIFF creates with a Frame operation includes all other windows or parts of windows that overlap the window selected, if you want a "clean" window, raise it to the top before you initiate the Frame capture.

Rubber Selecting the rubber option saves the area you select using an elastic box, which can be anywhere on the screen or any size. The rubber option captures delayed actions, such as menu cascades. When you choose the rubber option, the mouse cursor displays in the corner shape. Move the mouse cursor to the upper left of the area you want captured, hold down the left mouse button as you drag a box to the desired size. After the mouse button is released, you cannot change the position or size of the box. If necessary, wait until the capture operation completes and select the option again; the new operation overwrites the prior output file. After you draw the area selection box, you can use the sleep delay to perform an action, such as opening a TNT menu cascade.

screen Selecting the screen option saves one TWM window, minus its title bar. The screen option allows capture delayed actions, such as menu cascades, but if a menu extends outside the window, the menu is truncated at the edge of the window. When you select the screen option, the mouse cursor appears in the crosshairs shape. Click anywhere on the window you want captured. Use the sleep delay to perform an action, such as opening a TNT menu cascade, or to position the mouse either inside the window or outside the window, so that the output TIFF file shows the window border with or without focus highlight. Note: the image that XWDTIFF creates with a screen operation includes all other windows or parts of windows that overlap the window selected, so if you want a "clean" window, raise it to the top before you begin the Screen capture.
root Select the root option to save the entire monitor screen except the X Server title bar. No window selection or box-drawing is necessary. Root does capture delayed actions, such as menu pulldowns.

The following are a list of the XWDTIFF command parameters for the TNTSERV.TWM menu definitions:

xwdtiff The name of the utility.
function Either frame, root, rubber, or screen.
swap0255 The swap parameter is optional and changes which cell value is black and which is white. Certain programs (such as Microsoft Word) expect black and white to be particular values, and print the images incorrectly if you omit the swap0255 parameter. Experiment with your applications to see whether or not you need the swap0255 parameter. Note: even if black appears correctly on the screen, it can print as white without the swap0255 parameter. Do not use the swap0255 parameter when using 16 or 24 bit color.
sleep The length of the delay between the time you select the portion of the screen to save, and the beginning of the save operation. Use the sleep delay to give a window focus, or to drop down a menu before XWDTIFF captures the image to the output TIFF file. If the sleep delay seems too long or too short on your computer, change the sleep value.
out The path and name of XWDTIFF’s output TIFF file. Forward slashes are required in the path, even on a Windows PC where backslashes are more commonly used.

 

 

TNTSERV.TWM

#  Furst Light GeoTechnologies XWDTIFF Utility
#  Author: Tom Furst
#
#  Furst Light GeoTechnologies
#  2295 Dexter Drive, Longmont, CO 80501-1515
#  email: tfurst@lanminds.net  Voice: 303.682.3046  Fax: #303.682.3157
# 
#  CREATION DATE: 10 April 1997 THF
#  REVISION DATE:	12 February 1998 THF 
#
#  This XWDTIFF utility has been adapted from that used by the MicroImages, Inc.
#  Documentation staff.  To use this utility simply copy it to the directory where 
#  TNTmips was installed. It replaces the tntserv.twm file in your TNTmips directory
#  and assigns box, frame, screen, and root window-grabbing abilities to the right
#  mouse button in TNTmips.  
#  
#  
#  
#  The spaces are CRITICAL, when you edit them you will want to
#  1) keep a backup copy of this file for reference and
#  2) edit the existing line, not touching the spacing at all
#  if you do change the spacing xwdtiff will not work (at least on that line)
#  
#  Also XWDTIFF only works in an 8-bit mode.  It will not work
#  with any other pixel depth.
#  
# $XConsortium: system.twmrc,v 1.8 91/04/23 21:10:58 gildea Exp $
# 
# Default twm configuration file; needs to be kept small to conserve string
# space in systems whose compilers don't handle medium-sized strings.
#
# Sites should tailor this file, providing any extra title buttons, menus, etc.
# that may be appropriate for their environment.  For example, if most of the
# users were accustomed to uwm, the defaults could be set up not to decorate
# any windows and to use meta-keys.
#

NoGrabServer
RestartPreviousState
UsePPosition    "on"
DecorateTransients
NoMenuShadows
#NoRaiseOnMove
#NoRaiseOnResize
# The next 6 lines make functional "Windows 95" style icons for window borders.
NoDefaults
LeftTitleButton "menuicon" = f.menu "defwinops"
#RightTitleButton "raiselwr" = f.raiselower
RightTitleButton "iconify" = f.iconify
RightTitleButton "maxicon" = f.fullzoom
RightTitleButton "cancel" = f.delete
# The next line allows the icons to not have borders.
# TitleButtonBorderWidth 0
# The next line reduces the space between title bar elements.
TitlePadding 3
# On the next line, remove the "#" symbol to move the entire window's contents.
#OpaqueMove

# The following lines set fonts:
TitleFont "-misc-fixed-bold-r-normal--13-120-75-75-c-70-iso8859-1" 
ResizeFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
MenuFont "-adobe-helvetica-bold-r-normal--*-120-*-*-*-*-*-*"
IconFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*-*-*-*"
IconManagerFont "-adobe-helvetica-bold-r-normal--*-100-*-*-*"
IconManagerGeometry "+2+2" 14
NoTitle { "TWM Icon Manager" }
#ClientBorderWidth

# The next line sets the grab width for window resizing.
BorderWidth 4
Zoom 64

Cursors {
        Frame   "top_left_arrow"
        Resize  "top_left_arrow"
#       Client  "left_ptr"
        }

Color {
        BorderColor "light slate gray"
        BorderTileBackground "slate gray"
        BorderTileForeground "slate gray"
        DefaultBackground "maroon"
        DefaultForeground "gray85"
        TitleBackground "maroon"
        TitleForeground "gray85"
        MenuBackground "maroon"
        MenuForeground "gray85"
        MenuTitleBackground "gray70"
        MenuTitleForeground "maroon"
        IconBackground "maroon"
        IconForeground "gray85"
        IconBorderColor "gray85"
        IconManagerBackground "maroon"
        IconManagerForeground "gray85"
        }

#
# Define some useful functions for motion-based actions.
#

MoveDelta 3
Function "move-or-lower" { f.move f.deltastop f.lower }
Function "move-or-raise" { f.move f.deltastop f.raise }
Function "move-or-iconify" { f.move f.deltastop f.iconify }

#
# Set bindings for mouse buttons at various locations
#

Button1 = : root : f.menu "defops"
Button3 = : root : f.menu "defprogs"

Button1 = m : window|icon : f.function "move-or-lower"
Button2 = m : window|icon : f.iconify
Button3 = m : window|icon : f.function "move-or-raise"

Button1 = : title : f.function "move-or-raise"
Button2 = : title : f.raiselower
Button3 = : title : f.function "move-or-lower"

Button1 = : frame : f.resize

Button1 = : icon : f.function "move-or-iconify"
Button2 = : icon : f.iconify

Button1 = : iconmgr : f.iconify
Button2 = : iconmgr : f.iconify

#
# Define menus for Button1 and Button3
#

menu "defops" {
"Operations"    f.title
"Move"          f.move
"Size"          f.resize
"Minimize"      f.iconify
"Maximize"      f.fullzoom
"Raise"         f.raise
"Lower"         f.lower
"Tile"          f.menu "tile"
""              f.nop
"Focus"         f.focus
"Unfocus"       f.unfocus
"Show Iconmgr"  f.showiconmgr
"Hide Iconmgr"  f.hideiconmgr
""              f.nop
"Kill Process"  f.menu "kill"
"Close Window"  f.delete
#""             f.nop
#"Restart"      f.restart
#"Exit"         f.quit
}

menu "kill"
{
"Use only to close processes that"      f.nop
"have hung.  Data may be lost."         f.nop
""                                      f.nop
"Kill A Process"                        f.destroy
}

menu "defwinops"
{
"Move"          f.move
"Size"          f.resize
"Minimize"      f.iconify
"Maximize"      f.fullzoom
"Raise"         f.raise
"Lower"         f.lower
"Tile"          f.menu "tile"
""              f.nop
"Close"         f.delete
}

menu "tile"
{
"Top"           f.topzoom
"Bottom"        f.bottomzoom
"Left"          f.leftzoom
"Right"         f.rightzoom
}

menu "defprogs" {
"MENU"          f.title
""              f.nop
"TNTmips"       f.exec "tntmenu"
"Xmag"          f.exec "xmag"
"Frame1"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe1.tif"
"Frame2"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe2.tif"
"Frame3"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe3.tif"
"Frame4"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe4.tif"
"Frame5"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe5.tif"
"FrameL"        f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/aframe6.tif"
"Box1"          f.exec "xwdtiff -rubber -sleep 5 -swap0255 -out c:/temp/box1.tif"
"Box2"          f.exec "xwdtiff -rubber -sleep 5 -swap0255 -out c:/temp/box2.tif"
"Box3"          f.exec "xwdtiff -rubber -sleep 5 -swap0255 -out c:/temp/box3.tif"
"Box4"          f.exec "xwdtiff -rubber -sleep 5 -swap0255 -out c:/temp/box4.tif"
"Box5"          f.exec "xwdtiff -rubber -sleep 5 -swap0255 -out c:/temp/box5.tif"
"XWD Root1"     f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/root1.tif "
"XWD Root2"     f.exec "xwdtiff -frame -sleep 5 -swap0255 -out c:/temp/toot2.tif"
"XWD Screen"    f.exec "xwdtiff -screen -sleep 5 -swap0255 -out c:/temp/screen.tif"
""              f.nop
}