Reputation: 12394
I can not run the turf.mask()
function with more than 9 randomly created points. It just does not return any result.
import { featureCollection, polygon } from '@turf/helpers';
import createCircle from '@turf/circle';
import createMask from '@turf/mask';
const howManyCircles = 9;
const cover = polygon([
[[-180, -90], [180, -90], [180, 90], [-180, 90], [-180, -90]]
],
{ name: 'cover' });
const bbox = [83.16964204361335,83.47466091885153,-83.16964204362385,-83.47466091885192];
const randomPoints = randomPoint(howManyCircles, { bbox: bbox });
const radius = 1000;
const options = { steps: 64, units: 'kilometers', properties: { foo: 'bar' } };
const circles = randomPoints.features.map(points => {
return createCircle(points.geometry.coordinates, radius, options);
});
const mask = createMask(featureCollection(circles), cover);
This works as expected. There are nine holes (created through the randomPoints()
function) in the polygon.
However, as soon as I change howManyCircles
to a number greater than 9
, I do not get any result. It calculates and calculates but does not come to an end. Here is a fiddle to play around with: https://jsfiddle.net/6m3qsnu1/
Why is that?
"@turf/helpers": "^6.3.0", "@turf/random": "^6.3.0", "@turf/turf": "^6.3.0",
Upvotes: 0
Views: 292
Reputation: 12394
Apparently this is a known bug and got fixed in v7
. However, yarn add @turf/turf
or npm i @turf/turf
installs turf 6.3.0
. In order to install the most recent version use npm i [email protected]
Upvotes: 1