Skuggfritt är en interaktiv solkarta för Stockholms innerstad. Den visar i realtid var solljuset når marken och var byggnader kastar skugga — för vilken tid och vilket datum du vill.
För varje pixel på skärmen beräknas om en stråle från solen blockeras av en byggnad eller ett träd innan den når marken. Beräkningen sker i grafikkortet (GPU) via en WebGL-shader som utför raycasting mot en förberäknad höjdmodell. Solens position beräknas med SunCalc.js utifrån datum, klockslag och Stockholms koordinater (59,3°N, 18,1°Ö).
Byggnads- och terrängdata kombineras till Terrain-RGB PNG-tiles i slippy map-format
(zoomnivå 16, ~4 m/pixel). Höjden kodas som:
höjd = −10 000 + ((R×65 536 + G×256 + B) × 0,1) meter.
Tiles cachas i webbläsarens IndexedDB för snabbare återladdning.
Skuggberäkningens noggrannhet är ca 4–8 meter i sidled (begränsad av höjdmodellens upplösning). Skuggtider stämmer typiskt inom 1–2 minuter för byggnader med räta väggar. Vegetation och mindre strukturer ingår inte i byggnadsmodellen.
Kartan täcker Stockholms innerstad: Norrmalm, Östermalm, Södermalm, Kungsholmen, Vasastan och Gamla Stan.
Skugglagret renderas på GPU:n och kör i 30 fps på moderna mobiler (iPhone 12+, Galaxy S21+). På enheter med lägre kapacitet används halverad upplösning automatiskt. Antalet raycast-steg anpassas dynamiskt efter solhöjden.
Skuggfritt bygger på öppna datakällor och öppen programvara. Projektet är inspirerat av ShadeMap och shadow-mapper av Per Liedman.
Solpositionen är realtid — den uppdateras löpande baserat på faktisk tid. Byggnadsdata är statisk och uppdateras när nya versioner av Stockholms LOD1-dataset publiceras.
Ja. Använd datumväljaren i kontrollpanelen för att välja vilket datum som helst. Tidsreglaget (solbågen) visar solens rörelse från soluppgång till solnedgång för det valda datumet.
Kontrollera att du har valt en tidpunkt när solen är uppe (dvs. mellan soluppgång och solnedgång). Runt sommarsolstånd (21 juni) är solen uppe ca 04:30–22:00 i Stockholm.
Höjdmodellen har en upplösning på ~4 m/pixel vilket ger en noggrannhet på ca 4–8 meter. Smala strukturer som stolpar, träd och balkonger syns inte i data.
I nuläget täcker kartan Stockholms innerstad. Utökad täckning planeras.