J'ai une liste de n emplacements, chacun étant constitué d'une latitude, d'une longitude et d'un horodatage. Ces emplacements seront épinglés sur la carte.Algorithme - regrouper des emplacements sur la carte
Cependant, il est nécessaire de regrouper les emplacements proches les uns des autres, l'emplacement le plus récemment modifié étant le centre, afin que la carte ne soit pas inondée par des broches.
Mes pensées initiales seraient:
- Trier les emplacements par horodatage
- Sélectionnez le dernier emplacement
- Calculer la distance au dernier emplacement pour les emplacements n-1
- Sélectionnez les emplacements dans le rayon, disons 5 km, puis les supprimer de la liste
- Répétez les étapes 2 à 4
Cette méthode fonctionne mais elle est très inefficace. Le pire des cas serait ~ O (n^2).
Existe-t-il des algorithmes pour améliorer les performances?
https://blog.mapbox.com/clustering-millions-of-points-on-a-map-with-supercluster-272046ec5c97 –