Comme promis dans un article précédent et avec du retard pour ne pas changer, voici une façon d’afficher sur Leaflet des géométries encodées selon l’algorithme de Google modifié pour y stocker des polygones complexes (multi-polygone ou à trou).
Ici, la géométrie des polygones est stocké dans une base Mysql de deux manières
- de type « geometry » pour permettre de faire des sélections spatiales
- la géométrie encodée (en « text ») qui est envoyé côté client et permet de « dessiner » les objets dans Leaflet.
Pour transformer cette géométrie encodée, j’ai modifié le plugin de Jan Pieter Waagmeester afin de prendre en compte les polygones complexes.
Cette extension est disponible ici
Elle s’utilise donc ainsi :
L.Polygon.fromEncodedGeom(_string_polygon_encoded, percision);
Pour l’exemple, voici une carte représentant les données la densité de population par région/département/commune. Les données proviennent du GEOFLA de l’IGN et l’application fortement inspiré d’un tutoriel du site Leaflet
A chaque zoom ou déplacement de la carte, de nouvelles données sont chargées par rapport à l’emprise visible.
