{
 "city": "olten",
 "name": {
  "it": "Olten",
  "en": "Olten",
  "fr": "Olten",
  "de": "Olten",
  "es": "Olten",
  "pt": "Olten",
  "nl": "Olten"
 },
 "country": "ch",
 "built": "2026-11-07T00:05:09+00:00",
 "method": {
  "version": "v1",
  "floor": 1.0,
  "curves": {
   "q1a": {
    "kind": "dec",
    "full": 400,
    "zero": 1200,
    "unit": "m"
   },
   "q1b": {
    "kind": "dec",
    "full": 1000,
    "zero": 2000,
    "unit": "m"
   },
   "q2": {
    "kind": "inc",
    "zero": 0,
    "full": 30,
    "unit": "%"
   },
   "q3_food": {
    "kind": "dec",
    "full": 400,
    "zero": 1600,
    "unit": "m"
   },
   "q3_pharmacy": {
    "kind": "dec",
    "full": 400,
    "zero": 1600,
    "unit": "m"
   },
   "q3_doctor": {
    "kind": "dec",
    "full": 800,
    "zero": 1600,
    "unit": "m"
   },
   "q3_kindergarten": {
    "kind": "dec",
    "full": 800,
    "zero": 1600,
    "unit": "m"
   },
   "q3_primary": {
    "kind": "dec",
    "full": 800,
    "zero": 1600,
    "unit": "m"
   },
   "q3_stop": {
    "kind": "dec",
    "full": 400,
    "zero": 800,
    "unit": "m"
   },
   "q3_station": {
    "kind": "dec",
    "full": 800,
    "zero": 1600,
    "unit": "m"
   },
   "q4": {
    "kind": "dec",
    "full": 53,
    "zero": 70,
    "unit": "dB"
   },
   "q5": {
    "kind": "dec",
    "full": 5,
    "zero": 25,
    "unit": "µg/m³"
   },
   "q6": {
    "kind": "inc",
    "zero": 0,
    "full": 60,
    "unit": "/h"
   },
   "q7": {
    "kind": "dec",
    "full": 400,
    "zero": 1000,
    "unit": "m"
   },
   "q8": {
    "kind": "dec",
    "full": 300,
    "zero": 1000,
    "unit": "m"
   }
  },
  "q1_mix": [
   0.6666666666666666,
   0.3333333333333333
  ],
  "q3_categories": [
   "food",
   "pharmacy",
   "doctor",
   "kindergarten",
   "primary",
   "transit"
  ],
  "quality": [
   "q1",
   "q2",
   "q3",
   "q4",
   "q5",
   "q6",
   "q7",
   "q8"
  ],
  "core": [
   "q1",
   "q2",
   "q3"
  ],
  "density_limits": [
   1500,
   10000
  ],
  "density_classes": [
   "b",
   "m",
   "a"
  ],
  "mix_limits": [
   0.3,
   0.6
  ],
  "density_weight": 2,
  "match_by_step": [
   100.0,
   50.0,
   0.0
  ],
  "bands": [
   [
    80,
    "ottimo"
   ],
   [
    60,
    "buono"
   ],
   [
    40,
    "sufficiente"
   ],
   [
    0,
    "scarso"
   ]
  ],
  "profiles": {
   "studente": {
    "w": [
     2,
     1,
     4,
     1,
     0,
     0,
     0,
     3
    ],
    "k": "a"
   },
   "famiglia": {
    "w": [
     4,
     3,
     3,
     3,
     0,
     0,
     4,
     2
    ],
    "k": "m"
   },
   "over65": {
    "w": [
     3,
     2,
     4,
     3,
     0,
     0,
     0,
     0
    ],
    "k": "m"
   },
   "casa": {
    "w": [
     3,
     3,
     2,
     4,
     0,
     0,
     0,
     2
    ],
    "k": "b"
   },
   "pendolare": {
    "w": [
     2,
     2,
     4,
     2,
     0,
     4,
     0,
     3
    ],
    "k": "m"
   }
  },
  "default_weights": [
   1,
   1,
   1,
   0,
   0,
   0,
   0,
   0
  ],
  "walk_speed_m_per_min": 80.0
 },
 "grid": {
  "kind": "h3",
  "res": 9,
  "cells": 152,
  "wet_excluded": 0
 },
 "area_km2": 11.49,
 "population": 21185,
 "population_estimated": false,
 "center": [
  7.90009,
  47.34448
 ],
 "bbox": [
  7.86077,
  47.3016,
  7.94447,
  47.37836
 ],
 "boundary": {
  "type": "Polygon",
  "coordinates": [
   [
    [
     7.89176,
     47.31574
    ],
    [
     7.89375,
     47.31694
    ],
    [
     7.89596,
     47.31868
    ],
    [
     7.89764,
     47.31944
    ],
    [
     7.8981,
     47.31983
    ],
    [
     7.8979,
     47.32064
    ],
    [
     7.89718,
     47.32152
    ],
    [
     7.89659,
     47.32191
    ],
    [
     7.89609,
     47.32393
    ],
    [
     7.89656,
     47.32679
    ],
    [
     7.89686,
     47.32766
    ],
    [
     7.89931,
     47.33102
    ],
    [
     7.9037,
     47.3362
    ],
    [
     7.90452,
     47.33694
    ],
    [
     7.90731,
     47.33888
    ],
    [
     7.9079,
     47.33948
    ],
    [
     7.90819,
     47.33995
    ],
    [
     7.90826,
     47.34045
    ],
    [
     7.90781,
     47.34172
    ],
    [
     7.90859,
     47.34191
    ],
    [
     7.90918,
     47.34165
    ],
    [
     7.90935,
     47.34096
    ],
    [
     7.91121,
     47.33919
    ],
    [
     7.91584,
     47.33663
    ],
    [
     7.9185,
     47.33749
    ],
    [
     7.91931,
     47.33752
    ],
    [
     7.92123,
     47.3373
    ],
    [
     7.92197,
     47.33785
    ],
    [
     7.9231,
     47.33815
    ],
    [
     7.92416,
     47.33894
    ],
    [
     7.92412,
     47.3396
    ],
    [
     7.92317,
     47.34023
    ],
    [
     7.92248,
     47.34046
    ],
    [
     7.92159,
     47.34268
    ],
    [
     7.92282,
     47.34639
    ],
    [
     7.92264,
     47.34665
    ],
    [
     7.92328,
     47.34808
    ],
    [
     7.92346,
     47.34817
    ],
    [
     7.92331,
     47.34834
    ],
    [
     7.92359,
     47.34862
    ],
    [
     7.92346,
     47.34881
    ],
    [
     7.92365,
     47.34894
    ],
    [
     7.92354,
     47.34913
    ],
    [
     7.92366,
     47.34915
    ],
    [
     7.92382,
     47.35052
    ],
    [
     7.92362,
     47.35198
    ],
    [
     7.92365,
     47.35251
    ],
    [
     7.9238,
     47.35267
    ],
    [
     7.92371,
     47.35286
    ],
    [
     7.92419,
     47.35294
    ],
    [
     7.92414,
     47.35316
    ],
    [
     7.92444,
     47.35319
    ],
    [
     7.92439,
     47.35378
    ],
    [
     7.92473,
     47.35382
    ],
    [
     7.92465,
     47.35422
    ],
    [
     7.92487,
     47.35425
    ],
    [
     7.92909,
     47.35759
    ],
    [
     7.92508,
     47.36005
    ],
    [
     7.9239,
     47.36106
    ],
    [
     7.92335,
     47.36187
    ],
    [
     7.92224,
     47.36461
    ],
    [
     7.92146,
     47.36447
    ],
    [
     7.92136,
     47.36464
    ],
    [
     7.92216,
     47.36479
    ],
    [
     7.92123,
     47.36697
    ],
    [
     7.92028,
     47.36826
    ],
    [
     7.91896,
     47.36892
    ],
    [
     7.91819,
     47.36882
    ],
    [
     7.91627,
     47.36783
    ],
    [
     7.91524,
     47.36709
    ],
    [
     7.91205,
     47.3643
    ],
    [
     7.90935,
     47.36153
    ],
    [
     7.90804,
     47.35986
    ],
    [
     7.90725,
     47.35826
    ],
    [
     7.90665,
     47.35635
    ],
    [
     7.90406,
     47.35657
    ],
    [
     7.90051,
     47.35649
    ],
    [
     7.89972,
     47.3579
    ],
    [
     7.89926,
     47.35839
    ],
    [
     7.89915,
     47.35934
    ],
    [
     7.89887,
     47.35949
    ],
    [
     7.8978,
     47.35955
    ],
    [
     7.89669,
     47.35993
    ],
    [
     7.89621,
     47.35972
    ],
    [
     7.89561,
     47.35974
    ],
    [
     7.89534,
     47.35958
    ],
    [
     7.89483,
     47.35981
    ],
    [
     7.89477,
     47.36023
    ],
    [
     7.89328,
     47.36058
    ],
    [
     7.89207,
     47.36107
    ],
    [
     7.88853,
     47.3618
    ],
    [
     7.88839,
     47.36204
    ],
    [
     7.88825,
     47.36183
    ],
    [
     7.8877,
     47.36192
    ],
    [
     7.88727,
     47.36185
    ],
    [
     7.8871,
     47.36167
    ],
    [
     7.88676,
     47.36177
    ],
    [
     7.88669,
     47.36198
    ],
    [
     7.88651,
     47.36174
    ],
    [
     7.8861,
     47.36179
    ],
    [
     7.88607,
     47.36199
    ],
    [
     7.88577,
     47.36181
    ],
    [
     7.88527,
     47.36182
    ],
    [
     7.88514,
     47.36202
    ],
    [
     7.88501,
     47.36181
    ],
    [
     7.88461,
     47.36182
    ],
    [
     7.88452,
     47.36192
    ],
    [
     7.88435,
     47.36178
    ],
    [
     7.88373,
     47.36192
    ],
    [
     7.88328,
     47.36167
    ],
    [
     7.88306,
     47.3617
    ],
    [
     7.88232,
     47.36144
    ],
    [
     7.88167,
     47.36112
    ],
    [
     7.88159,
     47.36096
    ],
    [
     7.88051,
     47.36065
    ],
    [
     7.87942,
     47.36015
    ],
    [
     7.87687,
     47.35878
    ],
    [
     7.87685,
     47.35805
    ],
    [
     7.87492,
     47.35622
    ],
    [
     7.87486,
     47.35599
    ],
    [
     7.87525,
     47.35506
    ],
    [
     7.87749,
     47.35334
    ],
    [
     7.87882,
     47.35186
    ],
    [
     7.88257,
     47.34837
    ],
    [
     7.88393,
     47.34644
    ],
    [
     7.88702,
     47.34332
    ],
    [
     7.88558,
     47.34283
    ],
    [
     7.88269,
     47.34142
    ],
    [
     7.8808,
     47.3408
    ],
    [
     7.8788,
     47.34002
    ],
    [
     7.87876,
     47.33992
    ],
    [
     7.88058,
     47.3379
    ],
    [
     7.88103,
     47.33715
    ],
    [
     7.88349,
     47.335
    ],
    [
     7.88572,
     47.33226
    ],
    [
     7.88568,
     47.33168
    ],
    [
     7.8859,
     47.33094
    ],
    [
     7.88706,
     47.32906
    ],
    [
     7.88728,
     47.3279
    ],
    [
     7.88747,
     47.32755
    ],
    [
     7.88799,
     47.3272
    ],
    [
     7.88858,
     47.32704
    ],
    [
     7.88781,
     47.32486
    ],
    [
     7.88796,
     47.32459
    ],
    [
     7.88768,
     47.32408
    ],
    [
     7.8881,
     47.32351
    ],
    [
     7.88792,
     47.32324
    ],
    [
     7.88821,
     47.32301
    ],
    [
     7.88856,
     47.32318
    ],
    [
     7.88926,
     47.32283
    ],
    [
     7.88929,
     47.32266
    ],
    [
     7.88881,
     47.32076
    ],
    [
     7.88736,
     47.32011
    ],
    [
     7.8874,
     47.32003
    ],
    [
     7.88548,
     47.31923
    ],
    [
     7.88493,
     47.31886
    ],
    [
     7.88415,
     47.3189
    ],
    [
     7.88387,
     47.31874
    ],
    [
     7.88311,
     47.31899
    ],
    [
     7.88183,
     47.31857
    ],
    [
     7.88036,
     47.31835
    ],
    [
     7.88074,
     47.31684
    ],
    [
     7.88083,
     47.31578
    ],
    [
     7.88057,
     47.31404
    ],
    [
     7.88033,
     47.31359
    ],
    [
     7.88075,
     47.31152
    ],
    [
     7.88383,
     47.31103
    ],
    [
     7.88775,
     47.31112
    ],
    [
     7.88867,
     47.31127
    ],
    [
     7.88926,
     47.31163
    ],
    [
     7.88983,
     47.31233
    ],
    [
     7.89035,
     47.31408
    ],
    [
     7.8907,
     47.31474
    ],
    [
     7.89176,
     47.31574
    ]
   ]
  ]
 },
 "available": {
  "q1": true,
  "q2": true,
  "q3": true,
  "q4": false,
  "q5": true,
  "q6": true,
  "q7": true,
  "q8": true,
  "c1": true,
  "c2": false,
  "c3": true
 },
 "sources": {
  "q1": [
   "OpenStreetMap"
  ],
  "q2": [
   "OpenStreetMap (stima)"
  ],
  "q3": [
   "OpenStreetMap"
  ],
  "c1": [
   "Eurostat, censimento 2021 (1 km²)",
   "OpenStreetMap (uso del suolo)"
  ],
  "c3": [
   "OpenStreetMap"
  ],
  "addresses": [
   "Elenco ufficiale degli indirizzi degli edifici, swisstopo"
  ],
  "q6": [
   "orari GTFS opentransportdata.swiss (17/11/2026)"
  ],
  "q5": [
   "EEA, mappa del PM2.5 2024"
  ],
  "q7": [
   "OpenStreetMap"
  ],
  "q8": [
   "OpenStreetMap"
  ]
 },
 "q3_counts": {
  "food": 50,
  "pharmacy": 11,
  "doctor": 12,
  "kindergarten": 10,
  "primary": 20,
  "stop": 219,
  "station": 7
 },
 "q5": {
  "pollutant": "PM2.5",
  "year": 2024,
  "resolution_m": 1000
 },
 "q6": {
  "date": "2026-11-17",
  "window_h": [
   7,
   9
  ],
  "radius_m": {
   "bus": 400,
   "rail": 800
  },
  "agencies": [
   "opentransportdata.swiss"
  ],
  "lines": 68,
  "stops": 722,
  "trains": true
 },
 "q7": {
  "areas": 21,
  "points": 41,
  "osm": 41,
  "merge_m": 50
 },
 "q8": {
  "km": 20,
  "km_all": 23,
  "min_network_m": 300
 },
 "green_counts": {
  "small": 9,
  "park": 0
 },
 "network": {
  "nodes": 50878,
  "km": 941
 },
 "warnings": [],
 "manifest": {
  "boundary": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:120];relation(1683566);out geom;",
   "downloaded": "2026-11-06T22:12:36+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "94c4addc636ba7444cf3e6e61ba2447a01b31666e9fd18cf276cfdad5804f6c9",
   "elements": 1,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "network": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:600]; way[\"highway\"](47.301600,7.860768,47.378356,7.944470); out geom qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "c328606d3cdfb686454fa81b97eb54d3af6d1ff4e9d567690d4487e70e5ddc25",
   "elements": 9447,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "pois": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:300]; ( nwr[\"shop\"~\"^(supermarket|convenience|greengrocer|deli|butcher|bakery)$\"](47.301600,7.860768,47.378356,7.944470); nwr[\"amenity\"~\"^(pharmacy|doctors|clinic|hospital|kindergarten|school)$\"](47.301600,7.860768,47.378356,7.944470); nwr[\"healthcare\"~\"^(doctor|centre|clinic|hospital)$\"](47.301600,7.860768,47.378356,7.944470); node[\"highway\"=\"bus_stop\"](47.301600,7.860768,47.378356,7.944470); node[\"railway\"~\"^(tram_stop|station|halt)$\"](47.301600,7.860768,47.378356,7.944470); nwr[\"public_transport\"~\"^(platform|station)$\"](47.301600,7.860768,47.378356,7.944470); ); out center tags qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "7ce4409d7a8b2308038c8326c262636a4c1d7ad7e5235f9c173e995b7efa83d7",
   "elements": 411,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "areas": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:600]; ( way[\"leisure\"~\"^(park|garden|playground|recreation_ground|nature_reserve|pitch|sports_centre|dog_park|common)$\"](47.301600,7.860768,47.378356,7.944470); relation[\"leisure\"~\"^(park|garden|recreation_ground|nature_reserve|sports_centre|common)$\"](47.301600,7.860768,47.378356,7.944470); way[\"landuse\"](47.301600,7.860768,47.378356,7.944470); relation[\"landuse\"](47.301600,7.860768,47.378356,7.944470); way[\"natural\"~\"^(wood|scrub|tree_row|water|grassland|heath)$\"](47.301600,7.860768,47.378356,7.944470); relation[\"natural\"~\"^(wood|water|scrub)$\"](47.301600,7.860768,47.378356,7.944470); way[\"amenity\"~\"^(school|university|college|hospital|kindergarten|marketplace)$\"](47.301600,7.860768,47.378356,7.944470); way[\"waterway\"=\"riverbank\"](47.301600,7.860768,47.378356,7.944470); ); out geom qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "cb9a922c356c5bef441803d1113c2918de796113da3869e4c8f2c5d543966f81",
   "elements": 979,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "trees": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:300]; node[\"natural\"=\"tree\"](47.301600,7.860768,47.378356,7.944470); out skel qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "ca460feeed2ea2fe0a2a710c1e9f61fda384b68892c5cf8402ac8da920020785",
   "elements": 1756,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "addresses": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:600]; ( node[\"addr:housenumber\"][\"addr:street\"](47.301600,7.860768,47.378356,7.944470); way[\"addr:housenumber\"][\"addr:street\"](47.301600,7.860768,47.378356,7.944470); ); out center tags qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "3260318bf5f3fe1ae180ae72765a3b77d53cbcecee500accdd64f89c318a0f1d",
   "elements": 15486,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "play": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:180]; nwr[\"leisure\"=\"playground\"](47.301600,7.860768,47.378356,7.944470); out center tags qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "ed279407e9bd1303370016c3cec99fa68d6deef855bc723c43151e669cf13acd",
   "elements": 58,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  },
  "places": {
   "source": "OpenStreetMap, estratto .osm.pbf",
   "url": "switzerland-latest.osm.pbf",
   "query": "[out:json][timeout:180]; nwr[\"place\"~\"^(suburb|quarter|neighbourhood|town|village)$\"][\"name\"](47.301600,7.860768,47.378356,7.944470); out center tags qt;",
   "downloaded": "2026-11-06T22:27:32+00:00",
   "osm_base": "2026-11-05T21:23:02Z",
   "sha256": "9c58de94851f06f8f4818a86100d283c11dbffc4aa9c9d1adf33b9fce69ecad3",
   "elements": 13,
   "license": "ODbL 1.0, © OpenStreetMap contributors"
  }
 },
 "inputs": {
  "urban_atlas": null,
  "street_tree_layer": null,
  "census_grid": "C:\\dev\\citypulse.center\\data\\census\\ESTAT_Census_2021_V3.csv",
  "gtfs": [
   "C:\\dev\\citypulse.center\\data\\gtfs\\olten\\ch_gtfs.zip"
  ],
  "pm25": "C:\\dev\\citypulse.center\\data\\airquality\\eea_pm25_2024.tif",
  "play": null
 },
 "flags": {
  "no_network": 1,
  "q3_partial": 2,
  "pop_estimated": 4,
  "q2_osm": 8
 },
 "assumptions": {
  "tree_crown_m2": 50.0,
  "focal_radius_m": 500,
  "raster_res_m": 10,
  "max_snap_m": 250
 }
}