Contents
QuikGrid Help Contents

Introduction

File Options(reading data, printing...)

Grid Generation

View Options(2d Contour maps, 3d Surfaces...)

Copying to the clipboard

Edit Options (Title, Contour lines, view angles, grid line coordinates, grid generation...)

Zooming

Handling data that is not evenly distributed

Handling large amounts of data   .

Questions and Answers

Future Enhancements Planned

Changes since the previous version

Author

Copyright

Copying and Redistribution Conditions

Registration

Disclaimer

Algorithm


File... Options
File Options (reading, saving, printing... )

Reading Scattered Data

Loading Test Data

Saving the grid to a file

Loading a grid from a file

Saving the grid as XYZ triplets

Saving the grid in ER Mapper format

Generating a DXF data file

Printing


View... Options
View Options (2d contours, 3d surfaces...)

Viewing a Contour Map

Viewing a perspective representation of the  Surface

Contour Map and Perspective View options

Displaying Grid Coordinate and Contour information

Zooming in or Magnifying the display


Edit... Options

Editing the Title

Editing the number or value of the contour lines

Editing the viewpoint for the perspective view of the surface

Editing the grid coordinates and dimensions

Editing grid generation options

Editing data input options

Editing view data points options

Editing the Surface Z-Ratio(shape)


Introduction

This program will read in a set of scattered data points which represent a surface and will generate a grid which represents the surface defined by these points. The gridded surface may be viewed as a contour map or as a perspective view of the gridded surface, optionally with hidden lines removed. The left mouse button may be used to zoom in on the gird. The right mouse button may be used to display information about the generated grid coordinates, data coordinates and contour line values.

The above represents the output from a rather trivial set of 9 data points. An 80 by 80 grid representing 1000 scattered data points will typically be gridded in 10 to 20 seconds on a 33Mhz 486. An 125 by 125 grid (the maximum that may be displayed) representing 16,000 data points will be gridded in less than a minute on the same machine. The program makes no special demands on the PC it runs on and will run on much smaller machines at a (much) slower speed. The display may be copied to the clipboard, printed or output as a DXF data file for input into Autocad or other programs that support that format.

QUIKGRID is a lean program. It will run on very modest hardware platforms. It is well suited for situations where it is desired to have a quick look at a set of data points, for example under field conditions where only a portable PC is available.


Reading Scattered Data
Reading Scattered Data Points

The options File..., Input metric data points..., File..., Input NOS data points..., or File... Input DCA data points will allow you to read a file containing the scattered data points defining the surface.

The Scattered Data points are typically organized three points to a line in order, the x coordinate, the y coordinate and the z coordinate for each point. The points should be separated by blanks. The program is not sensitive to line boundaries however. For example you could have two x,y,z triplets on each line.

The Standard version can handle up to 16,000 data points. The Big Data version has been tested on 320,000 data points and is configured to handle up to 2,000,000 or whatever your computer memory will allow. See Copying and Redistribution Conditions for more information.


Loading Metric Data
.Metric Data Points are points defined in the normal decimal, base 10 number system separated by blanks. The following is a sample set of metric data points:

31.55667	-97.13333	-38.2
31.67167	-97.10000	-37.6
31.80333	-97.10000	-39.9
31.97167	-97.00500	-33.4
- etc. -
31.97000	-97.12167	-40.3
31.98500	-97.12667	-40.1
31.99833	-97.13167	-40.1
31.50000	-97.34667	-58.4


Loading NOS(Latitude/Longtitude) Data
.NOS Data Points are data points expressed in latitude and longitude using the format dddmmssss where ddd is the degrees, mm is the minutes and ssss is the seconds.  The points are separated by blanks. The following is a sample set of NOS data points:

56450769	153301646	-46
56450422	153302280	-47
56450132	153303003	-48
56450859	153305357	-51
-etc. -
56451148	153300923	-45
56451474	153300211	-44
56451852	153302732	-44
56451634	153303348	-44

QuikGrid takes the latitude and longitude and converts them to metric form as a degree and fraction of degree. Negative numbers are allowed. The points are then treated as being in a rectangular coordinate system. This provides a Mercator map projection with the resultant area distortion near the poles.


Loading DCA Data
.DCA Data Points are metric data points expressed in the format "point#,easting,northing,height,comment". The fields are separated by commas.  The comment is any ascii text and is terminated at the end of the line. The point# is a point identifier which is combined with the comment and saved with the data point. The point# and comment is displayed in the dialog box when a data point is selected with the right mouse button. Easting,northing and height are read as x,y and z. The following is a sample:

