2017-05-04 2 views
0

Je suis en train de créer un masque pour la zone MultiPolygon en utilisant un autre MultiPolygon utilisant cet exemple http://turfjs.org/docs/#maskEst-il possible de créer un masque MultiPolygon en utilisant un gazon?

En raison de:

masked = turf.mask(multiPolygon1, multiPolygon2); 

J'obtiens l'erreur:

npmcdn.com/@turf/[email protected]/turf.min.js:18 Uncaught TypeError: Cannot read property 'coordinates' of undefined 
    at s (https://npmcdn.com/@turf/[email protected]/turf.min.js:18:24640) 

Est-ce possible?

Répondre

0

L'API de masque n'accepte pas de MultiPolygon pour son deuxième paramètre. (http://turfjs.org/docs/#mask) Vous pouvez seulement passer un polygone.

Une solution de contournement est:

  1. diviser votre MultiPolygon masque dans un tableau de Polygones.
  2. Puis boucle pour chaque Polygone dans votre masque d'appel de tableau() en passant ce Polygone au second paramètre, et enregistrez le résultat dans une variable.
  3. Dans une deuxième boucle, utilisez intersect() pour combiner tous les résultats de masque de l'étape 2 en un résultat.