1. Structured Census Geocoding

When a location is submitted via structured input (Street, City, State, ZIP) or full string, the server transmits the request to the U.S. Census Bureau Geocoding Services REST API using the official Public_AR_Current benchmark.

The Census geocoder matches the address against TIGER/Line range databases and returns WGS84 coordinates (latitude/longitude), matched address components, and TIGER benchmark metadata. Server-side validation confirms valid coordinates before proceeding to spatial queries.

2. Parallel Provider Pipeline

Once coordinates are established, the engine dispatches parallel requests across independent provider classes using JavaScript Promise.allSettled:

  • NLCD 2021 Land Cover: WMS 1.1.1 GetFeatureInfo point query to MRLC GeoServer returning 30-meter raster cell classification.
  • USDA SSURGO Soil: WQL PostQuery to USDA Soil Data Access (`SDA_Get_Mupolygonkey_from_pt`) returning map unit name, dominant component, slope, drainage, and hydrologic group.
  • USGS 3DEP Elevation: Point query to USGS EPQS returning ground elevation in meters and feet.
  • USGS WBD Watershed: Spatial point query to USGS Hydro MapServer Layer 6 returning HUC-12 subwatershed polygon metadata.
  • FEMA NFHL Flood Hazard: Spatial point query to NFHL Layer 28 (`S_Fld_Haz_Ar`) returning official flood zone designation.
  • USGS Seismic Context: Query to USGS Earthquake Hazards FDSN event catalog returning earthquake counts within 50 km (M ≥ 2.5).

3. Partial Result Isolation & Strict Non-Inference

Each provider operates inside an isolated try-catch boundary. If an upstream government service times out, resets connection, or returns an error, GroundLayers returns status: UNAVAILABLE with reason UPSTREAM_FAILURE for that specific section.

GroundLayers strictly enforces a non-inference policy: an upstream failure or timeout never defaults to Zone X, low-risk classifications, or assumed values. The report presents available core layers while clearly marking failed providers as unavailable.

4. Mapped Point vs. Parcel Boundary Distinction

All spatial queries are evaluated at the specific point coordinate returned by the Census geocoder. Point-based GIS queries indicate public mapping at that specific coordinate and do not establish surveyed parcel boundaries, legal property lines, or whole-property environmental homogeneity.

5. Provider-Level In-Memory Caching

To prevent excessive load on federal public API servers and improve response times, successful provider responses are cached in server memory using normalized coordinate keys (`latitude.toFixed(5),longitude.toFixed(5)`).