127,5037.375169,966.621120,29.507,fence
129,4985.084287,973.404674,32.341,conc.slab
130,4991.246478,980.201984,32.275,conc.slab
134,4994.151539,990.872301,33.314,bldg
135,4973.514075,968.238957,32.475,bldg
136,4972.357301,969.907827,32.569,floor.slab
137,4963.212671,966.917235,32.484,bldg
138,4970.834651,953.643267,32.746,curb.conc


Loading Test Data

The option File, Load Test Data will load a small set of 9 data points.


Saving a grid to a file
Saving the grid to a file

The option File, Save grid to a file will output the current grid to a file as a plain text file. This grid may later be used as input to QuikGrid using File, Load grid from file.


Saving a grid to a file as x,y,z triplets.
Saving the grid to a file as a series of XYZ triplets

The option File, Save grid as XYZ triplets will output the current grid to a file as a series of x, y and z coordinates, one set of numbers per line, each line representing the x,y, and z values for one grid coordinate. Undefined grid coordinates are not written out unless the Grid Generation option Set undefined grid locn'ns to... has been checked.


Saving a grid to a file in ER Mapper format.
Saving the grid in ER Mapper format

The option File, Save grid in ER Mapper format will output the grid as an ER Mapper Raster Dataset. This consists of two files, an ER Mapper header file (file extension .ers) and an ER Mapper data file (no file extension). These files may be input to ER Mapper version 5.2 or later.

You will be prompted for the header file name. The binary data file will automatically be created with the same name and no file extension. If either file already exists it will be emptied and reused.

The ER Mapper header file describes the Datum as WGS84,  with Projection LOCAL and Coordinate type EN.  The DXF output from QuikGrid may be superimposed on an ER Mapper image by converting the DXF file to a Vector Dataset (file extension .erv) using ER Mapper and then overlaying the Vector Dataset on the image. Performing the overlay by creating a dynamic link to the DXF file also works for most data sets.


Loading a grid from a file

The option File, Load grid from file will load a grid previously saved with File, Save the grid to a file or a grid provided by yourself that is in the correct format.


Format of a grid saved to a file
Format of a grid in a file

The following is the format that will be used by File, Save grid to a file. It is also the format you must use in order to input gridded data to QuikGrid from some other source using File, Load grid from file.

The first line of the file contains three numbers, the number of grid lines in the x direction,  the number of grid lines in the y direction and optionally an offset to be applied to the z values in the grid.  Undefined z coordinates are flagged by a negative number so all valid z values must be positive. The offset is subtracted from the z values for the grid data to yield the true value at any given position. QuikGrid outputs all floating point numbers using scientific notation. For grids provided from other sources scientific notation need not be used for input. Grids generated from NOS formatted data points have grid coordinates represented by degrees and fractions of a degree.

The following lines in the file will contain, in order:

1.	The values of the coordinates of the x grid lines.

2.	The values of the coordinates of the y grid lines.

3. 	The values for the z values for the grid. These numbers are output with the y coordinate varying fastest. Undefined intersections are indicated by a z value of -99999.

Except for the first line QuikGrid is not sensitive to line breaks so the data after the first line may be spread across as many lines as desired, but must be supplied in the given order. For example.


Example of the format of a grid saved to a file

The following is the file created as a result of using File, Save the grid to a file for a five by five grid generated from the internal test data.

5 5 0e+00
1e+00 3.25e+00 5.5e+00 7.75e+00 1e+01
1e+00 3.25e+00 5.5e+00 7.75e+00 1e+01
1e+00 3.527506e+00 2e+00 2.175612e+00 -9.9999e+04 2.61706e+00 7e+00 3.45895e+00 3.312072e+00 4e+00
2.144419e+00 3.600058e+00 3.149526e+00 4.524836e+00 4.626828e+00 -9.9999e+04 2.397182e+00 3.000304e+00 9e+00 5.930425e+00
-9.9999e+04 2.295494e+00 3.398936e+00 4.832572e+00 3e+00

The third number (z offset) on the first line is optional, and if missing defaults to zero. Except for the first line QuikGrid is not sensitive to the ends of lines. The data following the first line may be split across as many lines as desired but must be supplied in the correct order.


Output the grid in DXF format
Output the display as DXF data

The option File, Generate a DXF file will optionally write the grid, data points and contour lines to a file in the Autocad DXF format. This file may then be used as input to Autocad or other programs that support this format. The grid data is written out using the DXF LINE primitive on layer GRID. The scattered data points are output as POINT primitives on layer SCATDATA.  If text data for the points (xyz coordinates or comments) are displayed they are also output on the SCATDATA layer using the TEXT primitive. The contour lines are output using the LINE primitive. All contours of a given value are put out in a single layer with the name "CONTOURnnnnn", where 'nnnnn' represents the contour line value. Periods and + are changed to underscores for compatibiliby with layer naming conventions. Similarly - is changed to 'm'. Scientific notation may be used. For example the contour lines for the  1.5 contour would be put in the layer named "CONTOUR1_5". The lines for the 18.92326 contours would be put in the layer named "CONTOUR18_92326".

