GSMCAD is a Windows 3.1 to Windows 95/NT - compatible computer program developed by Van Williams (1996) from the 10th generation GSMAP family of U.S. Geological Survey computer programs (DOS) written by Gary I. Selner and Richard B. Taylor (1993). The current program is version 1.3, revised November 23 1999. The primary function of GSMCAD is the digital compilation of geologic maps, and to this end the authors have developed an efficient set of tools for digitizing, labeling, symbol placement, general editing, data import, the correction of topological errors, the attribution of lines and symbols, the tagging of polygons, and the printing of page-size figures and draft maps to open-file standards.
   GSMCAD does not pretend to be a full GIS package, and is incapable of storing drawing objects in the form of a single multi-layered drawing file. It is nevertheless able to generate relatively sophisticated single layer, coloured maps (see sample map of the MOAPA WEST QUADRANGLE, NEVADA, in folder \\Earthnt\Es300b\gsmcad\Of960521), and it is freeware!

    In GSMCAD, the parameters (symbol, line thickness, line ornament, etc) of each each drawing element (point, line, polygon, text, etc) to be used in the construction of a drawing must be defined in a plot (.PLT) file associated with the drawing. Each drawing element is given a code number, and whenever this number is referenced (selected from a drop-down list) prior to drawing an object, the relevant parameters to be used are retrieved from the plot file. For example, if a dashed line is given the code number '2', any line drawn after selecting the value 2 from the drawing drop-down list will be shown as a dashed line. The plot file also retains information about any associated external file containing point data that might be used to plot point symbols, locality numbers, rock type codes, and oriented attribute values such as bedding plane or foliation symbols.

    The organization of GSMCAD is described in the form of the following topics:

    A) downloading and installing the software, and setting up the digitizing procedure; how to obtain
a hard copy of the line types and symbols available for plotting in GSMCAD.
    B) the database file structure.
    C) defining drawing objects by codes defined in a plot file.
    D) acesssing the Data Table.
    E) using keyboard shortcuts.
    F) using the mouse to digitize nodes and vertices.

    The map exercise involves:
    G) importing geological point symbols and their attributes from a coordinate data base (
    H) drawing a geological map and providing topology to the polygon constructions.
    I)  Interactively entering dip and strike and other symbols.

    A) Installation

    GSMCAD and its documentation files can be downloaded from:

    The unzipped GSMCAD installation files are archived on (CHURCH) F:\gsmcad\install, (CHURCH) IOMEGA (505):\gsmcad\install, and Earthnt\public\505\gsmcad\install. Once installed the GSMCAD.EXE file in the installation package should be upgraded to the most recent version, V. 1.3 Nov 23 1999.  GSMCAD execute file archived in a 'latestex' folder in all of the above directories. GSMCAD is installed on all the computers in rooms 17 and 53, and in (CHURCH) F:\gsmcad.

    GSMCAD is installed by running the setup.exe programme in :\gsmcad\install. The installed version of GSMCAD cannot be copied directly because some files (Vbrun300.dll, grd.vbx; copies kept in :\GSMCAD\SYSTEM) need to be added to the Windows system directories.

    If using a digitizing tablet

    If a tablet is to be used, the first line in config9.plt -

    "COM2: 9600,N, 8, 1,RS,CS65535,DS,CD"

    has to be correctly referenced to the COM port connected to the digitizer.

    The first and second lines in config9.dig also have to be set up for the correct COM port and the tablet puck being used; enter MENUB for a GTCO binary 4 button format; MENU for ascii 4 button; KEYPAD for the 16 button ascii, and KEYPADB for 16 button GTCO binary format: e.g.

    "COM2: 9600,N, 8, 1"

    (Copies of these files set up for the Calcomp Drawing Board II and III tablets are archived in iomega\gsmcad\latestex.)

    Getting a hard copy of the line types and symbols

    A copy of the symbols and line types available in GSMCAD can be printed out from HELP/Print Symbols Set and HELP/Print line types and fonts listed in the HELP menu on the GSMCAD tool bar.

    It is also useful to print and read a copy of GETTING STARTED in the  gsmhelp.rtf   HELP file.

    B) Database file structure and DOS file extensions used by GSMCAD

    Files used by GSMCAD:

        .NDX contains the coordinate data

        .LSF contains the line data

        .NOD contains the node data

    These are all binary files.

        .TXT contains the labels of rock units to be used to topologically tag rock unit polygons in the 500 code statement
      in the .PLT file.

        .RU contains the data in .TXT that has been converted to GSMCAD format.

        .PRJ contains projection convertion information, e.g. digitizing Tansverse Mercator and plotting UTM.

        .PLT contains the definitions of the codes for lines and symbols plotted by GSMCAD.

    A GSMCAD data base has a unique data base name (not more than eight characters long) and consists of three DOS binary files: an index file, a line segment file and a node file. Each file is designated by the extension .NDX, .LSF and .NOD, respectively. The user creates the files using GSMCAD, and since the files are binary, they cannot be edited or modified except through a GSMCAD program. A single entry can contain a maximum of 5000 points.

        Index File .NDX

    The index file allows for rapid selection of entries by the attribute CODE. Each graphical entry in a data base has a record in the index file which stores three descriptive attributes (CODE, P1, and P2 values) of the entry, the pointers to the starting and ending records within the line segment file that contains the positional data, and the starting and ending node numbers for lines. The index file will always contain N+1 records where N is the number of entries in the data base. The first record of the index file records the number of entries in the data base and the number of records within the line segment file.

    Line Segment File .LSF

    This file stores a short title (sixteen characters), the coordinates of the corners of the data base area, and the coordinates of the points that make up each of the graphical entries. The first five records are created when the data base is started; other records are stored as entries are added.

    Node File .NOD

    Each record in a .nod file contains the coordinates of a node point. Node points define the beginning or end of one or more line entries (code group 1-99 only). The records contain the coordinates of the node point and the number of lines attached to the node point.

    Plot File .PLT

    Each kind of symbol or line type to be drawn on the map is given an unique code number which designates the linetype, pen, symbol, spacing, etc, to be used in plotting an object on the map. The codes for similar drawing objects are assembled in CODE GROUPS (e.g. different kinds of symbols would be attributed the numbers 100-199 and would consitute a point code group, whereas oriented symbols such as bedding or foliation would be numbered 200-299 and constitute a rotatable symbol group), and are stored in a .PLT file. Prior to drawing an object the object's code is then selected from a pull down NEW CODE menu on the DRAW toolbar. The codes in the pull-down menu are read by GSMCAD from the .PLT file.

    C) The code definitions of drawing objects in the .PLT plot file

    Drawing objects are grouped into eight code groups representing different types of drawing object, the definitions of which are stored in an ASCII .PLT file.

    Lines & decorated lines (CODE GROUP 1-99)

    Different kinds of lines are given code numbers between 1 and 99, and the code definition of the line is entered into the .PLT file as two lines of numerical values in the pattern:



    For example, lines representing certain contacts would be defined as

    e.g. *CONTACTS

    *1,1,0,0,"contact; certain"

