Bonjour

Pour répondre bièvement à Christian, dans Lizpoi, j'ai une table dans
laquelle j'exporte des tables planet_osm_point, polygone et line les
éléments d'OSM qui contiennent des infos sur les tags que je suis. Je ne
prends que le centroide pour les polygones et lignes (oui je sais, un
centroid de ligne...)

Ensuite, je stocke les arbres dans une table, avec hiérarchie, et les
correspondances entre 1 item de l'arbre et des tags OSM dans une autre
table. Une requête dynamique permet de récupérer assez rapidement les
objets OSM qui correspondent.

Donc en gros, 1 table avec les objets OSM "intéressants", 1 table avec la
description des arbres, 1 table pour faire la correspondance entre 1 item
de l'arbre et des tags OSM.

On peut gérer les cas où plusieurs associations tag/valeur permettent de
décrire un objet, par exemple pour les bornes à incendie
(amenity=fire_hydrant OU emergency=fire_hydrant).


Si plusieurs cases sont cochées dans un arbre Lizpoi, c'est à chaque fois
une seule requête qui est faite au serveur (lorsqu'on zoome ou qu'on se
déplace), et non une requête par case cochée.

On pourrait faire une sorte de système de "drivers" pour permettre de gérer
plusieurs sources. Par exemple un driver "osm2pgsql" = le fonctionnement
actuel. Qui permet de ne pas charger les serveurs de la fondation ou de
l'association car s'appuyant sur une bdd locale. On pourrait avoir un
driver "overpass" qui lancerait les requêtes à l'api de l'overpass, et
ainsi avoir un lizpoi plus "portable" car ne nécessitant pas de bdd locale.

Au sujet du clustering, nous n'avons pas fait ce choix car comme indiqué,
il faut de toute façon que le code Javascript lancé sur le navigateur fasse
le calcul sur l'ensemble des éléments avant de faire le regroupement, donc
cela n'allège en rien le code. Par contre, cela peut en effet apporter un
confort pour l'utilisateur. Mais il faut bien choisir de regrouper des
éléments "semblables", sinon ce n'est pas pertinent (par exemple on
clusterise tous les "shop" ensemble). Si on commence à mélanger des
torchons et des serviettes, on perd le côté "thématique".
Ce serait intéressant de faire du clustering côté serveur. On a pas encore
eu/pris le temps de regarder.

Et je disais plus haut "pour répondre brièvement". C'est loupé :)

Michael


Le 19 mai 2013 15:35, Marc Sibert <m...@sibert.fr> a écrit :

>  Le 17/05/2013 10:33, Christian Quest a écrit :
>
> Et le clustering ?
>
> leaflet a un plugin de clustering qui semble assez efficace.
> openlayers n'a pas ça ?
>
> Exemple: http://csvmap.logisima.com/carte/c5badf4d-4f6b-434d-b42d-0a3878c82cec
>
>
>
> Il faudrait peut être "daller" les requêtes vers l'overpass quand on
> dézoome beaucoup, couplé au clustering ça permettrait d'afficher
> progressivement le centre de la carte puis en différé le reste autour
> ce qui resterai acceptable pour l'expérience utilisateur. Juste une
> idée en mode "yaka" ;)
>
>
>  Il n'y a pas de question bête... heu tant qu'elle n'est pas posée... ;-)
>
> Ben le clustering "client side" nécessite bien de tout charger avant de
> regrouper les noeuds. Expérience faite personnellement avec OpenLayers. Il
> n'y a pas d'autre choix que de faire des regroupement "server side" *avant*
> l'envoi des données au navigateur et, pour éviter la charge API, faire un
> peu de cache de requêtes.
>
> Tout ça nécessite donc de limiter par programme le nombre de types de POI
> dans la requete ou de faire un pré-traitement côté serveur en avance.
> Une idée comme ça en passant... faire des couches vectorielles variables
> suivant le niveau de zoom :
>
>    - sur vue nationale : nombre de POI par région : afficher des valeurs
>    dans des polygones régions ;
>    - sur vue régionale : la même chose avec les départements
>    - sur vue locales : mettre le détail des POI.
>
>
> Mes 0.02 € (limite HS)
>
> --
> Marc Sibertmailto:m...@sibert.fr <m...@sibert.fr>
>
>
> _______________________________________________
> Talk-fr mailing list
> Talk-fr@openstreetmap.org
> http://lists.openstreetmap.org/listinfo/talk-fr
>
>
_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-fr

Répondre à