All data is output using full 3D  x,y,z representation with no rotation applied. NOS data is output as degrees and fractions of a degree.

What is displayed controls what will be output to the DXF file.  For example if you don't want the grid information click on View..., ... with hidden surface grid so the grid is no longer displayed. If you don't want the contour lines display the data in 3d mode.

The DXF file does not define a world coordinate system. If the display is blank after loading the DXF file it is probably necessary to redefine the receiving program's coordinate system to enclose the data. For example under Autocad Lite the command is View... zoom... extents.

WARNING: DXF files can become extremely large - especially for larger grids.


Grid Generation

By default grid generation occurs automatically whenever necessary. The options File... Generate grid now and File... ...generate grid automatically allow you to take manual control of grid generation.

Grid Generation can take some time - depending mostly on the size of the grid being generated. A dialog box is displayed which shows the progress of the grid generation.

The options controlling grid generation may be controlled. See Editing grid generation options


Grid Generation Dialog Box

The grid generation dialog box provides you with information about the generation of the grid as it proceeds. The Status: is either "Presorting Data Points", which is done to increase the efficiency of the grid generation, or "Generating...". See the Algorithm for more information.

Average Scan Bandwidth:  This value shows the average number of data points that are being examined in order to evaluate a grid intersection.  This statistic is most heavily impacted by the Grid Generation Options items Scan bandwidth cutoff  and Distance cutoff.   Average Search Shell  In order to evaluate a grid intersection this program shells outwards from the grid intersection looking for scattered data points. This item displays the average number of shells examined around each grid intersection.
Clicking on the Cancel button will cancel grid generation. The portion of the grid generated up until it was canceled will be displayed.


Printing

Selecting File, Print... will print the current display.


Viewing a Contour Map

The option View..., 2d Contours displays this picture. This view always displays contour lines - regardless of the setting of the View, Contour Lines option.


Viewing a Perspective Representation of the Surface

The option View..., 3d Surface will display the surface as a grid from the perspective point of a viewer 35 degrees above the surface with the surface rotated by 35 degrees around the z axis. The perspective projection is set up to show a surface for a viewpoint at a distance approximately 5 times the length of the x axis. These options may be changed with the Edit..., Angle menu.

If the options to display contour lines or data points is chosen in conjunction with the hidden surface option contour lines and data points are not hidden.


Contour Map and Perspective View options.
Contour Map and Perspective View options

The options under the View... menu control what will be displayed in both the 2d Contours or 3d Surface displays, with the exception that contours are always displayed in the 2d Contours view.

The Black and white display option will mainly be useful to people using portable computers with an LCD display panel, or who are printing to non color printers. Such devices typically map colors into some level of grey tone. Choosing this option may improve the quality of the display or print.

The option Show corner coordinates will result in QuikGrid displaying the coordinates of the visible intersections closest to the corners of the display. This option will work in 2d contour mode or 3d transparent grid mode. It will not work in 3d hidden grid mode.


Copying to the Clipboard

Choosing Edit..., Copy to clipboard will copy the current display to the clipboard. The image is deposited in the clipboard as a metafile.


Editing the Title

Choosing Edit..., Title... will allow you to specify a title that will be placed in the upper left corner of the display. By default the title is blank.


Changing the number of contour lines lines
Editing the number of contour lines

The program will contour the surface with 10 contour lines spread over the range of values defined by the surface. The number of lines plotted may be changed with the Edit..., Contour Intervals dialog box. In this dialog box you may either change the number of contours and let the program choose the starting value and increment for the contours, or you may explicitly specify the starting value, increment and end contour value. In the latter case do not change the value for the number of contours, the program will re-calculate that automatically. (If you change the number of contours value the program will assume you would like it to determine the starting value and increment).

By default every 5th contour line will be highlighted by making it dashed. Which lines are highlighted may be changed in this dialog box. Setting it to 1 will highlight every line. Setting it to 100 will result in no lines being highlight.


Editing the viewpoint for the perspective view of the surface

The viewpoint for the perspective view of the surface can be changed with the Edit..., Angle menu. The option Above specifies the angle of the viewpoint above the surface. About specifies how much the surface is to be rotated about the z axis. The Perspective Projection specifies a number that represents the distance the viewpoint is from the surface expressed as multiples of the length of the x axis.