whereas lines representing uncertain contacts would be defined as:

    *2,1,1,0,"contact; concealed"

    Similarly, lines representing faults would be defined as:


    *10,4,0,0,"fault; certain"

    *11,4,1,0,"fault; concealed"

    (Default symbol size of 100 raster units will be changed to the value in the P2 field of the data table (see 'D', p. 6) if the value of P2<> 0)

    The Code number 99 is reserved for the border lines of the map defined when first creating the database.

    Data points (CODE GROUP 100-199)

    Code group 100-199 is used to plot symbols, and any data (e.g. locality number) linked to the symbol. The linked data is stored in row-column tabular format in a  .TAB ASCII file, where the first column of the table contains the locality identifier and the succeeding columns the attribute data for the locality. [NOTE: the first column is restricted to numerical values whereas either alpha or numeric characters may be used in the other columns. Commas (,) must be used to separate the columns, and every column must contain a value for each row. If data is missing for a column, enter " " (double quote blank double quote). Be careful to check that the commas separating the columns are in place. Don't use characters such as commas and semicolons within the columns, because these are column delimiters and will be interpreted as additional columns.]
    A .TAB data point file might look like:

    1110, 50, 10, 10
    1111, 15, 2, 20

    where the first field (1110, 1111) is the locality number, the second field the rock type code, and the third and fourth fields the azimuth and dip of bedding.

    Information concerning the nature of the data point to be plotted  is stored in a .PLT file as 4 lines of code:

    (3rd line) NUMBER OF COLUMNS IN DATA TABLE, THE COLUMN TO BE POSTED; a value of 0 would indicate that the locality # is to be posted.

    If the second entry in line 3 = 0, then the LOCALITY NUMBER will be posted; if -1, a NOTE FILE RATHER THAN TABLE will be posted; and if -2, there will be NO POSTING

    In the following case, since the first field in the third line is 0, there is no data other than the locality number in the file, and the program will plot the locality number with the symbol. The locality number provides the link with the external database file referred to in the 2nd and 3rd lines.

    100, 1, 1, 100, "Data point symbols for tabular data from WRC.TAB, e.g. samples", 0
    0, 0
   .04, .06


    If entering data with a digitizer keypad or screen menu, three entries are required :

    1. CODE, (100-199): Use a different code for each different symbol or data file. Symbol types and sizes, and data files for each code are defined in the associated plot file.

    (NOTE: Re- parameter 1 of the third line: the number of columns of data in the table does not including the locality number column; that is, the number of columns is one less than the actual number.)

    2. P1: Locality number (containing up to 6 digits).

    3. P2: Angle of rotation of plotted posting, in degrees measured counterclockwise from the horizontal. A value of zero selects horizontal posting to the right of the digitized point. Angles between 91 and 269 degrees cause posting of numbers to the LEFT of the locality point, whereas angles 270-360 and 0-90 degrees plot to the RIGHT of the point.


    Individually rotatable symbols, bedding, foliation, etc (CODE GROUP 200-299)

    * Plot file pattern:

    e.g. 200,1,0,0,"arrow symbol; no number"
           201,1,0,0,"bedding attitude symbol"

    User-defined symbols (CODE GROUP 300-399)

    * Plot file pattern:
    e.g. 300,1,0,0, "Plots the symbol number read from P2"
          362,1,0,0,"Flat bedding symbol" *digitize with P1=62; P2=100 (symbol size)
         376,1,0,0,"Drill hole symbol" *digitize with P1=76; P2=100 (symbol size)

    Filled polygons (CODE GROUP 400-499 800-899)

    * Hundreds of different types can be created by varying parameters.


    e.g.  400,1,1,0,"Continuous outline and no pattern"
           401,1,1,0,"Horizontal hatch fill with no outline"

    Text and leaders (CODE GROUP 500-599)

    * Plot file pattern:
    * CODE, 1, 0, 0
    e.g. 500,1,0,0,"Unit labels text & tag"
          501,1,0,0,"Hidden unit tags"
         502,1,0,0,"Ordinary text"

    The first example writes 500 as the CODE, the numerical attribute of the text (e.g. rock type) as P1, and the text size as P2. The polygon topology for the fill colour is carried by the value of P1.
    In the second example, 501 is the CODE for text to be attached to the polygon with a tag, the text being outside the polygon; P1 is again the topological value used for the fill colour.
    In the third example, 502 is the code for the addition of text only; no topology.

    Splined lines (CODE GROUP 600-699)

    * Plot file pattern:
    e.g. 600,1,0,0,"Splined solid line"

    Splined text (CODE GROUP 700-799)

    * Plot file pattern:
e.g.  700,1,0,0,"Splined text"

.RU contains the text data with a numerical value that links to the text code P1 values in the .PLT file, e.g.


    This file is derived from a simple .TXT text file with the form:


    It is converted to the .RU file format via File -> Edit Text File -> 'Convert to rock unit format'.

    .TXT contains names of rock types, Rock units, and other text (e.g. Author, date, etc) that is written in WordPad.

    .ASC is a file that contains the .NDX. .LSF object coordinate and code data in ascii format, e.g.

    11 X 17 SHEET
    000.000 011.000
    000.000 000.000
    017.000 000.000
    017.000 011.000
    1 5 99 0 0
    000.0212 -000.021
    009.9951 -000.021
    009.9951 009.9907
    000.0212 009.9907
    000.0212 -000.021
    2 2 100 1 0
    002.5005 008.2117
    002.5005 008.2117
    3 2 100 2 0
    004.0146 006.8301
    004.0146 006.8301

    The first field is the object number (object 1 is the border in this case, code 99), the second field is the number of coordinate locations (2 for a point symbol), the third is the symbol/pen code, the fourth the location number (P1) and the fifth the angle at which to plot the symbol (P2). In the case of a point symbol, the second and third lines give the starting and ending X and Y coordinates, and are therefore the same value.

    D) The DATA Table

    The data table can be viewed by selecting DATA -> Table of entities -> LIST ALL in the DATA menu on the toolbar. The data table contains six fields:

    1) the object (feature) number (record) , 2) the line or symbol CODE, 3) the P1 value, 4) the P2 value, 5) the beginning, and 6) the end coordinate value of the feature.

    In the case of lines, the CODE value defines the combination of line type and pen to be used as specified in the 1-99 CODE group definition in the .PLT file; where pen refers to the line colour and thickness. The P1 field of the data table references the pen to be used, whereas the P2 field contains the numerical value corresponding to the line type to be plotted. A value of 0 for P2 means that the default symbol size of 100 raster units is being used.

    Point data - the CODE value also defines the combination of symbol and pen to be used, but the P1 field contains the attribute value of the symbol (either the outcrop station number/locality/site or the rock unit code) and the P2 field contains the angle at which to plot the attribute. The station number (locality/site) P1 value provides the link with the attributes in the external .TAB or .TXT file To change the symbol or colour or line thickness of the symbol to be plotted, a specific instruction line (CODE) would have to be added to the .PLT file.

    User defined symbols - the P1 field references the standard symbol value, and the CODE number = 300+P1. Consequently, both the CODE and P1 values reference the symbol to be plotted. The P2 value refers to the symbol size. Only a symbol will be plotted; it is not possible to plot a locality number with the symbol.

    Rotatable symbols - in this case the CODE value refers to a specific symbol to be plotted and the P1  field holds the angle of rotation.

    Text - the 500- CODE value refers to the nature of the association of text with any polygons in the drawing, and the P1 value in the data table corresponds to the numerical value (1st field) linked to the text (2nd field) in the .RU file. If the text is topologically attached to a polygon, the P1 value is the topological value of the polygon. The colour fill of the polygon is determined by the value of P1. The P2 value refers to the text size.

    Records can be toggled on and off using the 'Toggle Delete' button.

    E) Keyboard shortcuts and digitizing

    Keyboard short cuts, e.g. s, n, m, etc, can only be used when EDIT appears in the tool bar; NOT when the DRAW toolbar is exhibited.

    To add a new feature click NEW CODE, and, when finished drawing, complete the addition by clicking DONE (ALT-D).

    Clicking the CLOSE-END button closes the polygon and ends the procedure, whereas clicking the CLOSE-POLY button closes but does not end the drawing operation.

    List of shortcut keys

    Shortcut keys invoke certain commands with a single keystroke, even when the menu listing of the command is not visible. Use of shortcut keys for commands while using the mouse only for pointing can greatly speed editing. Editing function shortcut keys only work when the EDIT menu is visible in the tool bar, and the confirmation command shortcut keys (Confirm, Escape, Advance, Back) only work when the confirmation menu is displayed.

    A = Add points to an entity
    B = Break a line into two parts
    C = Copy an entity
    G = Drag move an entity
    H = Change attributes of an entity
    M = Move a single point in an entity
    N = Move a node
    P = Set a point
    R = Redraw the screen
    S = Select an entity
    T = Delete points from an entity
    U = Continue search to select an entity
    V = Move an entity
    W = Define a screen window by drawing a rectangle with the mouse
    Y = Drag copy an entity
    , = move the cursor to the nearest point
    . = Set a point on the nearest point
    Ins = Set a point
    Del = Delete an entity
    + = increase the cursor grid spacing by an order of magnitude
    - = decrease the cursor grid spacing by an order of magnitude
    Arrow keys = move the cursor one grid space on a grid
    Shift arrow keys = move the cursor one grid space, but not on a grid
    Ctrl arrow = Pan the screen window in the direction of the arrow
    Ctrl 5 = Pan the screen window to center on a digitized point
    Ctrl + = Add or remove single entities from the block list
    Ctrl - = Empty the block list
    Ctrl O = Zoom out by a factor
    Ctrl P = Zoom back to the previous window
    F1 = Help
    F12 = Open a new database

    The confirmation command shortcut keys below only work when the confirmation menu is displayed.

    A = Advance to the next point in an entity
    B = Move back to the previous point in an entity
    C = Confirm a choice
    E = Escape without making a choice (abort)

    F) Digitizing with a mouse

    To make nodes and vertices visible, click Nodes and Vertices in the DISPLAY menu;
    to set a point - click the left mouse button;
    ** to set a point and end an entry - click the left mouse button while holding down the shift button;
    to set a point on the nearest pre-existing point - click the right mouse button or press the '.' key and click the left mouse button;
    to set a point and close and end an entry on a point - click the right mouse button while holding down the Shift key, or click the CLOSE-END button on the DRAW tool bar;
    to set a point to close a polygon but without ending the entry - click the CLOSE-POLY button on the Draw toolbar;
    to continuously digitize (freehand or sketch mode) hold down the INS key and click and move the left mouse button..

    Snapped nodes occur as small black circle around a cross. Dangling nodes, those nodes that are not exactly connected to another node or line, appear as red squares. To correct dangling nodes use 'N' to move and snap the node to another line or node. 'M' is used to move a vertex, and 'G' is used to drag an object to a new position. Where two lines cross and it is necessary to create a T-junction, select one of the lines, break it, and move the end node of the other line to overlie the newly created nodes.


    G) Importing point data, orientation symbols, and text into a GSMCAD drawing from a coordinate database table

    1) In your area of the Earthnt\users server make a directory with the name 'GSMyourinitials',  e.g. GSMWRC.

       (In the following text 'gsmyour intitials' will be referred to as 'gsmyi', e.g. gsmwrc, 'yourarea' means your area in \\Earthnt\users, and -> indicates the order of a series of click events.)

    2) check ' My Computer' to make sure there are mapped drives to Earthnt\users and Earthnt\public, and copy the files (and only the files; no folders) wrc.not, wrc.txt,, wrc.plt in \\Earthnt\public\Es300b\gsmcad to \\Earthnt\users\'your area'\gsmyi.

     READ THIS SENTENCE TO THE END BEFORE DOING ANYTHING - Rename the copied files to yi.not, yi.txt,, BUT DO NOT RENAME THE COPIED FILE wrc.plt. Depending on your computer configuration, yi.txt may appear just as yi without the .txt extension.

    3) Start the GSMCAD program (START -> Program -> GSMCAD), click the Begin button in the menu tool bar, and then click File -> Create database. In the 'File Name' box of the 'Name for the Database to be created' dialog box, enter yi.ndx as the name of the drawing file and save it [IMPORTANT] in YOUR folder\\Earthnt\users\'yourarea'\gsmyi, not in the default d: drive.
    Then click OK and press ENTER to accept 'YI'Map (bottom right dialog box) as the name of the map to be made.

    A dialog box entitled 'Copy Template?' will appear. Click the OK button to reply 'No'.

    Read the following paragraph in its entirety before doing anything!! In the 'Type of Database Query' dialog box enter c for Cartesian, click the OK button.

     In the Cartesian Corners Entry box enter a value of 1 and click the OK button. Enter the coordinates for the upper right hand corner of the map as 100 horizontal (click the OK button) and 100 vertical (again click the OK button).
    In the Create Grid Option dialog box accept the offer to create four border lines, and accept a value of 99 as the code number for the lines.
    In the 'Use Standard Plot file?' dialog box decline (click the NO button) the offer to create a new .PLT file, but subsequently accept the offer (click the YES button in the COPY TO? dialog box) to copy the file wrc.plt from YOUR AREA\\Earthnt\users\'yourarea'\gsmyi to a new yi.plt file.
    If the request 'Enter title for Database' appears in a red dialogue box at the bottom of the screen along with the default title 'YI'MAP. Press the ENTER key to accept the default value.

    4) If an 'Open now?' dialog box asking 'Do you want to open the new database now?' appears on the screen, click the YES button. [Otherwise, in FILE -> Open select the yi.ndx database. A rectangular image should appear on the screen.]

    5) In File -> Edit Text File -> 'Convert to rock unit format', convert the file yi.txt (IN YOUR AREA) to a file (to be saved in YOUR AREA).
      When the question 'STARTING NUMBER FOR FIRST ENTRY' (default value 1) appears at the bottom of the screen, press ENTER, and for the query 'SKIP HOW MANY NUMBERS BETWEEN EACH ENTRY' (default value 0), again press the ENTER key.

    Examine the nature of the file in Word Pad.

    6) Click on DATA-> 'Table of Entities' (or Data Table) -> 'LIST ALL' to see the database record for the bounding rectangle.

    Select one of the records and then click 'Toggle-Delete'. Note that an asterisk appears beside the record number, indicating that it has been deleted from the screen - but not from the database. Click the Close button and note that one of the sides of the bounding rectangle will have disappeared from the screen. Return to the 'Table of Entities', select the deleted record, and click the Toggle-Delete button. The asterisk marking the record as having been deleted will disappear. Click Close. The deleted side of the bounding rectangle will reappear.

    7) In WordPad or some other word processor, create a coordinate-attribute table of 30 records in the following format, and save the file as YI.TAB (DO NOT ACTUALLY CARRY OUT THIS INSTRUCTION, the file has already been written for you!!) :

    001,12,27,1,201,125,35,s,Au,"This is a test"
    003,27,38,1,201, 50,50,s,"",""
    ... .. . . ... ... .. .

    where field 1 = station number/locality/site, field 2 = Xcoord , field 3 = Ycoord , field 4 = rock type code, field 5 = structure code, field 6 = azimuth, field 7 = dip, field 8 = rock type alphanumeric code, field 9 = mineral showing, and field 10 = text.

    (IMPORTANT: THE FIELDS CAN BE IN ANY ORDER, e.g. 001, 1, s, Au, 12, 27, 201, 125, 35, "This is a test"

    8) In selecting File -> Edit Text File -> Plot File the yi.plt file will be displayed in NOTEPAD. A number of statements in yi.plt reference the file which you renamed to (step 2 above). Use the SEARCH-REPLACE function in NOTEPAD to change all occurrences of the string wrc in yi.plt to the string yi. Select 'Replace All', Save the file, and then check that the 100-105, 201 and 502 codes are set as follows:

    100,1,1,500, "Data point symbols for tabular data from YI.TAB, STATNUM",0
    9,0 (NOTE***: the second parameter, 0, refers to the first column (station number) of the data table.)

    101,1,1,500, "Data point symbols for tabular data from e.g. YI.TAB, ROCK UNIT CODE",0
    9,3            (NOTE: the first parameter, 9, of this line, the number of columns of data in the table, does not include the locality number column;
                     this number is consequently one less than the actual number of columns; the 2nd parameter, 3, therefore refers to the fourth column.)

    102,1,1,500, "Data point symbols for tabular data from e.g. YI.TAB, ROCK UNIT ALPHANUMERIC ABBREVIATION",0

    103,1,1,500, "Data point symbols for tabular data from e.g. YI.TAB, Mineralization",0

    104,1,1,500, "Data point symbols for tabular data from e.g. YI.TAB, comments",0

    105, 4, 10, 500, "Data point symbols for station notes from YI.NOT"

    502,1,0,0,"Ordinary text"
    201,1,0,0,"bedding attitude symbol"

    Note that the 201 code carries no reference to a YI.TAB file.

    9) Import the structural data in the COORDINATE TABLE file, YI.TAB, into GSMCAD usingFILE -> IMPORT > APPEND FROM COORDINATE TABLE.

    In response to the query for the data file name, double click the file name, and in response to "Is this true?" in the CONFIRM? dialog box, click the YES button.

    Click OK in response to the next three NS COL?, EW COL?, and HEAD LINES COL?queries., (Note that the N-S coordinate means X-value or longitude, and the E-W coordinate relates to the Y-value or latitude.)

    Then in response to the 'Column Number of Code Number  query:
    enter the number '5' (= the column containing the code value '201' in the .TAB file for the bedding attitude symbol) in the Code COL? dialogue box ;
    enter '6' ( = azimuth) for the P1 COL? query (Column number of Station Number or P1 value?),
    enter '7' (= angle of dip) for the P2 COL? Query (Column number or P2 value?),
    enter '0' for the Altitude COL? query,
    enter  yes for the Continue to import query.
    The information to be plotted (azimuth and dip) is extracted from the .TAB data table file. The .PLT code information only specifies the nature of the symbol to be plotted. Press 'R' to display the plotted data. Note that ANY records without structural data will be displayed as station symbols and station numbers.

    Note that when stipulating the column (field) number in the above append operation, the statnum (locality) field is column 1 and not column 0 as indicated in the .PLT file 100-code description. Note also that the size of the plotted structural symbols cannot be arbitrarily changed from the default value of .1 inch = 100 rasters. The scale in the .PLT file should therefore be set commensurate with the dimensions of the map, e.g. .05 for a map of a 100 x 100 dimension (this has already been done for you).

    10) Using the FILE -> IMPORT -> 'APPEND FROM COORDINATE TABLE' import procedure, sequentially import and plot the station number, the rock unit code, the rock unit abbreviation, the mineralization and the comment fields for codes 100 to 104, respectively (that is, import them one at a time).

    The general procedure is the same as in 9) above, but WITH SEVERAL IMPORTANT DIFFERENCES. In response to the'Column Number of Code Number   query, enter a value of '0' for the column number in the Code COL? dialogue box rather than the number of the column containing the data to be plotted.

    Also, do not specify a value for the P1 or P2 fields in the P1 COL? And P2 COL? dialog boxes, simply accept (click the OK button) the '0' default values.

    However, in response to the 'Enter a code Number for Entities to be appended from table...' in the 'Code for Appended entities' dialogue box, enter the relevant 100- code value (i.e. 100 or 101 or 102 or 103 or 104).
    The name of the .TAB file (second line of the relevant 100- code section of the .PLT file) and the corresponding field in the .TAB file (line 3 of the section) are read from the .PLT file by the 'append' operation.
    The table columns therefore do not need to be specified during the import procedure. Entering the code 100 will plot the station/site/locality number; 101 a numeric value corresponding to the rock type; 102 a letter character representing the rock type; and 103 a string indicating any mineralization at the site.
   When the 'ENTER PREFIX OR RETURN FOR NO PREFIX' dialog box shows on the screen, click OK. Finally, click the YES button in response to the 'Proceed with import' query of the 'CONTINUING IMPORT' dialog box.

    Each data set will be printed one on top of the other, and the data may therefore become highly confused. However, the screen can be cleared by deselecting the data records by carrying out the action sequence: Data -> Table of entities -> list all -> 'click and drag the records to be deselected'  -> 'Toggle delete'. The deleted records will be marked with an asterix (*). They can be re-exhibited by re-selecting and clicking the 'Toggle delete' button.
    To prevent plotting of the annotated attribute value, the second parameter of the third line of the 100-  codes in the .PLT file can also be set to a value of -2. To prevent plotting of data in a .TAB file, precede the first line of each 100- instuction set in the .PLT file  by a '*'.

    Text strings can also be plotted via a Code 104 instruction set,  if the string is included as a field in the .TAB file.

    Text can also be associated, but not plotted, with a point symbol by defining a Code 105 instruction set. In this case a point symbol and the station number are plotted and the symbol is associated with the text in a separate note (.NOT) file. The .NOT file would look like, e.g.:

    (blank line)

   where the station numbers (1, 2, etc) in the first and fourth lines are linked to the underlying lines of text (text1, text2, etc). This is useful if you would like to associate a memo or relatively lengthy description with the station location.

    The Code105 plot file pattern in this case would look like:

    105, 4, 10, 500, "Data point symbols for station notes from WRC1.NOT"

   When imported (as in 10) above), the text in the .not file will not however be displayed on the screen. To view the text you must toggle off all other symbols, and then import the 105 codes.  Press the S key (Select) and then click the station symbol (station 1 or 2 in the present exercise). To display the NOTE attached to the station symbol, click Edit on the tool bar followed by Query in the Edit menu.

    Text can also be interactively plotted through the writing of a .RU file (see section C above) and the definition of a 502 code instruction set in which the .RU file is stipulated as the file.
    To plot the text select the DRAW function in the tool bar -> click the NEW CODE button and select the 502 code in the drag down selection menu; then, following the instructions at the bottom of the screen, select the text (e.g. granite) and indicate the text size (give a value of 2000). Click the desired location to plot the text and - VERY IMPORTANT - click the DONE button.

    If a link polygon map is prepared in Autocad Map, it can also be imported as a DXF file containing only line data and then converted and given a topology in GSMCAD.

    It should be noted that GSMCAD is only a map drawing tool. It is not a full GIS tool, and is not capable of storing map data as layers, as in Autocad Map. However, it can be used in conjunction with the Fieldlog export facility to import and visually delineate the distribution of a set of outcrops whose attribute data is stored in Fieldlog.

    H) Drawing a Geological Map

    Before proceeding to draw a map, carefully read sections D), E), and F).

    Make nodes and vertices visible by checking (clicking) the nodes and vertices options in the DISPLAY menu.

    In Data-> Table of entities, 'toggle-delete' all codes other than 102 and 99; close the Data Table, and re-display the drawing. Only data points annotated with a letter code (g for granite, etc) should now appear on the screen.

   The object now will be to draw a set of boundaries demarcating polygonal areas of granite, diabase, sandstone and limestone (remember the Fieldlog exercise in ES200A???) without ever repeating a boundary, and without any line crossing any other line. Make a rough sketch of what you think your map is going to look like, and decide what lines will need to be drawn to complete the rock unit polygons.

    At this point, discuss your sketch with the instructor.

    Using the following procedure, break the rectangle at those points corresponding to the intersection of the rock unit boundaries with the rectangle (where 'break' means to convert a line, rectangle or circle into several line segments, NOT to delete the line or line segment):

     (TIP: in carying out the following instruction, break the north-south boundaries by moving in a south to north direction, and the east-west boundaries by moving in an east to rwest direction; by doing so you will not have to repeatedly re-select the boundary before breaking it.)

    Press 'S' and click the boundary to select it; then press 'B' and click the point on the boundary where it is to be broken. Repeat the 'S' - 'B' (orB only if following the above tip) sequence the requisite number of times.

    Click DRAW -> NEW CODE and from the pulldown menu select ' 001 contact certain'.

     Carry out a 'Click - move-click' operation using the the left mouse button to draw a roughly circular granite body. (Note the location of the begin/end node.) Click CLOSE-POLY and then DONE to close and terminate the drawing of the granite polygon.

    Select the granite and, moving in a clockwise direction from the begin/end node, break it at those points where it's boundary would intersect the diabase and the limestone-sandstone boundary.

    Click DRAW -> NEW CODE and from the pulldown menu select ' 001 contact certain' (press the Enter key if already selected).  (Did you make the nodes and vertices visible as instructed above?) Draw the diabase and limestone-sandstone boundaries by clicking one of the nodes on the rectangle boundary and then clicking the complementary node on the granite boundary. CLICK DONE after drawing each line segment; or click the second point while holding the shift key down (see section F above - 'Digitizing with a Mouse'). The nodes can be moved by pressing the N key, selecting the node to move, and then selecting the new location for the node.

    ALTERNATIVELY, lines can be drawn to (a T-junction) or across boundaries, and subsequently sequentially selected and broken at their points of intersection. The dangling parts of the crossing lines can then be erased. The drag -copy entity function can also usefully be used to construct parallel lines such as dike boundaries.It is also possible to delete and move both entities and nodes (examine the EDIT menu).

    Label the map

    Labeling the geologic units on the map fulfills two functions. On an uncoloured map, every area must contain a letter symbol, or be identified by a leader line coming from a letter symbol, in order to identify the rock unit, whereas on a coloured map every area must contain a tag point defining the colour to be used as the polygon fill. If the label is located inside a mapped unit, the vertex marking the location of the label will serve as the tag point - the vertex (a small circle) will be visible if DISPLAY -> vertices is turned on. If the text is too large to be placed inside a rock unit polygon, the label vertex can be connected to the tag point by a line called a leader. In GSMCAD the far end (odd numbered point) of each leader line serves as a tag point. Label entities in Code group 500-599 always have an odd number of points. The first point is the vertex at the lower left corner of the text, whereas the leaders are defined by the 2nd and 3rd points. Bent leaders are not allowed, but can be simulated by connecting a line to the near end of a leader. If the above is not clear, request a verbal explanation.

    Generally at least three different codes are needed for labeling. One represents visible labels that tag polygon areas. Another represents visible labels that do not tag polygons, for example a label that is leadered to a line representing a marker bed too thin to be shown as a polygon. The third code is used to tag polygons without a visible label. The letter size can be made invisibly tiny, or the display of that code turned off. Using such invisible tags reduces clutter on a coloured map where the colour identifies the units, but the tags can be made visible if an uncoloured version of the map is also needed. Other codes may also be needed for miscellaneous text. Generally each different text font and text size should have a distinct code.

    Each geologic unit is represented by a number. The rock units file relates that number to a letter symbol. The letter symbol can be changed, but generally the number remains the same once established. If the project is a compilation of many maps, it is important that a composite and comprehensive rock units file be established early, so that identical units on different maps will be identified by identical numbers.

    To tag a polygon, select DRAW and in the drag-down selection box double click the 500 code 'Unit labels text and tag' as the new code. Use the keyboard cursor arrow key to sequentially select the required rock unit and letter size in the selection box at the bottom right of the screen. Then click the point inside the polygon where you wish to place the rock unit name. CLICK DONE.
    If you wish to tag another polygon with the same tag name, simply move the cursor into the polygon and CLICK the left mouse button. Remember to CLICK DONE each time!
    To tag a polygon with a different name of the same size, click the TEXT button at the bottom right of the screen, and again click inside the polygon you wish to tag.
    If a leader is required, place the rock unit name outside the rock unit, click the vertex at the lower left of the text, and then click some point inside the rock unit. The leader will connect the rock unit to the name tag. To create a leader from the same name to a different polygon, again click the vertex at the lower left of the text, and then click some point inside inside the polygon.

    Check labeling and topology

    Some unlabeled polygons and gaps in contact lines can be detected by using the colour map option under the DISPLAY menu. This option works by drawing all the lines described in the plot file comments as being a "contact" or boundary, then filling the enclosed areas with a distinctive colour starting at points defined by 500-599 group labels that include the label tag in their plot file comment. The result is a partially colored map on the screen. Uncoloured areas occur where there is no tag or the tag is off the screen. Wrong colours occur where the tag is incorrect or the polygon leaks.


      A paper copy of the map is produced using the windows printer, a pen plotter, an inkjet plotter, or by exporting to the ARC/INFO GIS program and running the supplied AML programs to generate ARC coverages and a printable graphics (GRA) image of the map. The various printer and plotter options are found under the OUTPUT menu. The export option is under the FILE menu.


    I) Interactively entering dip and strike and other symbols

    Individually rotatable symbols (Code group 200-299) such as strike and dip symbols can be digitized in two ways. The strike can be entered either by digitizing only the observation point and by keying in the azimuth value from field notes, or by digitizing the observation point and a second point in the direction of strike (using right-hand rule). The second method is appropriate for preexisting maps, but the first method is more accurate. The rotatable symbols can also be imported from a .TXT or .TAB table file.

    When a symbol alone is sufficient, use Code group 300-399. The symbol number is entered from the keyboard as P1 and the symbol size as P2. If a station/locality/site number that relates to a table of data, or a text file of field notes, or a scanned photograph, is needed, use (Code group 100-199). The unique station/site number (which is not the same as the map entity record number) is entered as P1 and a rotation angle for posting the site number or data from a table is entered as P2. The specifications about what data is associated with the site are given in the plot file. These values can subsequently be edited in the Data table of entity values.


    This procedure has now been incorporated into the latest GSMCAD.EXE execute file as the 'Import coordinate table' function. It is therefore no longer necessary to run this program. It is presented as a sample GWBASIC program only.

    When outputting a report from Fieldlog, select the fields in the sample (statnum, numcode, lithcode, metals), and structural (code, azimuth, dip) tables first, and then the STATI table (coordinate fields), because Fieldlog will allow you to only output two tables.

    The following BASIC programme will also carry out the conversion of a fieldlog data file to a GSM a map format file:

    10 rem to convert .txt Fieldlog data files into GSM map format files
    1930 a$ = "out.txt":rem name of Fieldlog data file with statum, X, Y, and attribute value
    1940 d$ = "c:" + a$
    1950 b$ = "gsmcad.asc":rem name of GSMCAD output file
    1960 J$ = "c:" + b$
    2440 OPEN d$ FOR INPUT AS #2
    2450 OPEN J$ FOR OUTPUT AS #3
    2451 print #3, "CARTESIAN"
    2452 print #3, "11 X 17 SHEET"
    2453 print #3, "000.000 011.000"
    2454 print #3, "000.000 000.000"
    2455 print #3, "017.000 000.000"
    2456 print #3, "017.000 011.000"
    2470 IF EOF(2) THEN 4060
    2480 INPUT #2, a, b, c, d:rem statnum, x, y
    2485 rem PRINT a; b; c;
    1486 rem a = a + 500
    4040 PRINT #3, a; "2 "; "100"; d; "0"
    4042 PRINT #3, b; c
    4043 PRINT #3, b; c
    4050 goto 2470
    4060 CLOSE 2
    4070 CLOSE 3
    5000 END