Draft

Pedestrian counts in cities

Published

May 20, 2026

This is a draft from Stockholm Clojure Café, May 20th 2026.

(ns gis.pedestrian-counts
  (:require [tablecloth.api :as tc]
            [tablecloth.column.api :as tcc]
            [scicloj.plotje.api :as pj]
            [tech.v3.datatype.datetime :as datetime]
            [scicloj.kindly.v4.kind :as kind]
            [clojure.string :as str]))
(def data-path
  "data/kaggle/nordcauc-urban-mobility-intelligence/pedestrian_flow_counters.csv.gz")
(def ped-data
  (-> data-path
      (tc/dataset {:key-fn keyword})))
ped-data

data/kaggle/nordcauc-urban-mobility-intelligence/pedestrian_flow_counters.csv.gz [60000 23]:

:counter_id :city :country :district :location_type :counting_technology :timestamp :date :hour :day_of_week :month :season :is_weekend :latitude :longitude :total_count_hourly :inbound_count :outbound_count :temperature_c :precipitation_mm :ai_crowd_alert :safety_flag :data_quality
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-05 18:00:00 2023-01-05 18 Thursday 1 Winter False 59.332037 18.049224 520 331 189 -1.7 0.4 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-06 03:00:00 2023-01-06 3 Friday 1 Winter False 59.332037 18.049224 68 30 38 -4.5 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-06 04:00:00 2023-01-06 4 Friday 1 Winter False 59.332037 18.049224 52 29 23 -1.7 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-06 22:00:00 2023-01-06 22 Friday 1 Winter False 59.332037 18.049224 60 35 25 -3.3 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-08 12:00:00 2023-01-08 12 Sunday 1 Winter True 59.332037 18.049224 477 247 230 -4.0 1.4 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-14 17:00:00 2023-01-14 17 Saturday 1 Winter True 59.332037 18.049224 415 219 196 -2.6 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-15 01:00:00 2023-01-15 1 Sunday 1 Winter True 59.332037 18.049224 287 170 117 -4.7 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-15 18:00:00 2023-01-15 18 Sunday 1 Winter True 59.332037 18.049224 377 166 211 -2.6 0.0 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-16 07:00:00 2023-01-16 7 Monday 1 Winter False 59.332037 18.049224 227 124 103 -3.5 1.2 low False good
PD-ST-0001 Stockholm Sweden Norrmalm bridge infrared_beam 2023-01-21 21:00:00 2023-01-21 21 Saturday 1 Winter True 59.332037 18.049224 319 175 144 -1.3 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-11 12:00:00 2025-07-11 12 Friday 7 Summer False 40.409920 49.849036 71 42 29 32.5 0.3 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-14 13:00:00 2025-07-14 13 Monday 7 Summer False 40.409920 49.849036 67 43 24 35.6 0.1 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-16 12:00:00 2025-07-16 12 Wednesday 7 Summer False 40.409920 49.849036 75 45 30 34.5 0.2 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-18 22:00:00 2025-07-18 22 Friday 7 Summer False 40.409920 49.849036 60 34 26 33.1 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-19 21:00:00 2025-07-19 21 Saturday 7 Summer True 40.409920 49.849036 334 132 202 35.0 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-22 04:00:00 2025-07-22 4 Tuesday 7 Summer False 40.409920 49.849036 62 41 21 32.3 0.1 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-30 13:00:00 2025-07-30 13 Wednesday 7 Summer False 40.409920 49.849036 66 39 27 31.3 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-07-31 15:00:00 2025-07-31 15 Thursday 7 Summer False 40.409920 49.849036 73 28 45 31.6 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-08-01 04:00:00 2025-08-01 4 Friday 8 Summer False 40.409920 49.849036 77 31 46 30.5 0.3 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-08-01 05:00:00 2025-08-01 5 Friday 8 Summer False 40.409920 49.849036 70 40 30 32.2 0.0 low False good
PD-BA-0110 Baku Azerbaijan Khatai residential_street infrared_beam 2025-08-01 19:00:00 2025-08-01 19 Friday 8 Summer False 40.409920 49.849036 280 139 141 32.3 0.4 low False good
(type ped-data)
tech.v3.dataset.impl.dataset.Dataset
(map? ped-data)
true
(-> ped-data
    (tc/select-rows (fn [row]
                      (-> row :counter_id (= "PD-ST-0001"))))
    (tc/select-columns [:hour :total_count_hourly])
    pj/pose)