Editing the Grid Dimensions
Editing the grid line coordinates

The option Edit..., Grid Line Coordinates may be used to change the size of the grid and the values for the x and y grid. Various buttons allow you to test the effect of different combinations of starting value, increment, end value and number of grid lines.

Clicking on OK results in the program using the values shown for Start, Increment and End to determine both the number of grid lines and the values for them.

The other buttons have the following effect:

Reset grid lines to enclose all input data

Calculate Increment from # lines

Calculate # lines from Start and Increment

Calculate grid from current view and # lines

When the data is initially loaded QuikGrid will select a grid size that will contain approximately 4 times as many grid intersections as there are grid points (This multiplier may be changed - see Grid Generation Options). The minimum grid size is 10 by 10. The maximum grid size for this version of QuikGrid is 125 by 125.


Reset grid lines to enclose all input data
Press this button to reset the Start, End and Increment to enclose all the input data using the number of grid lines as shown.


Calculate grid spacing increment from number of grid lines.
Press this button if you have changed the number of grid lines and want to calculate a new increment based on that value.


Calculate number of lines from grid coordinate values.
Press this button if you have changed one or all of Start, End and Increment and want to find out how many grid lines will result from those changes.


Reset grid lines to enclose current view of the data
Press this button if you would like the program to calculate a Start, End and Increment based on the current, probably zoomed, view of the data.


Grid generation options

The Edit..., Grid generation options allows you to change some of the internal assumptions used by the program during grid generation. These are:

Automatic grid size ratio

Sample every n'th point

Scan bandwidth cutoff

Distance cutoff

Edge Sensitivity

Set undefined grid loc'ns to


Data Input Options

The check box, "Ignore points with z value equal zero..." is effective only for DCA data input and only takes effect when the data is read. The default is to ignore these points. If you don't want to ignore them deselect this option before reading in the data. Ignored data points will appear on the display and may be selected with the right mouse button. They will be ignored for grid generation purposes.

Sample only every nth data point instructs the program to only select every nth data point while reading the input file. By default n is equal to 1 so every data point will be read. If n is equal to 5 only a fifth of the data points will be read. See also sampling data points during grid generation


Automatic grid size ratio

This parameter defines how many grid intersections the grid should contain relative to the number of scattered data points. A parameter of 3 specifies that the grid should have approximately 3 times as many grid intersections as there are scattered data points. The dimensions of the grid are defined initially as sqrt(n*ratio) where n is the number of scattered data points and ratio is the value of this option. See also Edit..., Grid Line Data.

This value may be changed with the Edit..., Grid Generation Options option. It does not take effect until the next data set is read in.


Sampling data points during grid generation

The Sample every nth point option allows you to instruct the program to select a subset of the data read in. By default n is equal to 1 and every data point is used. For n=4 only every fourth point will be used. See also, selecting data points during data input.


Scan bandwidth cutoff

In order to evaluate a grid intersection the program scans outwards from the grid intersection examining scattered data points. The number of points examined impacts heavily on the performance of the program. The Scan bandwidth cutoff number along with the Distance Cutoff number tells the program when to stop looking. When any new points will not contributed more than 1/(scan bandwidth cutoff) towards the value of a grid intersection scanning will cease in that direction.

This value may be changed with the Edit..., Grid Generation Options option.


Distance cutoff

Some grid intersections are so isolated from any data points they should not be evaluated. The Distance cutoff specifies a number that allows the program to flag a grid intersection as unevaluated. It is also used along with the Scan bandwidth cutoff  to limit the number of scattered data points examined during the evaluation of a grid intersection. The Distance cutoff specifies a percent of the Density Distance. If no points are found within this distance the grid intersection is flagged as being unevaluated.

If the data points tend to be clustered in small groups the area between the clusters will tend to not be contoured or displayed as a 3d surface. To contour these areas between clusters increase the value of this parameter. A value of 300 will normally be sufficient to fill in most areas. Higher values will affect the speed of the grid generation adversely. Note the Average Scan Bandwidth statistic during grid generation time. If this statistic is higher than 15 the Distance cutoff is probably set needlessly high. The time taken to generate the grid is also highly dependant on the average search shell statistic. When this number gets beyond 10 grid generation times increase rapidly.

This value may be changed with the Edit..., Grid Generation Options option.


View ... with data points options
Edit... View data point options....

The Edit.... View data point options dialog box allows you to select what information will be displayed when View... with data points is checked. The following options are available:

Display Marks: A small cross is displayed at the exact position of the data point.

X,Y coordinates: The x,y coordinate is displayed next to the point.

