Bonjour,
J'ai la table "notes" avec les champs "latitude" et "longitude" (ce sont les "Notes" d'OpenStreetMap). Pour faire un heatmap (carte de chaleur) je souhaite avoir le compte des points (des "Notes") en "découpant la planète" en rectangles.
La requête actuelle fonctionne bien:
Comme il y a 3 000 000 de lignes et dans quelques mois encore plus ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 set @dlon=10; set @dlat=10; select count(*) as count, lon, lat from ( select round(longitude/@dlon)*@dlon as lon, round(latitude/@dlat)*@dlat as lat from notes N) N1 group by lon, lat
Voyez vous une autre façon de faire pour gagner en vitesse ?
Est-ce que les fonctions "spatial" pourraient apporter plus de performance ?
Merci à vous :-)
Partager