index.d.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233
  1. import { FeatureCollection, Polygon, Point } from "@turf/helpers";
  2. /**
  3. * Merges a specified property from a FeatureCollection of points into a
  4. * FeatureCollection of polygons. Given an `inProperty` on points and an `outProperty`
  5. * for polygons, this finds every point that lies within each polygon, collects the
  6. * `inProperty` values from those points, and adds them as an array to `outProperty`
  7. * on the polygon.
  8. *
  9. * @name collect
  10. * @param {FeatureCollection<Polygon>} polygons polygons with values on which to aggregate
  11. * @param {FeatureCollection<Point>} points points to be aggregated
  12. * @param {string} inProperty property to be nested from
  13. * @param {string} outProperty property to be nested into
  14. * @returns {FeatureCollection<Polygon>} polygons with properties listed based on `outField`
  15. * @example
  16. * var poly1 = turf.polygon([[[0,0],[10,0],[10,10],[0,10],[0,0]]]);
  17. * var poly2 = turf.polygon([[[10,0],[20,10],[20,20],[20,0],[10,0]]]);
  18. * var polyFC = turf.featureCollection([poly1, poly2]);
  19. * var pt1 = turf.point([5,5], {population: 200});
  20. * var pt2 = turf.point([1,3], {population: 600});
  21. * var pt3 = turf.point([14,2], {population: 100});
  22. * var pt4 = turf.point([13,1], {population: 200});
  23. * var pt5 = turf.point([19,7], {population: 300});
  24. * var pointFC = turf.featureCollection([pt1, pt2, pt3, pt4, pt5]);
  25. * var collected = turf.collect(polyFC, pointFC, 'population', 'values');
  26. * var values = collected.features[0].properties.values
  27. * //=values => [200, 600]
  28. *
  29. * //addToMap
  30. * var addToMap = [pointFC, collected]
  31. */
  32. declare function collect(polygons: FeatureCollection<Polygon>, points: FeatureCollection<Point>, inProperty: string, outProperty: string): FeatureCollection<Polygon>;
  33. export default collect;