Z coordinates: The z coordinate is displayed next to the point.

Comments: Any comments associated with the point are displayed.

Connect points: The points are connected by lines in the order they were input.


Perspective Surface Z-Ratio
Perspective Surface Z - Ratio (shape of the surface)

Typically the units used for the x and y axis are quite different from the units used for the z axis. For example x and y may specify latitude and longitude and z may specify magnetometer measurements. For a perspective view of the surface it is often not practical to use the raw unscaled data as the resulting surface may look too flat to show relief detail or too "mountainous". The z-ration figure specifies that the z axis range should be scaled to be n% of the range of the x-axis. This parameter defaults to 60%.

If the z-ratio is set to zero the z axis will not be scaled. In this case the x,y and z coordinates should all be in the same units.


Edge Sensitivity

In some cases grid intersections near the edges of the grid should not be contoured. This parameter specifies a percentage of the Density Distance. If the closest point to a grid intersection is farther away than this distance, the program examines the number of consecutive empty octants around the grid intersection. If there are 4 or more consecutive empty octants the grid intersection is not evaluated.

This value may be changed with the Edit..., Grid Generation Options option.


Set undefined grid loc'n to
Set undefined grid loc'n to:

The check box "Set undefined grid loc'n to:" controls how QuikGrid will handle undefined data points. If checked undefined data points will be assigned the specified value. For all purposes, undefined grid locations are treated as assigned that value. They will be displayed, contoured, etc.


Zooming

Click anywhere with the left mouse button on the display of a 2d contour map or 3d surface to magnify that particular part of the picture.

Zoom..., unzoom
will restore the picture to it's original size.

Zoom..., Freeze zoom level
will defeat further zooming. In this state clicking anywhere on the display will move the point under the cursor towards the middle of the display but not change the size of the picture. This allows you to "pan" about the map. Clicking on Zoom..., Freeze zoom again will enable zooming again.

Zoom..., Previous zoom
will back up to the previous picture.

Zoom..., Negative zoom
will result in the display shrinking when the cursor is clicked anywhere in the display. Clicking on it again will resume normal magnification.


Handling unevenly distributed data

QuikGrid is designed to be straightforward to use for data which is reasonably distributed over the area to be contoured. In this situation it will generate a grid over the areas containing data points and leave blank areas which do not contain data points. If the data is not evenly distributed the default grid generation parameters may result in unwanted blank spaces (undefined grid coordinates) in the display. The menu selection Edit..., Grid Generation Options may be used to alter the default parameters to fill in these areas.

In particular the Distance cutoff parameter is most often used to force QuikGrid to fill in grid coordinates further away from the input data points. Increasing this parameter will increase the amount of time it takes QuikGrid to generate the grid.

See also under Qustions and Answers, 5. Can QuikGrid be configured to define "undefined grid locations" to remove gaps in the contours?


Handling large amounts of data
Handling large amounts of input data

The viewing of large numbers of data points may benefit from special planning and handling. The use of data sampling  can greatly speed up the initial look at a set of data, particularly if the final intention is to generate a dense grid on a zoomed view. See also  Changing the grid line coordinates.

For example, when I am handling data points that number in the hundred's of thousands I might:

1. Turn off automatic grid generation. (turn off File...  generate grid automatically).

2. Load in all the data points. (File... Load...)

3. Set the sampling rate during grid generation to 5 or more. (Edit... Grid generation options)

4. Generate a grid. (File... Generate grid now).

5. Zoom in on an area of interest in 2d mode.

6. Define a new set of grid lines to enclose the zoomed view (Edit... Grid Line Coordinates)

.7. Set the sampling rate during grid generation to 1. (Edit... Grid generation options).

8. Generate a new grid. (File... Generate grid now)

My final display is a high resolution view of the area of interest.

When using the Big Data version it is important, for performance reasons, that enough real memory is present to allow QuikGrid to operate efficiently. If a large amount of disk activity occurs during grid generation you may not have enough memory available to do the job in a reasonable length of time. For example, under Windows 3.1 with 8 megabytes of memory, gridding 320,000 data points is a marginal activity.


Grid Coordinate and Data Point Information

This function is not enabled if a 3d hidden grid is being displayed. Choose the transparent grid option instead.

Click anywhere with the right mouse button on the display of a 2d contour map or 3d surface to display a dialog box that shows the x, y and z data and the closest contour value for the nearest grid coordinate or data point. If a data point is selected the dialog box will also show whether the point was used for grid generation purposes and display any comments associated with the point. (Comments are currently only gathered for DCA input data).

