gis-tools-ts - v0.6.0
    Preparing search index...

    Function idwInterpolation

    • Inverse Distance Weighting Interpolation

      Given a reference of data, interpolate a point using inverse distance weighting

      import { idwInterpolation, PointIndexFast } from 'gis-tools-ts';
      import type { VectorPoint } from 'gis-tools-ts';

      // We have m-value data that we want to interpolate
      interface TempData { temp: number; }

      const pointIndex = new PointIndexFast<TempData>();
      // add lots of points
      pointIndex.insertLonLat(lon, lat, data);
      // ....

      // given a point we are interested in
      const point: VectorPoint = { x: 20, y: -40 };
      // get a collection of points relative to the point
      const data = await pointIndex.searchRadius(point.x, point.y, radius);

      // interpolate
      const interpolatedValue = idwInterpolation<TempData>(point, data, (p) => p.m.temp);

      Type Parameters

      • T extends Properties = Properties

      Parameters

      • point: VectorPoint

        point to interpolate

      • refData: VectorPoint<T>[]

        reference data to interpolate from

      • getValue: GetInterpolateValue<T> = defaultGetInterpolateCurrentValue

        function to get value from reference data. Can be the z value or a property in the m-values defaults to function that returns the z value or 0 if the z value is undefined

      Returns number

      • the interpolated value