/ / Ne chargez que les points nécessaires pour cartographier PostGIS dans Rails - ruby-on-rails, google-maps, postgis

Chargez uniquement les points nécessaires à la cartographie à partir de PostGIS dans Rails - ruby-on-rails, google-maps, postgis

Je charge beaucoup de points, polygones et lignesd'une base de données PostGIS à une carte google. Si je charge la totalité de la base de données, le navigateur sera tué. Je cherche donc un moyen de charger uniquement dans la zone visible par l'utilisateur. Y a-t-il un moyen d'accomplir cela?

J'utilise GMaps3 pour afficher les données, RGeo, PostGIS et Rails 3.

Réponses:

1 pour la réponse № 1

Vous pouvez charger les points via ajax.

Observer l bounds_changed-événement de la carte, envoie les bornes au serveuret laissez le serveur répondre avec les points (filtré par les limites données). Je ne peux pas vous dire exactement comment fonctionne le filtrage, car je ne connais pas bien PostGIS, mais ST_CONTAINS semble être la méthode dont vous avez besoin.

Cependant, un utilisateur peut zoomer à un niveau très faible. Dans ce cas, vous obtiendrez toujours un grand nombre de points, mais vous pouvez également limiter le chargement des points à un niveau de zoom supérieur.

Une autre option (je le préférerais): importer les données dans un FusionTable et utiliser un FusionTableLayer, cela donnerait une bien meilleure performance.