Amenities — how it is calculated
The amenities score measures how easy it is to cover daily needs on foot: grocery stores, pharmacies, postal and banking services, cafes, and restaurants. Data comes from OpenStreetMap; when the extract is missing, a proxy from atlas commercial indicators per planning unit is used.
Two layers (OSM v1)
Combination of distance to the nearest daily food source (supermarket, convenience store, market, bakery, etc.) and to the nearest pharmacy. Stricter curve for food, as it matters most every day.
Weighted sum of nearby POIs up to ~900 m: each type carries a weight (e.g., supermarket > ATM). Exponential distance decay is applied, and the strongest contributions are taken to prevent single malls from dominating.
What amenities we include
Shops: supermarket, convenience, bakery, greengrocer, mall, department_store. Services: marketplace, pharmacy, bank, atm, post_office, cafe, restaurant, fast_food.
Fallback mode (atlas)
If osm-amenities-sofia.json is missing, the score comes from percentiles of perc_shop_publ and perc_shop per planning unit, or failing that, from ob_kul_broi. This is coarser and nearly constant within a planning unit.
What we do not measure
We do not evaluate operating hours, queues, prices, food quality, or whether a specific store is preferred. We do not include theaters and museums in this score — the focus is daily amenities, not cultural programming.
Full specification: data/README.md (Amenities section). Update: npm run build:osm-amenities-sofia.