If a data point is selected the "Do not use for grid generation" box may be checked to exclude (or include) the point for grid generation purposes. Also the comments may be edited. If you change one of these settings click on OK for it to take effect. Including or excluding a data point will trigger re-generation of the grid unless grid generation has been put under manual control.

Use caution when interpreting the value of the closest contour line!

The contour line is the one closest to the selected data point or grid coordinate not the mouse position. The contour line is the nearest in the "z" direction only. The shape of the surface and how it is being viewed may make the contour line not appear visually closest on the display. The indicated contour line may not be visible at all if the grid coordinate or data point is at the top of a hill or bottom of a valley.


Future Enhancements Planned

I currently have requests for the following enhancements:

Allow an option to overlay an arbitrary shaped polygon on the surface.

Export the grid in DXF format as 3d faces or polygon mesh.

Use the DXF POLYLINE primitive instead of the LINE primitive.

Optionally export a simpler DXF format that will be acceptable to more packages.

Allow customized unevenly distributed contour lines.

Label the contour lines.

Highlight ridges and valleys.

Allow data to be extracted from spreadsheet columns or database files. (e.g. Excel, Dbase).

Superimpose an arbitrary reference plane on the display.

Please e-mail suggestions  and priorities to the author.


Changes from the previous version

This is QuikGrid Version 3.3. QuikGrid was previously known by the name Surface. The name has been changed to avoid confusion with other products of the same name. The following changes have been made since the release of QuikGrid Version 3.0.

QuikGrid 3.1 bypasses the floating point input problem introduced under Windows'95 by the System Agent from the MicroSoft Plus distribution. It is no longer necessary to install Microsoft Service Pack 1 in this situation. "The Microsoft Plus! Update provides an updated version of Sage.dll to fix a minor problem with System Agent: When version 1.0 System Agent is running, programs that perform floating-point calculations might be slightly off in precision. This problem does not occur if System Agent is turned off". For more information see the Microsoft home page at www.microsoft.com.

QuikGrid 3.2 contains some minor updates and corrects a floating point input problem that existed in QuikGrid 3.1 only. Under "File... Input metric data points", if the final data point was not terminated by a blank or a line feed character QuikGrid could go into a loop rereading the last data point.

QuikGrid 3.3 Implements a different Datum and Projection type for ER Mapper raster output, and implements a change in the DXF output to make it more compatible with ER Mapper.

The following changes have been made since the release of Surface Version 2 (September 28, 1995)

Cosmetic changes to the user interface. (More intutively labelled menu items).

Input of data in Surveyors DCA format which includes optional note data about each point.

Points may be included or excluded from consideration during grid generation.

Data point comments may be added or changed.

The program will re-draw the screen faster during zoom mode.

A large number (up to 2,000,000 or by memory available) of data points may be entered if you are using the "big data" version of QuikGrid. The "big data" version, however, is up to 1.7 times as slow generating grids, even for small numbers of data points, so it should be ordered only if you expect to manipulate more than 16,000 data points.

The generated grid may be output in xyz triplet form.

Data points may be sampled during data input and/or during grid generation.

Undefined grid coordinates may be set to a user defined value.

The generated grid may be output in ER Mapper Raster format.

The following changes have been made since the release of Surface Version 1(Dec. 23/94):

The grid coordinate values may be specified.

Grid coordinate and data point information can be displayed by clicking the right mouse button near the grid intersection or data point of interest.

Undefined grid coordinates are not displayed in 2D contour display mode.

Help buttons have been added to many of the dialog boxes.

The menus have been changed, I hope to a cleaner more intuitive format. Keyboard accelerators are supported.

Grid generation can be put under manual control (as opposed to automatic).

The grid, contour lines and data points can be saved in DXF format using 3d LINE and POINT primitives.

The display may be viewed without the use of colors (black lines only).

Please e-mail suggestions and priorities to the author.


Author

John Coulthard

Perspective Edge Software

E-mail: w.j.coulthard@ubc.ca


Copyright (c) 1993 by W. John Coulthard
Copyright  1993 - 1996 John Coulthard
          All Rights Reserved


Copying and Redistribution Conditions

QuikGrid is available in two versions, a "Standard Version" which can handle up to 16,000 data points and a "Big Data Version" which has been tested on 320,000 data points. The Big Data version is configured to handle up to 2,000,000 data points or what can be handled in available memory. The Big Data Version, may however, take up to 1.7 times as long to evaluate a grid as the Standard Version, even for a small number of points. See also Handling large amounts of data for more performance comments.

The evaluation copy of QuikGrid is available from Laser Point at http://www.laserpoint.com.

