Skip to main content
Version: Next

collect

Description

Merges a specified property from a FeatureCollection of points into a FeatureCollection of polygons. Given an inProperty on points and an outProperty for polygons, this finds every point that lies within each polygon, collects the inProperty values from those points, and adds them as an array to outProperty on the polygon.

Parameters

NameTypeDescription
polygonsFeatureCollection<Polygon>polygons with values on which to aggregate
pointsFeatureCollection<Point>points to be aggregated
inPropertystringproperty to be nested from
outPropertystringproperty to be nested into

Returns

Examples

var poly1 = turf.polygon([
[
[0, 0],
[10, 0],
[10, 10],
[0, 10],
[0, 0],
],
]);
var poly2 = turf.polygon([
[
[10, 0],
[20, 10],
[20, 20],
[20, 0],
[10, 0],
],
]);
var polyFC = turf.featureCollection([poly1, poly2]);
var pt1 = turf.point([5, 5], { population: 200 });
var pt2 = turf.point([1, 3], { population: 600 });
var pt3 = turf.point([14, 2], { population: 100 });
var pt4 = turf.point([13, 1], { population: 200 });
var pt5 = turf.point([19, 7], { population: 300 });
var pointFC = turf.featureCollection([pt1, pt2, pt3, pt4, pt5]);
var collected = turf.collect(polyFC, pointFC, "population", "values");
var values = collected.features[0].properties.values;
//=values => [200, 600]

Installation

$ npm install @turf/collect

import { collect } from "@turf/collect";
const result = collect(...);
$ npm install @turf/turf

import * as turf from "@turf/turf";
const result = turf.collect(...);