Suite

Création d'une fenêtre d'informations permettant à l'utilisateur de faire défiler différents ensembles de données avec la même géométrie à l'aide de CartoDB ?

Création d'une fenêtre d'informations permettant à l'utilisateur de faire défiler différents ensembles de données avec la même géométrie à l'aide de CartoDB ?


J'utilise CartoDB et je cartographie les données sur la qualité de l'eau dans une région particulière du Mexique.

Mon organisation dispose de données de plusieurs emplacements sur de nombreuses années.

Étant donné que nous montrons les mêmes données au même endroit mais sur plusieurs années, je voulais avoir une fenêtre d'informations qui permette à l'utilisateur de faire défiler chaque année de données.

Cependant, chaque point a été tracé les uns sur les autres afin que vous ne puissiez voir et cliquer que sur un seul point.

Je sais que je peux simplement créer de nouvelles colonnes intitulées Date 2, Date 3 et Fluorure 2 et Fluoride 3 et ainsi de suite, mais ce n'est pas aussi agréable visuellement et tous les points n'ont pas le même nombre de données ou d'années testées.

Par conséquent, de nombreuses fenêtres auraient plus de champs vides.

Existe-t-il un moyen pour que ma fenêtre d'informations permette à l'utilisateur de faire défiler les données pour différentes années afin que tous les points de données empilés puissent être visibles en faisant défiler la fenêtre d'informations ?

Dans ArcMap, cette fonctionnalité est possible lorsque tous les points de données ont la même géométrie, mais je n'arrive pas à le comprendre avec CartoDB.


Vous pouvez exécuter une requête SQL pour agréger vos données pour les points qui se trouvent au même emplacement (ou partager un autre attribut similaire si l'emplacement du point varie légèrement).

Par exemple, vous pouvez exécuter la requête suivante pour agréger les données temporelles au même point :

SELECT string_agg(to_char(timestamp, 'DD Mon, YYYY'),', ') As agg_dates, the_geom, the_geom_webmercator, min(cartodb_id) As cartodb_id FROM table_name GROUP BY the_geom, the_geom_webmercator

Une fois cette requête exécutée, les données duhorodatagecolonne à des emplacements identiques sera agrégée dans une liste séparée par des virgules, que vous pouvez facilement inclure dans une fenêtre d'information. Il utilise la fonction de formatage de la dateto_char. C'est décrit dans la doc ici.

Si vous fournissez plus de détails sur votre ensemble de données, je peux mettre à jour la requête ci-dessus pour mieux l'adapter à votre situation.

EDIT : requête mise à jour pour refléter une agrégation de type date.


Voir la vidéo: Using Mapbox styles in Carto