Google Earth is rapidly becoming the land surveyor’s tool-of-choice for preliminary job site reconnaissance and survey planning (see "Topography is Dead," by Joel Leininger, March 2007). Survey projects often begin with the investigation and selection of nearby NGS marks to establish horizontal and vertical control.
There are many strategies for plotting NGS control stations in Google Earth, the most flexible of which involve translating shapefiles (see "Google Earth brings GIS to the masses," by Rj Zimmer, May 2007) or parsing datasheets, but the process is tedious, requiring server queries, file downloads, and client-side translation software. Furthermore, this process must be repeated periodically because new stations are added to the NGS database daily (NGS 2008a). Yet another complication is that the NGS server will not return datasheets or shapefiles for more than 1100 marks per query.
Recently, the NGS has published a Windows program, DSWorld (Archer-Shee 2008), that overcomes some of these problems by using the get_mark_list utility (NGS 2005). DSWorld produces a static keyhole markup language (KML) file for an entire county, containing either horizontal or vertical marks. Currently, DSWorld must be installed on a Windows PC, supports neither point of interest (POI) nor area of interest (AOI) queries, and offers limited filtering capabilities (horizontal or vertical).
The software presented here, NGSCS, is entirely webbased, requires no installation, and will very likely work on any Google Earth-supported platform with a modern web browser. The program is written in C#, runs on a Windows web server, and writes streaming KML to a Google Earth client. The web application essentially acts as a front end for the NGS station list server. It submits requests to the NGS web server and translates the textual information returned by the NGS server into KML so that it can be displayed graphically by Google Earth.
NGSCS
The NGSCS web page (http://www.metzgerwillard.us/NGSCS.html) provides brief documentation and a hyperlink to the query setup form (Fig. 1), illustrated here with all form controls enabled.
The setup form defines parameters that are either nongeographical or not easily related to latitude and longitude. When the OK button is pressed, a KML document with a Google Earth network link (Google 2008) named Search Results is downloaded to the client. This link contains the user’s choice of 18 station types and 5 stabilities (Table 1), together with other parameters specific to the search type. Network link parameters may be inspected by examining the properties of the Search Results folder. Contents are added to the Search Results folder when the network link is activated, and replaced when the link is refreshed.
All station markers are color-coded by type with mnemonic initials.
H (orange) = horizontal only
V (blue) = vertical only
B (pink) = both horizontal and vertical
Station types are categorized in subfolders so that visibility, icons, and labels may be customized by applying styles (color, scale, and opacity) to folders instead of individual placemarks. Each folder name includes the number of stations in parentheses.
Station balloons (Fig. 2) contain all information supplied by the NGS get_mark_list utility.
Station Name
Permanent Identifier (PID)
Distance = distance from POI (for radial searches)
Order H V = horizontal and vertical orders
V Source = vertical source
Approximate Latitude and Longitude
Station Stability
Clicking on the PID (AA1800) returns a current datasheet to the user’s web browser. The complete output from get_mark_list may be inspected in the user’s web browser by clicking on the Data Source hyperlink in the Stations folder balloon. The NGS Control Stations document balloon contains brief instructions appropriate to the search method, and the About folder balloon contains copyright information and the last revision date.
The NGS get_mark_list utility will not retrieve a list with more than 3000 stations for radial and rectangular searches. If this limit is exceeded, Search Results will contain a folder named "NGS Server Error." The limit for county searches is unknown. If a search finds no marks, Search Results will contain a folder named "No Stations Found."
Support for the "View in Google Maps" feature depends on the availability and limits of the Google Maps server. The server will not accept more than 1050 stations, and a response of "File not found" indicates a server timeout. The Google Maps server timesout quickly; searches on smaller areas with fewer stations are more likely to succeed.
Support for the "View in Virtual Earth" feature depends on the availability and limits of the Live Search Maps server. The server will not accept more than 200 stations.
In the following sections, elements specific to radial, rectangular, and county search methods are discussed, and a software implementation summary is presented.
Continue reading the original posting of this article on Amerisurv (high-res PDFs available)