NJGS Logo Example 3D Image

User's Guide for GeoStructure3D.avx

GeoStructure3D and GeoStructure2D are ArcView extensions for making 3D or 2D shapefiles of oriented and annotated structural geological symbols.

Gregory C. Herman, Ph.D.
N.J. Geological Survey
Trenton, NJ 08625

Loading the Extension * VTab Data Table * GeoStructure.Make Script * DisclaimerReferences * Example Shapefile Output


DGS00-5 includes two ArcView 3.x  extensions for creating 3D and 2D shapefiles of structural geologic symbols from data files containing structural measurements, geological variables, and geographical coordinates. The 3D extension (GeoStructure3D.avx) has a program dependency on the ArcView 3D Analyst extension and provides options for generating both 2D (map) and 3D structure symbols.  The 2D version (GeoStructure2D.avx) is not dependent on the 3D Analyst extension and provides support for map-symbol production only. The user can choose from among six 2D map symbols for planes (bedding, foliation, joint, cleavage1, cleavage2, and half plane) or  four 2D map symbols for lineations (lineation1, lineaiton2, lineation3, and slip lineation).  Simple rectangular polygons are generated for 3D planar structures, and simple polylines are used for 3D lineations. Three different  options are available for specifying structural orientation (Strike, Dip, and Dip Direction; Azimuth and Inclination; and Quadrant).   A data file is added to a project as a virtual tables (VTab) prior to running the extension.  VTab data are delimited text files with a prescribed set of field names for the structural bearing (Brg) and inclination (Inc), the class (Type) and subclass (Kind) of structure, lithology (Unit), and location (Domain) variables.  A VTab also requires unique point (Station) identification and geographical coordinates (X-coord and Y-coord).  Shapefile output includes variables for the station number, azmuthal bearing, inclination, unit, and location (domain).  Map labels for the structural inclination can be autolabeled using standard ArcView program options.    

Loading the Extension

The GeoStructure3D.avx and GeoStructure2D.avx extensions must be copied to the ArcView extension directory (for example c:\esri\av_gis30\arcview\ext32\) prior to their use.  Copy the 3D version if you have installed the 3D Analyst, otherwise copy the only the 2D version.   After creating a new project or opening an existing project, activate the appropriate GeolStructure extension from the project window by checking either the "2D or 3D/2D Structural Geologic Imaging" extension option.

VTab Data Table

The GeolStructure extension reads geological data from a virtual table (VTab) that is added to the project before running the program script.  The VTab can be added as a delimited ASCII text file or a dBase file, provided the table is properly formatted.  Following is part of an example file illustrating the ASCII text format using the Strike, Dip, Dip Direction orientation format for structural orientation:

17002,GPMR ,SG ,B  ,      , 50,27,N
17002,GPMR ,SG ,J  ,      ,150,84,S
17002,GPMR ,SG ,J  ,      ,137,79,N
17005,GPMR ,SG ,B  ,      , 47,45,S
17005,GPMR ,SG ,SP ,QZLLNO, 30,77,S
17005,GPMR ,SG ,SL ,QZLLNO, 41,41,
17005,GPMR ,SG ,SP ,QZLL  ,134,50,S
17005,GPMR ,SG ,SL ,QZLL  ,311, 4,

The Quadrant option for specifying the structural bearing can also be used:

17001,GPMR,SG,B ,      ,N   ,28,E
17002,GPMR,SG,B ,      ,N20E,28,N
17003,GPMR,SG,B ,      ,S5W ,27,S
17006,GPMR,SG,B ,      ,E   ,9 ,S
17007,GPMR,SG,B ,      ,S65E,29,N
17008,GPMR,SG,B ,      ,S6E ,90,S
17009,GPMR,SG,B ,      ,N40W,90,N
17335,GPMR,SG,B ,      ,N5W ,15,S
17005,GPMR,SG,SP,QZLL  ,S46E,50,S
17005,GPMR,SG,SL,QZLL  ,N49W,4
17005,GPMR,SG,J ,      ,S30E,53,N

The STATION and INC (inclination) fields must be numeric, the BRG (bearing) field can be either numeric- or character-based , depending upon if bearings are recorded using azimuthal or quadrant formats, and all other fields are character based.  The Station field identifies the field-station id, the Domain field identifies a geographical area,  and the Unit field identifies the lithology.  The Type and Kind fields are used to identify different classes and subclasses of geological stuctures, respectively.  These fields can rely on the use of abbreviations, for example, "B" for sedimentary bedding, "J" for joint, and "SP" for shear plane.  These abbreviations stem from usage in the N.J. Geological Survey (NJGS)  Field data Managament System (FMS) , although the extension is written to recognize any set of explicit variables for these two fields.  The Kind field provides more flexibility for program sorting of VTab entries  because character substrings can be used for reselecting table records.  For example, "LL" from the character string "QZLLNO" can be used as a basis for modifying the set of selected records previously selected using the "SP" Type of structure.  Please refer to Herman (1996)  for a complete explanation of the different Type and Kind abbreviations used for recording structural geological data ( Examples of digital mapping of geological structures using these methods can be obtained from Herman, 1997; and Herman and others, 1994).  

