Bonjour à tous,

Je me débrouille plus ou moins avec Leaflet, et mes cartes sont de plus en plus performantes.
J'ai découvert hier la bibliothèque Turf (http://turfjs.org/), et celle-ci m'ouvre pas mal de perspectives géomatiques
Mon objectif du moment est de créer un layer de points, à partir d'un layer de polygones (multipolygones), grâce à la fonction turf.centroid().

Mon layer de polygones est un GeoJson de type FeatureCollection.

J'ai écris cette fonction (en m'inspirant de celle de ce JSFiddle) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function ToCentroid(polyList) {
  for (var i = 0; i < polyList.length; ++i)
  return L.geoJson(turf.centroid(polyList[i].toGeoJSON()));
}
Fonction que j'appelle ensuite pour charger mon GeoJson ponctuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
var MaillesLayerPoint = ToCentroid(MaillesLayerPoly.getLayers()).addTo(map);
Mais je dois faire une erreur, car seule une entité de mon GeoJson est convertie en Centroïd.

Vous pourrez le constater sur ce JSFiddle de tests :
http://jsfiddle.net/w783dp2c/

Merci d'avance à ceux qui pourront m'aider à utiliser cette fonction !

Sylvain M.