The evaluation version of QuikGrid may be freely distributed. For less than 100 data points the evaluation version has the same functionality as the registered version. For more than 100 points many functions are disabled (for example printing, copying the display to the clipboard, modifying contour values, etc.). See Registration for information about purchasing a registered copy.

The author would appreciate knowing who is using the program and hearing any comments about it.


Registraion
Registration

Please read the Disclaimer before ordering:

For technical support or comments about this program, you may contact me using electronic mail at w.j.coulthard@ubc.ca .

A single copy registered version of QuikGrid sells for $37.50US.

Site License discounts.

Copies: Price in US$:

    1:   $37.50

  2-25:   $37.50 + $22.50 each extra copy

  26-50:   $577.50 + $15.00 each extra copy

  51-100:   $952.50 + $7.50 each extra copy

  100 + :   $1,327.50 + $4.50 each extra copy

Toll Free Ordering:  Visa and MasterCard orders may be placed by calling Laser Point at (800) 894-6758.

Electronic Mail Registration:  You may register via electronic mail by sending the following information to orders@laserpoint.com

- Name of the product you are registering (QuikGrid).

- Visa or MasterCard Account Number

- Card Type (Visa or MasterCard)

- Card Expiration Date

- Name of card holder

Postal Mail Registration:  You may send cash or checks, drawn in U.S. funds on a U.S. bank, to:

Laser Point

QuikGrid Registration

P.O. Box 2378

Watsonville, CA 95077

CompuServe:  CompuServe customers may wish to use the CompuServe Shareware Registry.  GO SWREG and register product ID 12846.

Upon completion of your order Laser Point will provide you with a Registration Code. Use the Register pull down menu to enter the Registration Code. Your copy of QuikGrid will then become a fully registered version.

IMPORTANT NOTE:

1) Laser Point  processes registrations only. Please contact me, w.j.coulthard@ubc.ca, for product/technical support.

The registered version will not display the initial dialog box announcing that the program is unregistered. The word "unregistered" will not appear as part of the program title nor in any part of the output it produces. The program has full functionality for more than 100 data points. The registered version grants the purchaser the right to use the software on one computer or workstation at any given time.


Disclaimer

Persons who are unfamiliar with machine grid generation techniques and contouring may find articles in the June, 1992 issue of Geobyte interesting. A quote from the conclusion of the article "Contouring: Art or Science?" by Daniel J. Tearpock, p 43, reads "...contour maps are interpretations - they are not absolutely correct. "

DISCLAIMER OF WARRANTY

THIS SOFTWARE IS SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OR MERCHANTABILITY. THE SELLER'S SALESPERSONS MAY HAVE MADE STATEMENTS ABOUT THIS SOFTWARE. ANY SUCH STATEMENTS DO NOT CONSTITUTE WARRANTIES AND SHALL NOT BE RELIED ON BY THE BUYER IN DECIDING WHETHER TO PURCHASE THIS PROGRAM.

THIS PROGRAM IS SOLD WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES WHATSOEVER. BECAUSE OF DIVERSITY OF CONDITIONS AND HARDWARE UNDER WHICH THIS PROGRAM MAY BE USED, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED. THE USER IS ADVISED TO TEST THE PROGRAM THOROUGHLY BEFORE RELYING ON IT. THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY LIABILITY OF SELLER OR MANUFACTURER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF THE PURCHASE PRICE.


Algorithm

Grid generation:

Each grid intersection is divided into octants. The closest data point in each octant is found. The intersection is set to the average of these points weighted by 1/(distance from grid intersection)**2.
Any given grid intersection may be flagged as unevaluated. This may happen because there are no data points nearby (controlled by the Distance Cutoff parameter), or because the grid intersections are on the edge of a region (controlled by the Edge Sensitivity parameter).

Contouring:

The grid squares are triangulated by taking the midpoint of each grid as the average of the four corners. This yields only one way a contour line can traverse the grid square. Linear interpolation is used to determine the contour crossings.

Hidden Surface Drawing:

The hidden surface is rendered by drawing the grid squares from the back to the front (as viewed) using polygon fill. Currently contour lines and data points are not hidden. Hidden contour lines may be added in the future.


Metafile Definition

A metafile is a representation of a picture that consists of descriptions of the individual elements that make up the picture( the lines, rectangles, text and so forth). With an appropriate drawing package, for example Microsoft Draw that comes with Word for Windows, it is possible to edit (scale, delete, move...) each individual element in the image. The individual elements are the grid lines, each contour line, the title and so forth. Packages like Microsoft Paint will automatically convert the metafile to a bit map.


Density Distance Definition

The Density Distance can be thought of as approximately the average distance between points if the points were evenly distributed throughout the grid. It is the diameter of a circle that has an area equal to the total area of the grid divided by the total number of scattered data points.


