[mapserver-commits] [MapServer/MapServer] 0c5ba1: Kriging (NNGP) interpolation layer (CONNECTIONTYPE...

Hermes noreply at github.com
Fri Jul 10 13:49:50 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/MapServer/MapServer
  Commit: 0c5ba141e4f98a8e5d9ab0ec168851c6b50fb87b
      https://github.com/MapServer/MapServer/commit/0c5ba141e4f98a8e5d9ab0ec168851c6b50fb87b
  Author: Hermes <hlherrera.cuba at gmail.com>
  Date:   2026-07-10 (Fri, 10 Jul 2026)

  Changed paths:
    M CMakeLists.txt
    A msautotest/gdal/data/kriging_points.csv
    A msautotest/gdal/expected/kriging_mean.png
    A msautotest/gdal/expected/kriging_sd.png
    A msautotest/gdal/kriging.map
    M src/interpolation.c
    A src/kriging.c
    A src/kriging_nngp.h
    M src/mapfile.c
    M src/maplexer.c
    M src/maplexer.l
    M src/mapraster.c
    M src/maprasterquery.c
    M src/mapserver.h

  Log Message:
  -----------
  Kriging (NNGP) interpolation layer (CONNECTIONTYPE kriging) (#7535)

* Kriging: add NNGP interpolation layer (CONNECTIONTYPE kriging)

Adds an ordinary-kriging interpolation layer implemented as a localized Nearest-Neighbor Gaussian Process: each output pixel is predicted from its m nearest samples, so cost scales with the neighbour count rather than the sample count. Emits two byte bands (predictive mean and the kriging standard error), selectable via PROCESSING "BANDS=n". The numeric core lives in src/kriging_nngp.h (pure C) and plugs into the existing interpolation framework alongside IDW and kernel density. Tunable through KRIGING_MODEL/TYPE/NEIGHBORS/RANGE/SILL/NUGGET.

* Kriging: add CONNECTIONTYPE kriging lexer token

Adds the "kriging" keyword to maplexer.l and regenerates maplexer.c with the project's flex invocation (flex --nounistd -Pmsyy -i). The large maplexer.c diff is the usual flex DFA-table reshuffle from introducing a new keyword.

* Kriging: add msautotest coverage

Adds msautotest/gdal/kriging.map exercising CONNECTIONTYPE kriging, the two-band (mean + std dev) output and the PROCESSING knobs over a small self-contained 16-point CSV. The surface is rendered by the vendored AGG with no fonts, so the expected images are platform-independent.

---------

Co-authored-by: hermes.herrera <hermes.herrera at orionhealth.com>



To unsubscribe from these emails, change your notification settings at https://github.com/MapServer/MapServer/settings/notifications


More information about the MapServer-commits mailing list