In order for the program to properly run, the VTab must be first added to the project, and both the Table document and the VTab must be active (highlighted) as shown in the project window below.  

ArcView Project Environment Display

Image showing the project window having the VTab data table Nj17fd.txt highlighted as the active table in the active Table document.  A set of VTab records are selected from issuing a query with the query tool.

Joining Field Station FTab with VTab Data Table

The VTab must have X_coord and Y_coord field entries to ensure program success. These fields must be numeric and can be joined to the ASCII or dBase VTab using a common field, such as Station.  The NJGS builds field-station location files for each 7-1/2' quadrangle mapped.  The format relies on the quadrangle index number as the station prefix (for example 017 or 17) and usually provides up to 999 location entries so that field station can range from 17001 to 17999.  However, any cataloguing system can be used for indexing station locations, as long as it is numeric.  The x- and y-coordinates are added to the station point coverage, after digitizing the point locations, by issuing the ARC 'addxy' command or running the addxycoo.ave Avenue script in ArcView. The complete station-location theme includes the station field and station number as the data file.  The feature-theme (FTab) table is then joined with the VTab data in order to provide the complete set of fields needed to run the symbol-generation script.

GeoStructure.Make Script

Selecting Geological Structures to Plot

Structural geological themes are made from the selected records of the VTab.  The geographical coordinates are read for each selected record and are the basis for locating the center or end point  of each oriented structural symbol.  VTab data records can be selected prior to running the script  by using the ArcView query tool.  If no selection has been made prior to starting the script, then the user can use built-in program queries for selecting records based on the Type and Kind field variables. Ordinarily, the user can use the query tool to first narrow the list of selected records using any field-based criteria, and then can subsequently refine the subset of selected records by using a program option for refining the selection as explained below.

Script Operations

The user starts the embedded script for making structural geolgocial themes by clicking on the icon located on the View Toolbar.  Remember that before running the script, that both the VTab containing the structural data and the Table document must be the activated (highlighted) in the project window. Once started, the user is presented with a sereis of program operation queries. These options are briefly covered below for the 3D extension.  The 2D extension offers a similarset of queries designed for 2D theme generation only.

After clicking on the custom icon, the following Message Box is displayed for the 3D extension only, that introduces the extension and asks the user if they wish to proceed:

Prompt 1
GeolStructure3D.Make Script Prompt 1

The next program option for the 3D extension requires the user to choose between generating 2D or 3D geological structures:

Prompt 2
GeolStructure3D.Make Script Prompt 2

If the 2D option is chosen then the user is prompted to enter a filename for a new 2D structural geological theme (Prompt 2Da - not shown). Then a query is displayed from which the user must choose from a list of map symbols including bedding, joint, half plane, foliation, lineation1, lineation2, lineations3, or slip lineation:

Prompt 2Db
GeolStructure3D.Make Script Prompt 2Db

If the 3D option is chosen  in the second program query illustrated above, then the user is presented a choice between making 3D polygons for planar strcutures or 3D lines for lineation structures:

Prompt 3Da
GeolStructure3D.Make Script Prompt 3Da

If the user  chooses the PolygonZ option, then anther prompt asks the user to input a numeric value for the aspect of the 3D plane.  This value determines the rectangular shape of the 3D polygon, with a default value of 2.0 resulting in an aspect ratio of strike to dip length of 2 to 1:

Prompt 3Db
GeolStructure3D.Make Script Prompt 3Db

This feature is included in the extension because the relationship between 3D symbols of different orientations is sometimes easier to visualize with rectangular rather than square shapes.  

After entering an aspect value, the user is then prompted to enter the name of the new 3D shapefile within a query window (Prompt 3Dc - not shown).

Query Prompt 4 asks the user to input the length variable used for calculating the strike or trend map length for the chosen symbol to be generated:

Prompt 4
GeolStructure3D.Make Script Prompt 4

Query Prompt 5 asks the user to specify an orientation format for the input data:

Prompt 5
GeolStructure3D.Make Script Prompt 5

The user must designate the orientation format used in the active VTab.  