Unevaluated Intersections

Unevaluated intersections, unless you specify they be defaulted to a given value (see Set undefined grid loc'ns to )  will not be contoured, nor will they be displayed as part of the gridded surface.


Questions and Answers

1. How do I get started?

2. How do I prepare my input data?

3. What units should I use?

4. The DXF output file doesn't produce the results I expected when I load it into .....

5. Can QuikGrid be configured to define "undefined grid locations" to remove gaps in the contours?

6. My XYZ data already represents a grid - any suggestions?

7. The DXF file will not load into .....


How do I get started?

1. How do I get started?

Just start to use it! Simply reading in a data set, or loading the test data File... Load test data that comes with the program, will result in the display of a contour map. Then clicking on View... 3d Surface will result in the display of a grid with hidden lines removed that represents the surface. There is no need to understand or set any special parameters ahead of time. Then try "playing" with the options. QuikGrid is documented through its help facility.


How do I prepare my input data?

2. How do I prepare my input data?

Your data should be available in an ordinary character or text file, the kind that can be edited with Notepad, as a bunch of x, y, and z coordinates, typically arranged one set per line. The numbers should be separated by blanks. If your data file is so large it cannot be edited using the Notepad I can recommend PFE (Programmers File Editor) which is available from CICA or Simtel. It is free and will handle extremely large files.


What units should I use?

3. What units should I use?

QuikGrid doesn't care what units you use. It will automatically scale the data so you get a reasonable display. Typically the units used for the x and y axis may be different from the units used for the z axis. For example x and y may be in feet and z represent a magnetometer reading. The z axis is scaled so that its range will be 60% of the range of the x axis. This factor may be changed through the use of Edit... Surface Z-ratio... If your x, y and z coordinates are all in the same units you can set the Surface Z-ratio to zero to see the true unscaled representation of the surface.


The DXF output file doesn't produce the results I expected...?

4. The DXF output file doesn't produce the results I expected when I load it into .....

The DXF output is not designed as an alternative to copying the display to the clipboard. The data is output in 3d format (full x, y, and z coordinates for each item) with no rotation applied, regardless of how you may be viewing it.  The expectation is that any desired rotations will be applied in the target software.

If the display is blank after loading the DXF file into Autocad (or other program) it is probably necessary to redefine the program's coordinate system to enclose the data. For example under Autocad Lite the command is View... zoom... extents.

If you want to copy the display over to a drawing package in order to "fix it up for publication" or overlay it on some other map, consider copying the display to the clipboard then pasting it into the target package. QuikGrid outputs the display to the clipboard as a metafile. This means it is saved as a description of lines, not as a bitmap. Some drawing packages, for example, MS Draw which comes with MS Word, can do a nice job with this format, allowing smooth scaling of the picture and the ability to edit parts of the picture. Others, like MS Paintbrush, will convert it to a bitmap which, depending on your needs, may be of limited usefulness.


Can QuikGrid be configured to define "undefined grid locations" to remove gaps in the contours

5. Can QuikGrid be configured to define "undefined grid locations" to remove gaps in the contours?

The parameter to change to increase the "fill" between clusters of data points is the Distance Cutoff parameter under Edit... Grid generation options. Increasing this parameter to a large number, for example 600, may cause a dramatic increase in grid generation time. This is to be expected and you will just have to decide if the wait is worth it for your particular situation. Manipulating the Edge Sensitivity, also under Edit... Grid generation options,  may also improve the amount of fill.

You may also default undefined grid coordinates to a specific value under Edit... Grid generation options.


My XYZ data alrady represents a grid - any suggestions?
6. My XYZ data already represents a grid - any suggestions?

Many people are using QuikGrid to view xyz data which already represents a grid, for example DEM files which have been converted into the xyz format. Here is a trick which I hope to incorporate into the program as an automatic feature. After you load the data go into Edit... Grid line coordinates and change the grid start and increment so it corresponds exactly to the grid layout of the input data. (You can display the marks and use the right mouse button to figure out what they are if you don't know).  Bingo! The surface presentation maps the input data precisely.


The DXF file will not load into....

7. The DXF file will not load into....

The DXF file output has been tested with Autocad Lite for Windows and I have had many reports that it works well with CorelDraw. But my mail also indicates that many packages will not accept the DXF output format produced by QuikGrid.  I suspect this may be due to the fact that QuikGrid outputs the data using full 3d representation, which some packages may not accept. I also suspect it may be caused by the use of alphanumeric layer names. I hope to add an option to output a more basic DXF output format (DXF Lite?).