Projecting File Coordinates

Discussion of File Coordinate Projection

Each file contains horizontal and vertical coordinates, which can be projected from one coordinate system to another given that the user knows which coordinates systems to project from and to. This is accomplished by adding the REPROJECT tag to the file. This tag is used in place of the coordinate unit definition and causes the file reader to look at the end of the file for a block of text describing the projection definitions. The definitions are a series of flags that listed below. NOTE: GMF files do not need the REPROJECT tag, the projection definitions can occur in a continuous block anywhere in the file.

Format (for REPROJECT flag):

CSV/GWC files:

Line 2: Elevation/Depth Specifier: This line must contain the word Elevation or Depth (case insensitive) or numbers 1 or -1 to denote whether sample elevations are true elevation or depth below ground surface. If actual elevations are used (a right-handed coordinate system), then this parameter should be 1; if depths below the top surface elevation are used, then this number should be -1. This should be followed by the ASCII string REPROJECT.

AN EXAMPLE FOLLOWS:

# This is a comment line....not the header line - the next line is

X Y Z @@TOTHC Bore Top

Elevation 6.0 REPROJECT

 

PGF files:

Line 2: Elevation/Depth Specifier: This line can contain the word Elevation or Depth (case insensitive) or numbers 1 or -1 to denote whether well screen top and bottom elevations are true elevation or depth below ground surface. If actual elevations are used (a right-handed coordinate system), then this parameter should be 1; if depths below the top surface elevation are used, then this number should be -1.

For pregeology files, a Depth (-1) flag forces the otherwise optional top surface column to be required. Depths given in column 3 are distances below the top surface elevation in the last column (column 6). If the top surface is omitted, a value of 0.0 will be assumed and a warning message will be printed to the EVS Message Console.

Optionally, line 2 may contain names for each material represented by the "geologic unit ID" (e.g. material). There are some rules that must be observed. The number of material names MUST be equal to the number of geologic unit IDs specified. IN OTHER WORDS, if there are four materials represented in your .pgf file, there should be four names on line two.

Each name must be no more than 20 characters and names with spaces in them MUST be surround by quotation marks (example: "Silty Clay"). Names should be limited to upper and lower case letters, numerals, hyphen "-" and underscore "_". The names defined on line two will appear as the cell set name in the Explode_and_Scale or select_cells modules. Names should be separated (delimited) with spaces, commas or tabs.

The REPROJECT tag must follow the names for the material numbers.

AN EXAMPLE FOLLOWS:

Pregeology file

Elevation Silt Fill Clay Sand Gravel REPROJECT

 

GEO files:

Line 2: Elevation/Depth Specifier: This line can contain the word Elevation or Depth (case insensitive) or numbers 1 or -1 to denote whether sample elevations are true elevation or depth below ground surface. If set to Depth or (-1) all surface descriptions for layer bottoms are entered as depths relative to the top surface. This is a common means of collecting sample coordinates for borings. Note that the flags (1.0e9 and -1.0e9) are not modified.

Optionally, line 2 may contain names for each geologic surface (and therefore the layers created by them). There are some rules that must be observed. The number of surface (layer) names MUST be equal to the number of surfaces. Therefore, if naming layers, the first name should correspond to the top surface and each subsequent name will refer to the surface that defines the bottom of that layer. A name containing a space MUST be enclosed in quotation marks example ("Silty Sand"). Names should be limited to upper and lower case letters, numerals, hyphen "-" and underscore "_". The names defined on line two will appear as the cell set name in the Explode_and_Scale or select_cells modules. Names should be separated with spaces, commas or tabs.

The REPROJECT tag must follow the names for the material numbers.

AN EXAMPLE FOLLOWS:

X Y TOP BOT_1 BOT_2 BOT_3 BOT_4 BOT_5 BOT_6 BOT_7 Boring

-1 Top Fill SiltySand Clay Sand Silt Sand Gravel REPROJECT

 

GMF files:

GMF files can have the projection block placed anywhere in the file.

 

Projection Block Flags:

**NOTE: Most flags defined below include arguments denoted by the '[' and ']' characters. These characters should not be included in the file. (Example: IN_XY meters)

 

PROJECTIONIndicates the start of the coordinate projection block

 

SWAP_XY: This will swap all coordinates in the x and y columns

 

UNITS [string]This defines what your final coordinates for x, y, and z, will be. These units will be checked for in the file \data\special\unit_conversions.txt. If they are not found there they will be treated as equivalent to meters.

 

UNIT_SCALE [double]: The UNIT_SCALE flag sets the conversion factor between the final coordinates and meters. This is only necessary if you are defining units with the UNITS flag that are not listed in the \data\special\unit_conversions.txt file.

 

IN_Z [string]:  This flag sets what units your z or depth coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS are not set then this will generate an error.

 

IN_X [string]: This flag sets what units your x coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS are not set then this will generate an error.

 

IN_Y [string]:  This flag sets what units your y coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS are not set then this will generate an error.

 

IN_XY [string]:  This flag sets what units your x and y coordinates are. These units if different than the defined UNITS will be converted to the UNIT type. If UNITS are not set then this will generate an error.

 

PROJECT_FROM_ID [int]: This flag sets the EPSG ID value you wish to project from, you can look up what ID is appropriate for your location using the project_field module. To use this flag you must set the PROJECT_TO_ID or PROJECT_TO flag as well.

 

PROJECT_TO_ID [int]: This flag sets the EPSG ID value you wish to project to, you can look up what ID is appropriate for your location using the project_field module. To use this flag you must set the PROJECT_FROM_ID or PROJECT_FROM flag as well.

 

PROJECT_FROM [string]: This flag sets the NAME of the location you wish to project from, you can look up what NAME is appropriate for your location using the project_field module. To use this flag you must set the PROJECT_TO_ID or PROJECT_TO flag as well. IMPORTANT: The full name should be enclosed in quotation marks so that the full name will be read.

 

PROJECT_TO [string]: This flag sets the NAME of the location you wish to project to, you can look up what NAME is appropriate for your location using the project_field module. To use this flag you must set the PROJECT_FROM_ID or PROJECT_FROM flag as well. IMPORTANT: The full name should be enclosed in quotation marks so that the full name will be read.

 

TRANSLATE [double double double]: This flag will translate each coordinate in the file by these values. It will translate x by the first value, y by the second, and all z values by the third.

 

END_PROJECTION: Denotes the end of the projection block and is required.

 

Example 1:

 

PROJECTION

PROJECT_FROM_ID 4267

PROJECT_TO "NAD83 / UTM zone 10N"

UNITS "meters"

SWAP_XY

END_PROJECTION

 

Example 2:

PROJECTION

UNITS "meters"

IN_XY "km"

IN_Z "ft"

END_PROJECTION