Skip to content

Grid shift file support (NTv2 / NADCON / OSTN15) for sub-meter datum accuracy #248

Open

Description

@trasch

Context

Issue #243 ships datum support at Helmert accuracy (meter-level residuals for NAD27 and OSGB36). Users with sub-meter/high standards need interpolated grid shifts instead:

  • NADCON (.las/.los) — NOAA/NGS, US-government public domain — the accuracy standard for NAD27⇄NAD83/WGS84
  • OSTN15 + OSGM15 (Ordnance Survey OpenData, attribution required) — EPSG:7953 (native 1km grid) / EPSG:7709 (NTv2 version) — the OS-recommended route for BNG⇄ETRS89 (cm-level)
  • NTv2 generic — mixed bag by file: Canadian NRCan files carry attribution conditions; numerous European/other NTv2 grids are commercial or redistribution-restricted

Design constraints (decided in #243)

Rough shape

  1. An internal grid type (subgrid lookup, bilinear interpolation) + reader per format
  2. A public API to obtain a shift provider from a file path (e.g. GridShift(file:)) used inside CustomProjection closures, or a dedicated definition factory
  3. Verification discipline same as Replace Snyder transverse Mercator in UTM with Karney's algorithm #246/Support CRSs on other datums (NAD27, OSGB, CH1903+, ...) #243: independently computed reference values (pyproj wraps PROJ grid shifts) captured as fixtures before porting
  4. Docs: per-format notes, license guidance (load-don't-bundle), attribution requirements

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions