Three datasets we lean on for lake naming research, what each one actually is, how they cross-reference each other, and where to get the data yourself.
We use three different government and community datasets when we investigate a lake name on this site (see, for example, The Two Irene Lakes Below Sprague Glacier). They answer different questions and aren’t interchangeable, so this page documents what each one is, its official schema, and how to pull the data yourself.
What it is: the federal repository of geographic feature names for the United States, maintained by USGS on behalf of the U.S. Board on Geographic Names (BGN). Every named feature — lake, glacier, gap, summit, populated place — gets one record: a name, a feature class, a representative point, and (when the Board has formally acted on it) a Board Decision date and authority. GNIS stores names, not shapes — each feature is a single lat/lon point, never a polygon or line.
Is there a spec? Yes. The Feature ID, Official Feature Name, and Official Feature Location are an American National Standard, ANSI INCITS 446-2008. The practical file format is documented in the GNIS file format guide (PDF), which defines every column in the bulk download files — including the fields that matter most for naming research:
| Field | Meaning |
|---|---|
feature_id | Permanent unique identifier for this name record |
feature_name | The catalogued name |
feature_class | Type — Lake, Glacier, Gap, Summit, Stream, etc. |
bgn_type | Whether this is Official (see below) or unset |
bgn_authority | What kind of action approved it — e.g. “Board Decision” |
bgn_date | Date of that Board action, if any |
prim_lat_dec / prim_long_dec | Representative point, decimal degrees |
The bgn_* fields are the whole ballgame for research like ours: a populated
bgn_type/bgn_authority/bgn_date means the Board formally
decided this name at some point. An empty one means the name was administratively
catalogued — collected off a map or a local source — but never brought before the Board.
Both kinds of record coexist in GNIS with no visual distinction unless you check these fields
specifically. In our research, “Sprague Glacier” (Board Decision, 1932) and “Irene
Lake” (no decision on record) look identical in a casual GNIS search, but carry very different
weight.
Where to get it:
tnm_help@usgs.gov (data errors) or BGNExec@usgs.gov (naming proposals)What it is: USGS’s dataset of surface-water geometry — actual surveyed polygons for lakes and ponds, lines for streams, points for springs. Where GNIS answers “what is this called,” NHD answers “where exactly is the water.” The current data model is NHD Model V2.3.1, documented in USGS’s NHD Data Dictionary.
Yes — directly, by design. Every NHD waterbody polygon carries a
GNIS_ID and GNIS_Name field. Per the official NHD Data Dictionary:
GNIS_ID (Text) — “A permanent, unique number assigned by the Geographic Names Information System (GNIS) to a geographic feature name for the sole purpose of uniquely identifying that name application as a record in any information system database, dataset, file, or document.”
GNIS_Name (Text) — “The Geographic Names Information System (GNIS) assigned proper name, specific term, or expression by which a particular geographic entity is known.”
Both fields are nullable — a polygon with no associated name simply has GNIS_ID =
null. This is exactly the mechanism behind our Irene Lake research: two separate NHD polygons,
600 ft apart, both carry GNIS_ID = 00177804. That isn’t a coordinate error on
either side; it’s USGS deliberately cross-referencing one GNIS name record from two distinct
pieces of geometry. Other NHD feature classes (flowlines, points) use the same fields the same way.
Where to get it:
What it is: a crowdsourced, editable map database, not a government product. Anyone
can create an account and edit it. There is no fixed schema — features carry freeform
key=value tag pairs, with conventions documented communally on the
OSM Wiki
(for lakes: natural=water, water=lake, name=…). This is
the basemap data behind this site’s own maps, via a
Protomaps vector-tile extract.
Unlike NHD, OSM features generally do not carry a GNIS cross-reference — there
is a loosely-used gnis:feature_id tag convention from some historical bulk imports, but
it’s far from universal, and the ways central to our Irene Lake research carry no such tag at
all. OSM names come from whatever a mapper entered, sourced from personal knowledge, aerial imagery,
or other maps — which is exactly why an OSM name and a GNIS name can legitimately disagree, as
they do here.
OSM does retain full edit history for every element, which turned out to be the single most useful source in our research — not just current tags, but who changed what, when, and their own changeset comment explaining why.
Where to get it:
/way/<id>.json, /way/<id>/history.json, /changeset/<id>.json against api.openstreetmap.org| GNIS | NHD | OSM | |
|---|---|---|---|
| Answers | What is it called? | Where exactly is the water? | What does the community map say? |
| Geometry | Single point only | Full polygons/lines | Full polygons/lines |
| Authority | Federal (BGN) | Federal (USGS) | Crowdsourced, no authority |
| Cross-references | — | GNIS_ID field, by design | Rarely, no fixed convention |
| Edit history | Not published | Not published per-edit | Full version history, public |
None of the three is simply “correct.” GNIS is the most authoritative for the name but can lag or conflate real-world features. NHD is the most authoritative for geometry and explicitly links back to GNIS, but inherits whatever granularity GNIS assigned. OSM is the freshest and most granular, backed by nothing but a mapper’s judgment and, usefully for research, a fully public paper trail of who decided what.
Reference current as of the dates linked above; USGS and OSM data both change over time. Part of an ongoing effort to keep lake names on this site consistent with their best available sources. See also: The Two Irene Lakes Below Sprague Glacier.