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) :
Fonction que j'appelle ensuite pour charger mon GeoJson ponctuel :
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())); }
Mais je dois faire une erreur, car seule une entité de mon GeoJson est convertie en Centroïd.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var MaillesLayerPoint = ToCentroid(MaillesLayerPoly.getLayers()).addTo(map);
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.
Partager