total count hourlyhour05101520100200300400500600700
(-> ped-data
    (tc/select-rows (fn [row]
                      (-> row :counter_id (= "PD-ST-0001"))))
    (tc/group-by [:hour])
    (tc/aggregate {:avg-count (fn [ds]
                                (-> ds
                                    :total_count_hourly
                                    tcc/mean))})
    pj/pose
    pj/lay-line
    pj/lay-point)
avg counthour05101520100150200250300350400450500550
(-> ped-data
    (tc/select-rows (fn [row]
                      (-> row :counter_id (= "PD-ST-0001"))))
    (tc/group-by [:season :hour])
    (tc/aggregate {:avg-count (fn [ds]
                                (-> ds
                                    :total_count_hourly
                                    tcc/mean))})
    (pj/pose :hour :avg-count {:color :season})
    pj/lay-line)
avg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
(-> ped-data
    (tc/group-by [:counter_id] {:result-type :as-seq})
    (->> (sort-by (fn [station-counts]
                    (-> station-counts
                        (tc/rows :as-maps)
                        first
                        :location_type)))
         (map (fn [station-counts]
                (-> station-counts
                    (tc/group-by [:season :hour])
                    (tc/aggregate {:avg-count (fn [ds]
                                                (-> ds
                                                    :total_count_hourly
                                                    tcc/mean))})
                    (pj/pose :hour :avg-count {:color :season})
                    pj/lay-line
                    (pj/options {:title (-> station-counts
                                            (tc/rows :as-maps)
                                            first
                                            ((juxt :city :district :location_type))
                                            (->> (str/join " ")))}))))))

(

Stockholm Norrmalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Stockholm Södermalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Stockholm Östermalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Oslo St.Hanshaugen bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450Copenhagen Vesterbro bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Helsinki Lauttasaari bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450Gothenburg Majorna bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400Baku Sabail bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400Baku Binagadi bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400Baku Sabunchu bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400Baku Sabunchu bridgeavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600Baku Pirallahi bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400Stockholm Lidingö marketavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400Oslo Grünerløkka marketavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200Oslo Grünerløkka marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000Oslo Majorstuen marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000Helsinki Lauttasaari marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000Helsinki Itäkeskus marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000Baku Narimanov marketavg counthourseasonWinterSpringSummerAutumn05101520500100015002000250030003500Stockholm Vasastan park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800Oslo Frogner park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600Oslo Aker Brygge park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Nørrebro park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700Copenhagen Amager park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600Helsinki Kantakaupunki park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Helsinki Vallila park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Gothenburg Centrum park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400Gothenburg Kungsladugård park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400Gothenburg Gamlestaden park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Baku Narimanov park_entranceavg counthourseasonWinterSpringSummerAutumn051015200200400600800100012001400160018002000Baku Binagadi park_entranceavg counthourseasonWinterSpringSummerAutumn051015200200400600800100012001400160018002000Baku Pirallahi park_entranceavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200140016001800Stockholm Lidingö plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700Oslo Frogner plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Oslo Sagene plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Oslo Bjørvika plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Helsinki Kallio plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Helsinki Vallila plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Helsinki Arabianranta plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Helsinki Arabianranta plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Gothenburg Majorna plazaavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450500Gothenburg Linnéstaden plazaavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450Baku Nasimi plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Baku Surakhani plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Baku Nizami plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Baku Yasamal plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Stockholm Bromma residential_streetavg counthourseasonWinterSpringSummerAutumn0510152050100150200250Helsinki Pasila residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160Helsinki Itäkeskus residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160Gothenburg Haga residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160Gothenburg Örgryte residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160Gothenburg Örgryte residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160Baku Nasimi residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Baku Khatai residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Baku Khatai residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Stockholm Kungsholmen shopping_streetavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200Stockholm Bromma shopping_streetavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200Oslo Sentrum shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800900Oslo Aker Brygge shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800900Copenhagen Indre By shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000Copenhagen Valby shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000Helsinki Töölö shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800Gothenburg Linnéstaden shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700Baku Sabunchu shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152005001000150020002500Stockholm Nacka tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015205001000150020002500Copenhagen Indre By tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000Copenhagen Vanløse tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520500100015002000Helsinki Kallio tourist_attractionavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Helsinki Töölö tourist_attractionavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Gothenburg Centrum tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600Gothenburg Kungsladugård tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600Gothenburg Gamlestaden tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600Baku Sabail tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520100020003000400050006000Baku Narimanov tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015201000200030004000500060007000Baku Pirallahi tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520100020003000400050006000Baku Yasamal tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015201000200030004000500060007000Stockholm Norrmalm transit_hubavg counthourseasonWinterSpringSummerAutumn0510152050010001500200025003000Stockholm Östermalm transit_hubavg counthourseasonWinterSpringSummerAutumn051015205001000150020002500Oslo Sentrum transit_hubavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000Copenhagen Amager transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000Copenhagen Valby transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000Copenhagen Vanløse transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000Gothenburg Haga transit_hubavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800Stockholm Södermalm university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700800900Stockholm Vasastan university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700800900Oslo St.Hanshaugen university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700Oslo Bjørvika university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Copenhagen Østerbro university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700Helsinki Kantakaupunki university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600Gothenburg Högsbo university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Gothenburg Högsbo university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500Baku Sabail university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200Baku Binagadi university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200Baku Surakhani university_campusavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000Baku Nizami university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200Baku Yasamal university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200Baku Khatai university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200Stockholm Kungsholmen waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600Stockholm Nacka waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700Oslo Sagene waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Oslo Majorstuen waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Østerbro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Nørrebro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Vesterbro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Frederiksberg waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Copenhagen Frederiksberg waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Helsinki Pasila waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500Baku Nasimi waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600Baku Surakhani waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600Baku Nizami waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600

)

