Vienna Living MapPresse
„Ich will es ruhig.“ „Wir erwarten unser erstes Kind.“ „Abends zu Fuß ins Café.“ „Ich habe einen Hund.“
23Bezirke
99Grätzl
~42.570Datenpunkte aus offenen Quellen
750+statische Seiten, zweisprachig

gelistet auf data.gv.at

Prototyp: acht Werte je Ort. Produkt: 220 × 220 m um die Schrankgasse 10, jede Ebene aus der Datei gezeichnet, die die App lädt.

Drei Wien-Karten: 172.296 öffentliche Leuchten, 21.978 Bänke und 11.248 Schutzwege, jeder Punkt an seiner echten Stelle.

Stadt Wien Open Data (Leuchten), CC BY 4.0 · OpenStreetMap (Bänke, Schutzwege), ODbL

Draufsicht um die Schrankgasse 10: Groß- und Kleinsteinpflaster, Fahrbahn, Gehsteig, Straßenbahn und Gebäude, jede Fläche aus dem Straßeninformationssystem der Stadt.

Straßeninformationssystem der Stadt Wien (SISBELAGOGD) · 720 Belagsflächen in 220 × 220 m

Familie

    –

    Spittelberg · Für die meisten

    Σ (Wert × Gewicht) ÷ Σ Gewicht × 10

    Spittelberg

    ✓ Besonders stark

    ⓘ Der Kompromiss

    Für die Perspektive „Familie“ zählt Nachtleben nicht. Es kann also nie ihr Kompromiss sein.

    Terminal
    SQLite5 Tabellen · 122 Orte · 8 Perspektiven
    ↓
    Flask + Engine75 Zeilen Python, einzeln testbar
    ↓
    REST-API11 Endpunkte unter /api/v1
    ↓
    Web & CLIScore-Karte im Browser, Terminal
    maindevelopfeature/… Pull RequestReviewTests ✓ Abgabe 15.01.

    16 Tests · jeder Push, jeder Pull Request

    on:
      push:
      pull_request:
    jobs:
      tests:
        runs-on: python
        steps:
          - name: clone repo
            run: git clone "https://ci:${{ forgejo.token }}@…" .
          - name: checkout commit
            run: git checkout ${{ forgejo.sha }}
          - name: install dependencies
            run: pip install -r requirements.txt
          - name: run tests
            run: python -m unittest discover -s tests -v
    Wiener Gründerzeitfassade am 21. Dezember um 14 Uhr: Die oberen Stockwerke liegen in der Sonne, die unteren im Schatten des Hauses gegenüber.

    21. Dezember, 14:00Das Haus gegenüber zeichnet die Linie. Wer darüber wohnt, hat Wintersonne.

    Azima-Bühne · Schrankgasse 10, Wien-Neubau

    Aufgeschnittenes Haus von schräg oben: eine eingerichtete Wohnung, die Wintersonne fällt durch die Fenster bis auf den Boden eines Zimmers.

    Dieselbe Minute, im ZimmerSonnenkarten hören an der Hausmauer auf. Azima rechnet weiter: durchs Fenster, bis auf den Boden.

    Azima-Bühne · Grundriss aus dem Exposé

    Dieselbe Wohnung am 21. Juni: Der Boden ist je nach Sonnenlast von violett (wenig) bis gelb (sehr viel) eingefärbt.

    21. Juni, 13:05Sonnenlast je m² Boden, gerechnet auf der Grafikkarte des eigenen Geräts. Der Grundriss verlässt es nie.

    relativ zum sonnigsten Raum, kein Temperaturwert

    Seite 5 des Azima-Berichts für die Schrankgasse 10, 2. Stock: für jeden Raum die Stunden direkter Sonne am 21. Juni, 21. März und 21. Dezember, dazu der Jahresverlauf und was daraus für die Ausstattung folgt.

    Azima-Bericht als PDF · Schrankgasse 10 · 16 Seiten

    1. QuellenStadt Wien OGD (WFS) · OpenStreetMap · Wiener Linien · GeoSphere · Statistik Austria · Copernicus
    2. Build-Skripte~15 Generatoren ziehen, filtern, kuratieren. Monatlich per Cron, nie zur Laufzeit.
    3. Statische DatenVersionierte JSON/GeoJSON, ~42.570 Punkte, 13 Karten-Ebenen, eigene Vektor-Tiles
    4. EngineDeterministisch, per Golden-Tests eingefroren. Die KI übersetzt nur.
    5. GatesBanned-Words, Zahlen-Check, Bild-Prüfung, Smoke-Test nach jedem Deploy
    MerkmalPrototyp (FH)Vienna Living Map · Azima
    Orte122 (Bezirke + Grätzl)jede Adresse Wiens
    Schichten8 Werte je Ort6 Score-Dimensionen, 8 Atmosphäre-Achsen, Licht, Lärm, Hitze, Bäume, Belag
    Rechnengewichtetes MittelEngine, Sonnenstand astronomisch, Verbauungshorizont aus dem LOD2-Dachmodell
    DarstellungHTML-Karte, CLIMapLibre GL und Three.js auf einer Bühne
    Daten1 Seed-Datei~42.570 Punkte, eigene Vektor-Tiles
    Sprache–KI als Übersetzer, nie als Quelle
    StackPython · Flask · SQLiteTypeScript · React · Cloudflare · PWA
    • Die KI erfindet nie.Sie übersetzt Wünsche in Gewichte. Gerankt wird nur von der Engine.
    • Jede Stärke hat einen Trade-off.Kein Ort wird als perfekt beschrieben.
    • Ein fehlender Sinn wird benannt.Sommerhitze: „modelliert, kein gemessener Temperaturwert“.
    • Ein gemessener Nachteil bleibt.Fluglärm, Schatten, Hitze werden besser erklärt, nie ausgeblendet.

    Case Study · FHWien der WKW

    Wie möchtest du leben?

    Wohnungssuche in Wien beginnt fast immer falsch herum: mit einem Inserat, einem Bezirksklischee oder einer Karte voller Pins. Menschen denken nicht in „Öffis = 0,4, Grün = 0,3“. Sie denken in Wünschen.

    Ein Prototyp aus dem Master Digital Technology & Innovation an der FHWien der WKW, gebaut von Lucas Jakubeit, der Vienna Living Map und Azima entwickelt.

    Woher es kommt

    Vienna Living Map

    Ein kostenloser Wohn-Kompass für Wien: Er zeigt nicht nur, wo etwas ist, sondern wie es sich dort lebt. Alles aus offenen Daten, ohne Konto, ohne Cookies.

    Open Data · Schicht für Schicht

    Was eine Straße ausmacht, liegt in offenen Daten

    Der Prototyp nutzt acht Werte je Ort: Sicherheit, Grün, Öffis, Luft, Ruhe, Alltag, Preis-Leistung, Stadtleben. Das Produkt geht bis auf die Straße hinunter: Belag, Dachmodell, Bäume, Leuchten, Sonnenstand. Schalte um.

    Erklärt · Warum 0 bis 10Rohdaten haben verschiedene Einheiten: Anzeigen pro 1.000 Einwohner, Prozent Parkfläche, Haltestellen im Umkreis. Erst auf eine Skala gebracht lassen sie sich gewichten und addieren. Lärm ist umgedreht: hoher Wert heißt ruhig, damit überall „mehr ist besser“ gilt.

    Noch einmal dieselbe Stadt

    Jede Laterne dort, wo die Stadt sie verzeichnet

    172.296 öffentliche Leuchten, 21.978 Bänke, 11.248 Schutzwege. Keine Schätzung, kein Zufallsmuster: Jeder Punkt steht an seiner echten Stelle.

    Der Boden ist gemessen

    Kopfstein liegt dort, wo die Stadt Kopfstein führt

    Jede Belagsfläche mit Typ, Material und Bordstein. Daraus werden Fahrbahn, Gehsteig und Pflaster, statt Asphalt nach Straßenklasse zu raten.

    Perspektiven statt Filter

    Dieselbe Stadt, anders gelesen

    Eine Perspektive ist nur eine Gewichtung. Die Familie legt Sicherheit und Grün nach vorne. Oben stehen Grätzl am Stadtrand, mit Wald und Weinbergen.

    Perspektive wechseln

    Gleiche Daten, andere Antwort

    Wer Stadtleben will, gewichtet Öffis, Nahversorgung und Urbanität. Die Rangliste dreht sich: MuseumsQuartier, Westbahnstraße, Schottenring. Kein Bezirk ist objektiv der beste.

    Die Engine

    Eine Formel, die man nachrechnen kann

    Der Living Score ist der gewichtete Mittelwert der acht Schichten, auf 0 bis 100 gebracht. Kein Machine Learning, keine Blackbox. Ab 90 heißt das Hervorragend, ab 80 Sehr gut, ab 70 Gut.

    Radikale Ehrlichkeit

    Jede Stärke hat einen Kompromiss

    Die Engine nennt die stärksten Schichten und den Kompromiss, der für die gewählte Perspektive wirklich zählt: die schwächste Schicht, die dieser Perspektive wichtig ist. Kein Ort ist perfekt.

    Für Entwickler:innen

    Eine Antwort, vier Gesichter

    Karte, JSON, SQL und Python sind dieselbe Antwort aus verschiedenen Blickwinkeln. Das Frontend fragt die REST-API und zeigt an, mehr nicht. Schalte um.

    Erklärt · Warum das JSON so aufgebaut istDie Antwort folgt der Reihenfolge, in der die Karte sie braucht: erst die Identität (id, name, bezirk), dann das Ergebnis (score, verdict), dann der Beleg (dimensions mit Wert, Gewicht, Stufe), zuletzt die Deutung (strengths, tradeoff). Ein Frontend muss nichts nachrechnen.

    Zweites Frontend

    Dasselbe im Terminal

    Der CLI-Client spricht mit derselben API. Ein Frontend tauschen heißt hier: eine Datei tauschen.

    Vier Komponenten

    Datenbank, Backend, API, Frontend

    Für Agile Software Engineering hat das Team den Kern neu gebaut, mit Python, Flask und SQLite statt TypeScript und Cloudflare. Die Engine hängt weder an Web noch an Datenbank und ist deshalb einzeln testbar.

    Erklärt · Wie und warum die Daten reduziert sindAus Vienna Living Map übernimmt der Prototyp je Ort nur die acht Kernwerte, als Seed-Datei. Grätzl tragen fünf eigene Werte, drei erben sie vom Bezirk. So passt der Kern in fünf Tabellen, jede Zahl ist mit dem Taschenrechner nachprüfbar, und vier Personen können ihn in einem Semester bauen und gegenseitig reviewen.

    Der Git-Weg

    Keine Änderung ohne zweites Augenpaar

    git flow: main ist der abgegebene Stand, develop der laufende. Jedes Feature entsteht auf einem eigenen Branch und kommt per Pull Request zurück, mit Review einer zweiten Person und grünen Tests.

    CI/CD

    Dieselbe Idee, zwei Größen

    Für den Prototyp reichen 16 Zeilen: Bei jedem Push klont der Forge-Runner das Repo, installiert Flask und lässt die Tests laufen. Im Produkt ist die Kette länger, das Prinzip gleich: Jede Prüfung steht im Code.

    Erklärt · YAML, CI und CDDie YAML-Datei sagt dem Forge, was er nach jedem Push tun soll. CI (Continuous Integration): Jede Änderung wird sofort gegen alle Tests geprüft, nicht erst am Abgabetag. CD (Continuous Delivery): Derselbe Push löst den Deploy aus. Der Prototyp hat CI, bewusst ohne CD, damit die Gruppe den Schritt zum Live-Stellen selbst versteht.

    Wo es weitergeht · Licht

    Die Stockwerk-Lotterie

    Vienna Living Map baut jede Adresse als 3D-Welt im Browser: Gebäudehöhen aus dem amtlichen Dachmodell der Stadt Wien, Bäume aus dem Baumkataster, echtes Gelände. Die Sonne wandert, der Schatten wandert mit.

    Azima

    Die Sonne im Zimmer

    Daraus ist Azima entstanden, der Licht-Check für Wohnungen. Er liest den Grundriss aus dem Exposé-PDF, stellt die Wohnung ins echte Haus und rechnet, wann direkte Sonne auf den Boden fällt. Raum für Raum.

    Gerechnet auf deinem Gerät

    Sonnenlast, kein Upload

    Die Berechnung läuft auf der Grafikkarte des eigenen Handys oder Laptops. Der Grundriss verlässt das Gerät nie, und Azima sagt offen, wenn die Daten für eine Antwort nicht reichen.

    Ausblick: Der nächste Schritt rechnet das Licht im Innenraum aus dem Grundriss. Das gibt es für Wien bisher nicht. Wie genau, wird noch nicht verraten.

    Azima · Der Bericht

    Alles in einem PDF, Raum für Raum

    Am Ende sichert Azima das Ergebnis als Bericht: wann die Sonne in welchen Raum kommt, an drei Stichtagen und übers Jahr, was das Haus gegenüber verdeckt, was daraus für Beschattung und Arbeitsplatz folgt. Dazu „Auf dem Dach“: Photovoltaik laut Solarkataster der Stadt und die begrünbare Fläche aus dem Dachmodell. Schalte um.

    Jede Zahl mit Quelle, jede Grenze benannt: kein Gutachten, kein Nachweis nach ÖNORM, sondern ein nachvollziehbares Modell.

    Die Datenfabrik

    Keine Datenbank, die jemand füllt

    Build-Skripte holen offene Daten, kuratieren sie und schreiben statische Dateien. Alles Endliche wird einmal vorgerechnet, nie zur Laufzeit. Stimmt eine Gesamtzahl über das Produkt nicht mehr, wird der Build rot.

    Erklärt · Wie die Systeme ineinandergreifenDie Skripte schreiben Dateien, die App liest sie, die Engine rechnet den Score, die Karte zeigt ihn. Die KI sitzt nur an zwei Übergängen: Wunsch → Gewichte und Fakten → Satz. Fällt sie aus, rechnet alles weiter. Der Prototyp hat denselben Aufbau im Kleinen: Seed-Datei → SQLite → Engine → API → Karte.

    Ehrlich gesagt

    Wie abgespeckt der Prototyp ist

    Der Prototyp zeigt den Kern in rund 400 Zeilen Python. Das Produkt dahinter rechnet für jede Adresse Wiens den Sonnenstand, baut aus dem Dachmodell einen Verbauungshorizont und rendert das Umfeld in 3D. Wer die Formel versteht, versteht auch, was die große Version mehr weiß.

    Prinzipien, die im Code stehen

    Das Gegenteil von Immobilien-Marketing

    Diese Regeln sind in Vienna Living Map Build-Gates, keine Absichtserklärungen. Der Prototyp übernimmt die ersten beiden wörtlich in seine Engine.

    Das größere Bild

    Vom Prototyp zum Produkt

    Eine Suche, die Wünsche in Alltagssprache versteht, ein Atmosphäre-Fingerabdruck mit acht Achsen, das echte Licht jeder Adresse. Alles kostenlos, gebaut in Wien, für Wien.

    Live · der Prototyp im Browser

    Probier die Engine selbst

    Wähle einen der 122 Orte und eine Perspektive, oder gewichte selbst. Gerechnet wird hier, mit der Engine des Prototyps (engine.py, nach JavaScript übertragen) auf den Daten vom 1. Oktober 2026. Die Flask-App selbst geht mit der Abgabe im Jänner 2027 online.

    Perspektive

    Selbst gewichten
    –

    –

    Live · Azima im Inserat

    Das Licht-Widget, eben in deinem Browser gerechnet

    Eine Zeile Code zeigt auf jeder Inseratsseite, wie viele Stunden direkte Sonne eine Wiener Adresse am 21. März, 21. Juni und 21. Dezember bekommt, aus den amtlich gemessenen Gebäudehöhen der Stadt Wien. Darunter „Auf dem Dach“: Photovoltaik-Potenzial und begrünbare Fläche. Die Karte unten ist das echte Widget, nicht ein Bild davon.

    <script src="https://viennalivingmap.com/einbetten.js"
            data-adresse="Schrankgasse 10, 1070 Wien"
            data-etage="3" data-partner="DEIN-SCHLUESSEL" async></script>

    Kein Cookie, kein Tracking: Adresse und Schlüssel stehen im Fragment des Rahmens und erreichen nie einen Server. Alles zum Widget →

    Was Wiens offene Daten noch können

    Fünf Geschichten aus denselben Daten

    Weiter

    Das Produkt hinter der Case Study

    Der Prototyp zeigt die Formel. Vienna Living Map zeigt die Stadt, Azima das Licht in der Wohnung.

    API des Prototyps

    Elf Endpunkte, alle JSON

    GET/api/v1/places?q=SpittelbergOrte suchen
    GET/api/v1/places/<id>?persona=familieScore-Karte eines Ortes
    GET/api/v1/ranking?persona=urban&kind=graetzlRangliste
    GET/api/v1/compare?a=<id>&b=<id>Wo gewinnt welcher Ort?
    POST/api/v1/scoreeigene Gewichtung
    GET · POST · PATCH · DELETE/api/v1/favoritesMerkliste

    Fehler kommen als {"error": "…"} mit 400 oder 404. 16 Unit-Tests laufen bei jedem Push.

    Daten & Quellen

    23 Bezirke und 99 Grätzl aus Vienna Living Map, beruhend auf Wiener Open Government Data (data.wien.gv.at, CC BY 4.0), OpenStreetMap (ODbL), der Kriminalstatistik, dem Umweltbundesamt und Statistik Austria. Preise sind Bezirks-Mediane. Bilder: Azima-Bühne und Open-Data-Grafiken, Schrankgasse 10, Wien-Neubau.

    Lehrveranstaltung Agile Software Engineering, Master Digital Technology & Innovation (Kohorte 1.28), FHWien der WKW, Wintersemester 2026/27. Keine Wohnungsberatung.

    Wie möchtest du leben?

    Beschreib deinen Alltag — die Karte übersetzt ihn in Orte in Wien.