The final program query (Prompt 6)  asks the user if they wish to refine the set of currently selected features in the VTab:

Prompt 6
GeolStructure3D.Make Script Prompt 6

This program option provides the user with a method of  data reselection where a specific substring can be searched for within the 'Kind' field.  For example, if the user is sorting for kinds of shear planes, and only wants to plot those having left lateral slip noted, then the user can specify 'LL'  in the prompt, and only those records having the 'LL' string or substring will be reselected from the previously selected set.  The program logic uses the 'contains' Avenue command, which is unavailable within the regular ArcView Query tool . Therefore, if the following set of Shear Plane 'Kind' modifiers are available: QZLLSI, LLQZ, LL, LLNOQZ, QZRV, then 4 of the 5 will be reselected.

Structural Orientation Formats

Following is a brief explanation of the available choices for specifying structural orientation:

1) Strike, Dip, Dip Direction - Used for planes only. Strike measured from 0o to 179o, Dip measured from 0o to 90o. Dip direction can be either singular or double characters (for example, N, S, E, W, or NW, SE, etc.)

2) Azimuth, Inclination - Used for planes (dip azimuth, dip) or lineations (trend, plunge). Azimuth measured from 0o to 359o, planar dip or linear plunge measured from 0o to 90o.

3) Quadrant - Used for planes or lineations.  Planes are entered using strike, dip, and dip direction. Example entries include: N3E,20,W      N40W,90,      N,56,E     E,90     S89W,1,S.
Lineations use trend and plunge.  Example entries include :N,45     N30E,89     E,0     N45W,45.


The GeoStructure3D and  GeoStructure2D ArcView extensions were developed at the offices of the N.J. Geological Survey, Division of Science, Research, & Technology, N.J. Department of Environmental Protection, State of New Jersey. They are distributed free of charge.  Use of these products requires the user to assume all responsibilities associated with it's use, or any consequences stemming from it's use. These extension have been  successfully developed and tested using ArcView v. 3.0a and 3D Analyst v. 1.0 running on a Desktop PC running Window 95 OS with an Intel Pentium Pro microprocessor and 64 MB RAM .


Herman, Gregory C., 1997, Digital Mapping of Fractures in the Mesozoic Newark Basin, New Jersey:  Developing a Geological Framework for Interpreting Movement of Groundwater Contaminants:  Environmental Geosciences, Vol. 4, No. 2, 9 68-84.

________________, 1996, Field Data Management System (v. 2.1) User's Guide: N.J. Geological Survey Digital Geodata Series DGS96-4, http://www.state.nj.us/dep/njgs/geodata/dgs96-4.htm.

Herman, G. C., Monteverde, D. H., Volkert, R. A., Drake, A. A., Jr., and Dalton, R. F., 1994: Environmental map of Warren County, N.J.; Bedrock fracture map: New Jersey Geological Survey Open-File Map 15B, scale 1:48,000, 2 sheets.

Example Images of Output Shapefiles
Example 1
2D map display of various structures
Example 1 shows structural
data for a traverse through
bedded sedimentary rocks
having bedding (black),
spaced cleavage (blue),
joints (green), and a
bedding-cleavage intersection
lineation  (orange) plotted at
at the 1:6000 map scale.  
Each structure symbol is
300 ft. long, and inclination
values are plotted using 12pt.
Arial Italic font.  Inclination
values are autolabeled for
three themes, only for features
in the View extent, then were
manually positioned.
Example 2
3D display of Proterozoic and Paleozoic structures
Example 2 shows a 3D image of
mapped structures in  Proterozoic
crystalline rocks atop Jenny Jump
Mt. (bottom 2/3 of image) and
various Paleozoic structures
occurring in the footwall of the
overthrust fault.  3D structures
include joints in crystalline rocks
(pink), sedimentary bedding (lt. blue),
spaced cleavage (olive green), and
and joints (lt. purple) in sedimentary
rocks.  2D map traces include fault
traces ( red lines), fold traces (gray
lines), and a 7-1/2' quadrangle
boundary (magenta line).  The
trace of the cross fault in the
center corresponds to cross-strike
joints showing variable strikes and
dips along it's projected trend.
Example 3
3D display of Mesozoic bedrock structures
Example 3 shows a 3D image
of mapped structures in the central
part of the Mesozoic Newark Basin,
New Jersey.  3D geological structures
include sedimentary bedding (green)
and joints (pink).  2D features are
fault traces (red lines), lithologic
contacts (purple lines), and fold
traces (orange lines ). This example
illustrates structures associated with
a gently-plunging syncline occurring
in the hanging wall of the
Flemington fault system.