(-> ped-data
    (tc/group-by [:counter_id] {:result-type :as-seq})
    (->> (sort-by (fn [station-counts]
                    (-> station-counts
                        (tc/rows :as-maps)
                        first
                        :location_type)))
         (map (fn [station-counts]
                (let [first-row (-> station-counts
                                    (tc/rows :as-maps)
                                    first)
                      center [(:latitude first-row)
                              (:longitude first-row)]]
                  (kind/fragment
                   [(kind/reagent
                     ['(fn [input-center]
                         [:div {:style {:height "200px"}
                                :ref (fn [el]
                                       (let [m (-> js/L
                                                   (.map el)
                                                   (.setView (clj->js 
                                                              input-center)
                                                             14))]
                                         (-> js/L
                                             .-tileLayer
                                             (.provider "Stadia.AlidadeSmooth")
                                             (.addTo m))
                                         (-> js/L
                                             (.marker (clj->js input-center))
                                             (.addTo m))))}])
                      center]
                     ;; Note we need to mention the dependency:
                     {:html/deps [:leaflet]})
                    (-> station-counts
                        (tc/group-by [:season :hour])
                        (tc/aggregate {:avg-count (fn [ds]
                                                    (-> ds
                                                        :total_count_hourly
                                                        tcc/mean))})
                        (pj/pose :hour :avg-count {:color :season})
                        pj/lay-line
                        (pj/options {:title (->> first-row
                                                 ((juxt :city :district :location_type))
                                                 (str/join " "))}))]))))
         kind/fragment))
