The ngsread program comes with no warranties, guarantees, etc.
The information output from this program is for benchmark recovery expedition planning and is not intended to replace actual datasheets.
This program was not made by the NGS.

The ngsread program is freeware.
The ngsread program is for a PC.

NGSREAD is for reading either a statewide NGS datasheet file or a statewide NGS shapefile and producing a .kml file and/or a .gpx file and/or a system of .html files.

  • The .kml file is for observing the benchmark locations and their datasheets with Google Earth ( maps.  (In Google Earth, click on "File", find the .kml file, then click "Open".)
  • The .gpx file is for bridging NGS benchmark data to programs that read the .gpx format ( such as EasyGPS to transfer information to a GPS receiver.
  • The .html files are one per PID, placed in a subdirectory called html.  (A file called test.dat containing just 3 PIDs is included in the NGSREAD.ZIP file so you can see what the html=yes option does.)  The html files are usable for paperless benchmark hunting.
The default mode of NGSREAD is to only produce a .kml file.

Note: a shapefile .dbf file must be converted to a csv (comma separated file) by using a spreadsheet program.  Shapefiles are not recommended - they require the .csv translation and don't include much data anyway.

NGSREAD makes a  .kml file for presenting benchmarks on Google Earth

NGSREAD's .kml popups contain all the information relevant to benchmark hunting, including the history table, the box score information, and all the monumentation and recovery texts.

Here is a screenshot of a map with a benchmark's popup activated.

NGSREAD provides color coding (.kml file only).

The label color codes are to distinguish found status:
  • yellow = found (either GOOD or POOR)
  • red = not found
  • orange = "see description"
  • green = monumented (i.e. no recovery notes were ever entered after the momumentation)
  • light blue = first observed (like monumented but applies to intersection stations)
  • dark blue = no status given
  • magenta = non-PID item:  location was calculated from box score information
The icon color codes are to distinguish the horizontal position mode:
  • red = adjusted
  • yellow = scaled
  • bright green = hand_held1 or hand_held2
  • dull green = the position was calculated from box score information

NGSREAD has labeling options (.kml file only):
  • PID is the default
  • Designation
  • Elevation
  • Markercode
  • Settingcode
  • First date (of recovery, or monumentation)
  • Last date (of recovery)
  • First and Last dates
  • Who (latest recovery agency)
  • Who and Last date
  • Condition (of latest recovery)
  • Condition and Who
  • Condition and Last date
  • Monumenter (agency)
  • Orders (horizontal and vertical)

NGSREAD has several optional filters: 
  • counties - selects those PIDs in the counties specified (this is especially important since NGS provides statewide files!)
  • radius - selects those PIDs within a specified distance from a specified lat-lon location
  • USGS quadrangles - selects those PIDs in the quadrangles specified
  • monumentation date
  • latest recovery date
  • monumentation code (marker type codes)
  • monumenting agency (use contributor codes)
  • latest finding agency (use contributor codes)
  • recovery type (good, poor, monumented, see description, first observed, not found, any type of found, no recoveries)
  • minimum vertical control order
  • minimum horizontal control order
The filters can be used one at a time or in any combination together.
For example, with these filters you can have NGSREAD show only those PIDs monumented before a specified date, or after a specified date, show only those PIDs found after a specified date, or not reported since a specified date, specify a list of monumentation codes to show, or specify a list of codes to not show, etc.  These are all explained, with examples, in the document file.

NGSREAD will optionally produce .html files for use with a PDA.

If the html=yes option is requested, NGSREAD makes a subdirectory called html in the same directory where the ngsread.exe program is.  The html directory contains:
  • an html page for each PID
  • three html index pages (in each, select and click an entry to jump to that PID's html page)
    • a PID index html page sorted by PID
    • a location index html page sorted by coordinates
    • a designation index html page sorted by designation
The html directory that ngsread makes can be copied to the memory card of a PDA.
When in the field, read your position's coordinates on your GPS receiver and then match them to the nearest minute to the location index html page to find PIDs near you.
The html files are formatted and contain all recovery report information, box score information, and all other information pertinent to benchmark hunting and excludes all information extraneous to benchmark hunting to produce a concise page.
The html files can of course be printed on paper and they take much less space than regular PID pages.
Each PID's html file includes a click-able list of the 10 nearest PIDs sorted by distance, showing:  distance, bearing, 16-point compass direction, and designation.
The html option does not work with an NGS shapefile.

Here is a screenshot of an html file for a benchmark.

NGSREAD works in 2 modes:

1.  It works in the DOS window command line mode.
2.  It works in icon drag-and-drop mode.

1. DOS window command line mode - Examples:
ngsread /counties=glade,morris /monbefore=1920 state.txt
ngsread /foundafter=1990 shape_file.txt

2. In the icon mode, drag a datasheet file or shapefile icon and drop it onto the icon of this program.
A guide file, ngsreadg.txt allows one to specify options that work in the icon mode.
The guide file can be edited with notepad, or a word processor if it keeps it as a plain text file.
To get the three options in the example above, make a ngsreadg.txt guide file with these 3 lines:


To get the html files, make a guide file with this line:

NGSREAD will optionally use box score information to:
  • correct the coordinates of location-scaled reference mark (RM) and witness mark (WM) PIDs
  • calculate coordinates of non-PID reference marks and witness marks
The program uses box score bearing, distance, and main-station coordinates to calculate RM and WM coordinates using Vincenty equations.  It does not correct the coordinates of RM or WM marks that are already location-adjusted.  Duplicate box score information for an item are ignored (when 2 PIDs reference the same intem in their box scores).
The coordinates that this option calculates are used in its .kml and .gpx output files.
The icons and labels of those items so corrected are
color-coded for Google Earth view with the .kml file.
The option to use box score information is ON by default.  It can be turned off with this command:  /scoreinfo=no.

NGSREAD makes a summary file and a statistics file
The summary file is a plain text file based on the name of the input file except with a .SUM extension.  This file is a fixed-width plain text file and can be read either as-is or imported into a spreadsheet.
The summary file includes the following fields:
  • PID, Marker Code
  • Monumenting Agency
  • Monumentation Date
  • Condition (explained that the bottom of the file)
  • Last Reporting Agency (if any)
  • Last Report Date (if any)
  • Longitude and Latitude (rounded to the nearest minute and sorted)
The statistics file is also a plain text file based on the name of the input file and gives various statistics about the file's contents.
The statistics file include the following fields:
  • Find status Counts
  • Monumenting Agency Count
  • Last Reporting Agency Count
  • Marker Type Code Count
  • Monumentation Year Count
  • Last Recovery Year Count

All the options are explained in the accompanying ngsread.doc file.

Download NGSRD3-1.ZIP  (The .zip file contains ngsread.exe and ngsread.doc and ngsreadg.txt and TEST.DAT)

10/13/2007: Fixed a bug in the gpzfile creation mode
9/30/2007:  Added labeling by vertical, horizontal, and ellipsoidal order, added filters for vertical and horizontal order, added optional capability to output a list of PIDs, fixed shapefile coordinates by changing the fields read
9/22/2007:  Added labeling by monumenter
9/20/2007:  Added /quad and /monumenter filters
9/17/2007:  Changed to use information header instead of extension to distinguish .dat file from shapefile, now handles recent NGS coordinates format change
9/14/2007:  Made able to read statewide datasheet files
8/12/2007:  Added /statsin and /statsout filters
6/28/2007:  Made separate switches for making .kml and .gpx file outputs
6/15/2007:  Added /monbefore /monafter /foundbefore /foundafter filters
6/11/2007:  Added capability to read an NGS shapefile
5/14/2008:  Added /html option to create an html file for each PID that meets the selection criteria
6/8/2008:    Added code to use box score information to:  1) re-calculate scaled mark coordinates   2) calculate coordinates of non-PID box score reference marks and witness marks
6/19/2008:  Made each PID html file's location index link find its PID in the location index.  Added a designation sort html file for the html option.  Added /findagency filter.
6/22/2008:  Added a radius filter
7/11/2008:  Creates a summary file and a statistics file
2/16/2009:  Added labeling by setting code
9/26/2009:  Added a counties filter, changed quadrangle filter to that it would take a list of quads instead of a single quad

1A script that is somewhat similar in effect (but with much less fuctionality) to NGSREAD is dat2kml.awk
It requires GAWK for a PC (the included .doc file gives the URL).  Other derivations of AWK on other platforms might work too.
dat2kml.awk can be downloaded here.

Suggestions/comments? email me
Apr 25, 2009, 1:20 PM
Sep 29, 2009, 10:13 PM
Sep 29, 2009, 10:39 PM
Sep 29, 2009, 10:18 PM