| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // index.js
- import { bbox } from "@turf/bbox";
- import { hexGrid } from "@turf/hex-grid";
- import { pointGrid } from "@turf/point-grid";
- import { distance } from "@turf/distance";
- import { centroid } from "@turf/centroid";
- import { squareGrid } from "@turf/square-grid";
- import { triangleGrid } from "@turf/triangle-grid";
- import { clone } from "@turf/clone";
- import { featureCollection, validateBBox } from "@turf/helpers";
- import { featureEach } from "@turf/meta";
- import { collectionOf } from "@turf/invariant";
- function interpolate(points, cellSize, options) {
- options = options || {};
- if (typeof options !== "object") throw new Error("options is invalid");
- var gridType = options.gridType;
- var property = options.property;
- var weight = options.weight;
- var box = options.bbox;
- if (!points) throw new Error("points is required");
- collectionOf(points, "Point", "input must contain Points");
- if (!cellSize) throw new Error("cellSize is required");
- if (weight !== void 0 && typeof weight !== "number")
- throw new Error("weight must be a number");
- property = property || "elevation";
- gridType = gridType || "square";
- weight = weight || 1;
- box = box != null ? box : bbox(points);
- validateBBox(box);
- var grid;
- switch (gridType) {
- case "point":
- case "points":
- grid = pointGrid(box, cellSize, options);
- break;
- case "square":
- case "squares":
- grid = squareGrid(box, cellSize, options);
- break;
- case "hex":
- case "hexes":
- grid = hexGrid(box, cellSize, options);
- break;
- case "triangle":
- case "triangles":
- grid = triangleGrid(box, cellSize, options);
- break;
- default:
- throw new Error("invalid gridType");
- }
- var results = [];
- featureEach(grid, function(gridFeature) {
- var zw = 0;
- var sw = 0;
- featureEach(points, function(point) {
- var gridPoint = gridType === "point" ? gridFeature : centroid(gridFeature);
- var d = distance(gridPoint, point, options);
- var zValue;
- if (property !== void 0) zValue = point.properties[property];
- if (zValue === void 0) zValue = point.geometry.coordinates[2];
- if (zValue === void 0) throw new Error("zValue is missing");
- if (d === 0) zw = zValue;
- var w = 1 / Math.pow(d, weight);
- sw += w;
- zw += w * zValue;
- });
- var newFeature = clone(gridFeature);
- newFeature.properties[property] = zw / sw;
- results.push(newFeature);
- });
- return featureCollection(results);
- }
- var turf_interpolate_default = interpolate;
- export {
- turf_interpolate_default as default,
- interpolate
- };
- //# sourceMappingURL=index.js.map
|