Stockholm Norrmalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Stockholm Södermalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Stockholm Östermalm bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Oslo St.Hanshaugen bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450
Copenhagen Vesterbro bridgeavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Helsinki Lauttasaari bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450
Gothenburg Majorna bridgeavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400
Baku Sabail bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400
Baku Binagadi bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400
Baku Sabunchu bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400
Baku Sabunchu bridgeavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600
Baku Pirallahi bridgeavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400
Stockholm Lidingö marketavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400
Oslo Grünerløkka marketavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200
Oslo Grünerløkka marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000
Oslo Majorstuen marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000
Helsinki Lauttasaari marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000
Helsinki Itäkeskus marketavg counthourseasonWinterSpringSummerAutumn051015202004006008001000
Baku Narimanov marketavg counthourseasonWinterSpringSummerAutumn05101520500100015002000250030003500
Stockholm Vasastan park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800
Oslo Frogner park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600
Oslo Aker Brygge park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Nørrebro park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700
Copenhagen Amager park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600
Helsinki Kantakaupunki park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Helsinki Vallila park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Gothenburg Centrum park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400
Gothenburg Kungsladugård park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400
Gothenburg Gamlestaden park_entranceavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Baku Narimanov park_entranceavg counthourseasonWinterSpringSummerAutumn051015200200400600800100012001400160018002000
Baku Binagadi park_entranceavg counthourseasonWinterSpringSummerAutumn051015200200400600800100012001400160018002000
Baku Pirallahi park_entranceavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200140016001800
Stockholm Lidingö plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700
Oslo Frogner plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Oslo Sagene plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Oslo Bjørvika plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Helsinki Kallio plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Helsinki Vallila plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Helsinki Arabianranta plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Helsinki Arabianranta plazaavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Gothenburg Majorna plazaavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450500
Gothenburg Linnéstaden plazaavg counthourseasonWinterSpringSummerAutumn0510152050100150200250300350400450
Baku Nasimi plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Baku Surakhani plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Baku Nizami plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Baku Yasamal plazaavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Stockholm Bromma residential_streetavg counthourseasonWinterSpringSummerAutumn0510152050100150200250
Helsinki Pasila residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160
Helsinki Itäkeskus residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160
Gothenburg Haga residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160
Gothenburg Örgryte residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160
Gothenburg Örgryte residential_streetavg counthourseasonWinterSpringSummerAutumn0510152020406080100120140160
Baku Nasimi residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Baku Khatai residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Baku Khatai residential_streetavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Stockholm Kungsholmen shopping_streetavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200
Stockholm Bromma shopping_streetavg counthourseasonWinterSpringSummerAutumn05101520020040060080010001200
Oslo Sentrum shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800900
Oslo Aker Brygge shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800900
Copenhagen Indre By shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000
Copenhagen Valby shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000
Helsinki Töölö shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700800
Gothenburg Linnéstaden shopping_streetavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700
Baku Sabunchu shopping_streetavg counthourseasonWinterSpringSummerAutumn0510152005001000150020002500
Stockholm Nacka tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015205001000150020002500
Copenhagen Indre By tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000
Copenhagen Vanløse tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520500100015002000
Helsinki Kallio tourist_attractionavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Helsinki Töölö tourist_attractionavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Gothenburg Centrum tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600
Gothenburg Kungsladugård tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600
Gothenburg Gamlestaden tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600
Baku Sabail tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520100020003000400050006000
Baku Narimanov tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015201000200030004000500060007000
Baku Pirallahi tourist_attractionavg counthourseasonWinterSpringSummerAutumn05101520100020003000400050006000
Baku Yasamal tourist_attractionavg counthourseasonWinterSpringSummerAutumn051015201000200030004000500060007000
Stockholm Norrmalm transit_hubavg counthourseasonWinterSpringSummerAutumn0510152050010001500200025003000
Stockholm Östermalm transit_hubavg counthourseasonWinterSpringSummerAutumn051015205001000150020002500
Oslo Sentrum transit_hubavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000
Copenhagen Amager transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000
Copenhagen Valby transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000
Copenhagen Vanløse transit_hubavg counthourseasonWinterSpringSummerAutumn05101520500100015002000
Gothenburg Haga transit_hubavg counthourseasonWinterSpringSummerAutumn0510152020040060080010001200140016001800
Stockholm Södermalm university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700800900
Stockholm Vasastan university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700800900
Oslo St.Hanshaugen university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700
Oslo Bjørvika university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Copenhagen Østerbro university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600700
Helsinki Kantakaupunki university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500600
Gothenburg Högsbo university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Gothenburg Högsbo university_campusavg counthourseasonWinterSpringSummerAutumn05101520100200300400500
Baku Sabail university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200
Baku Binagadi university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200
Baku Surakhani university_campusavg counthourseasonWinterSpringSummerAutumn05101520200400600800100012001400160018002000
Baku Nizami university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200
Baku Yasamal university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200
Baku Khatai university_campusavg counthourseasonWinterSpringSummerAutumn051015202004006008001000120014001600180020002200
Stockholm Kungsholmen waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600
Stockholm Nacka waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500600700
Oslo Sagene waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Oslo Majorstuen waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Østerbro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Nørrebro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Vesterbro waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Frederiksberg waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Copenhagen Frederiksberg waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Helsinki Pasila waterfrontavg counthourseasonWinterSpringSummerAutumn051015200100200300400500
Baku Nasimi waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600
Baku Surakhani waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600
Baku Nizami waterfrontavg counthourseasonWinterSpringSummerAutumn0510152002004006008001000120014001600
source: src/gis/pedestrian_counts.clj