exec("CREATE TABLE IF NOT EXISTS geo_waypoint_facts ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, wp_key VARCHAR(32) NOT NULL, kind ENUM('geo','kids') NOT NULL, text_de VARCHAR(500) NOT NULL, audio_file VARCHAR(120) DEFAULT NULL, display_order TINYINT DEFAULT 1, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_wp_kind (wp_key, kind) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci"); $db->exec("DELETE FROM geo_waypoint_facts"); // Struktur: wp_key => [[kind, text_de], ...] $facts = [ // --- Vorarlberg: Basen, Städte, Walgau, Walsertal, Laternsertal --- 'nenzing' => [ ['geo', 'Nenzing liegt im Walgau, dem breiten Tal der Ill, auf 520 Metern Höhe.'], ['kids', 'Von hier startet der Rettungshubschrauber Christophorus 8 — rund um die Uhr einsatzbereit.'], ], 'hohenems' => [ ['geo', 'Der Flugplatz Hohenems-Dornbirn liegt im Rheintal, direkt im Lustenauer Ried.'], ['kids', 'Von diesem Flugplatz starten Fallschirmspringer, die aus 4.000 Metern Höhe abspringen.'], ], 'dornbirn' => [ ['geo', 'Größte Stadt Vorarlbergs, über 50.000 Einwohner, im Rheintal auf 437 Metern.'], ['kids', 'In Dornbirn fährt die Karrenseilbahn — eine der steilsten Seilbahnen Österreichs, 45 Grad Neigung.'], ], 'goetzis' => [ ['geo', 'Marktgemeinde im Rheintal am Übergang zum Vorderwald, 436 Meter hoch.'], ['kids', 'Jedes Jahr kommen die besten Zehnkämpfer der Welt zum Hypomeeting nach Götzis.'], ], 'rankweil' => [ ['geo', 'Liegt am Fuß des Ardetzenbergs, die Basilika thront 80 Meter über dem Rheintal.'], ['kids', 'Vom Liebfrauenberg sieht man bei klarem Wetter bis nach Deutschland zum Bodensee.'], ], 'feldkirch' => [ ['geo', 'Grenzstadt zu Liechtenstein und der Schweiz, Ill fließt durch die Altstadt.'], ['kids', 'Die Schattenburg thront über der Stadt — früher wohnten hier die Grafen von Montfort.'], ], 'bregenz' => [ ['geo', 'Landeshauptstadt Vorarlbergs am Ostufer des Bodensees, am Fuß des Pfänders.'], ['kids', 'Die Seebühne schwimmt auf dem Wasser — 7.000 Zuschauer sitzen dabei am Ufer und schauen zu.'], ], 'lustenau' => [ ['geo', 'Flache Rheintalgemeinde direkt an der Schweizer Grenze, größte Gemeinde Österreichs ohne Stadtrecht.'], ['kids', 'In Lustenau stehen die größten Stick-Maschinen Europas — damit werden Stoffe in Hunderten Farben bestickt.'], ], 'bludenz' => [ ['geo', 'Stadt im Walgau — hier münden fünf Täler: Montafon, Klostertal, Brandnertal, Walgau und Großes Walsertal.'], ['kids', 'In Bludenz wird Milka-Schokolade hergestellt — der Duft liegt manchmal über der ganzen Stadt.'], ], 'buers' => [ ['geo', 'Kleine Walgau-Gemeinde unterhalb des Vorderälpele, 560 Meter Höhe.'], ['kids', 'An den Bürser Felswänden klettern Menschen aus ganz Europa — die Routen haben Namen wie „Himmelsleiter".'], ], 'nueziders' => [ ['geo', 'Walgauer Gemeinde oberhalb von Bludenz auf 519 Metern.'], ['kids', 'Vom Hausberg Davenna sieht man bei klarem Wetter bis zum Bodensee — 50 Kilometer weit.'], ], 'innerbraz' => [ ['geo', 'Im Klostertal am Fuß des Arlbergs, 706 Meter Höhe.'], ['kids', 'Direkt neben dem Dorf rauscht der Alfenz-Wasserfall 70 Meter in die Tiefe.'], ], 'thueringen' => [ ['geo', 'Walgauer Gemeinde am Eingang zum Großen Walsertal.'], ['kids', 'Hinter Thüringen beginnt das Große Walsertal — ein von der UNESCO geschützter Biosphärenpark.'], ], 'zwischenwasser' => [ ['geo', 'Im Laternsertal zwischen Rheintal und Bregenzerwald, drei Ortsteile: Batschuns, Muntlix und Dafins.'], ['kids', 'Zwischenwasser heißt so, weil hier die Bäche aus drei Tälern zusammenfließen.'], ], 'laterns' => [ ['geo', 'Laternsertal auf 870 Metern — eines der sonnenreichsten Täler Vorarlbergs.'], ['kids', 'Im Winter gibt es hier mehr Sonnenstunden als in vielen Tallagen — perfekt zum Skifahren und Rodeln.'], ], 'damuels' => [ ['geo', 'Höchstgelegene Pfarrei Österreichs, 1.430 Meter, am Übergang Walsertal–Bregenzerwald.'], ['kids', 'Damüls ist eines der schneereichsten Dörfer Europas — im Winter fallen manchmal über 10 Meter Schnee.'], ], 'fontanella' => [ ['geo', 'Im Großen Walsertal auf 1.150 Metern, eine der kleinsten Gemeinden Vorarlbergs.'], ['kids', 'Die Leute sprechen hier einen alten Walserdialekt — eine Sprache, die vor 700 Jahren aus dem Wallis mitkam.'], ], 'sonntag' => [ ['geo', 'Gemeinde im Großen Walsertal, 896 Meter, am Bach Lutz.'], ['kids', 'Der Ort heißt Sonntag, weil die ersten Walser-Siedler im 13. Jahrhundert an einem Sonntag angekommen sind.'], ], // --- Bregenzerwald --- 'egg' => [ ['geo', 'Tor zum Bregenzerwald, wo die Subersach in die Bregenzerach mündet.'], ['kids', 'Hier wird der echte Bregenzerwälder Bergkäse aus Heumilch gemacht — ohne Zusatzstoffe.'], ], 'bezau' => [ ['geo', 'Hauptort des Bregenzerwalds, Ausgangspunkt der Käsestraße.'], ['kids', 'Mit der Wälderbahn-Draisine können Kinder selbst auf alten Schienen durch den Wald kurbeln.'], ], 'mellau' => [ ['geo', 'Im Bregenzerwald an der Bregenzerach, Skigebiet mit Verbindung nach Damüls.'], ['kids', 'Die Mellauer Schluchten sind ein Canyoning-Paradies — im Neoprenanzug springt man durch Felskessel.'], ], // --- Montafon / Brandnertal --- 'brand' => [ ['geo', 'Im Brandnertal am Fuß der Zimba, 1.037 Meter Höhe.'], ['kids', 'Oberhalb liegt der Lünersee — einer der größten Bergseen Europas, türkis wie im Karibik-Bild.'], ], 'schruns' => [ ['geo', 'Hauptort des Montafons, 688 Meter, zwischen Verwallgruppe und Rätikon.'], ['kids', 'Beim „Vieh-Scheiden" im Herbst kommen die Kühe geschmückt von der Alm — mit Blumen und großen Glocken.'], ], 'tschagguns' => [ ['geo', 'Direkt gegenüber von Schruns, über der Ill, 687 Meter.'], ['kids', 'Vom Golm sieht man bei klarer Sicht bis zum Säntis in die Schweiz.'], ], 'stgallenk' => [ ['geo', 'Im Montafon auf 880 Metern, Zugang zur Silvretta-Hochalpenstraße.'], ['kids', 'Hinter dem Ort beginnt die Silvretta-Hochalpenstraße mit 34 Kehren bis auf 2.032 Meter.'], ], 'gaschurn' => [ ['geo', 'Im hinteren Montafon auf 980 Metern, am Übergang zur Silvretta.'], ['kids', 'Hier verbrachte schon Albert Einstein einen Sommer — zusammen mit Physikern aus ganz Europa.'], ], // --- Tirol: Innsbruck, Inntal, Zillertal --- 'innsbruck' => [ ['geo', 'Tiroler Landeshauptstadt im Inntal, 574 Meter, umgeben von Nordkette und Patscherkofel.'], ['kids', 'Innsbruck war dreimal Olympia-Stadt (1964, 1976, 2012) — keine andere Stadt hat das öfter.'], ], 'hall' => [ ['geo', 'Inn-Stadt östlich von Innsbruck, durch Salzabbau im Mittelalter reich geworden.'], ['kids', 'In Hall wurde vor über 500 Jahren die erste runde Silbermünze der Welt geprägt.'], ], 'schwaz' => [ ['geo', 'Silberbergbau-Stadt im Inntal, im 16. Jahrhundert zweitgrößte Stadt Tirols.'], ['kids', 'Im Silberbergwerk fahren Besucher mit einer Grubenbahn tief in den Berg — in Gänge, die vor 500 Jahren von Bergleuten in den Fels gemeißelt wurden.'], ], 'telfs' => [ ['geo', 'Westliche Inntal-Gemeinde am Fuß der Hohen Munde, 634 Meter.'], ['kids', 'Alle fünf Jahre ziehen beim Schleicherlaufen Männer mit riesigen, zentnerschweren Masken durch die Straßen.'], ], 'imst' => [ ['geo', 'Am Ausgang des Pitztals, auf der Sonnenterrasse über dem Inntal.'], ['kids', 'Die Imster Alpen-Achterbahn ist 3,5 Kilometer lang und saust mit bis zu 80 km/h den Berg hinunter.'], ], 'landeck' => [ ['geo', 'Dort, wo Inn und Sanna zusammenfließen, Tor zum Paznauntal.'], ['kids', 'Die Burg Landeck thront auf einem Felsen über der Stadt — vor 700 Jahren wohnten hier Ritter.'], ], 'jenbach' => [ ['geo', 'Am Eingang zum Zillertal, Knotenpunkt von Achenseebahn und Zillertalbahn.'], ['kids', 'Hier fährt die letzte Dampf-Zahnradbahn Europas — mit Zahnrad-Schienen steil bergauf zum Achensee.'], ], 'kufstein' => [ ['geo', 'Grenzstadt zu Bayern, 503 Meter, direkt am Inn.'], ['kids', 'Auf der Festung Kufstein spielt die größte Freiluft-Orgel der Welt jeden Mittag 12 Uhr.'], ], 'woergl' => [ ['geo', 'Im Unterinntal, großer Eisenbahnknotenpunkt.'], ['kids', 'Durch Wörgl fahren jeden Tag über 200 Güterzüge — mehr als durch jeden anderen Ort Tirols.'], ], 'mayrhofen' => [ ['geo', 'Am Ende des Zillertals auf 633 Metern, umgeben von den Zillertaler Alpen.'], ['kids', 'Die „Harakiri"-Piste am Penken hat 78 Prozent Gefälle — die steilste Skipiste der Welt.'], ], 'zell_ziller' => [ ['geo', 'Am Eingang zum Zillertal, 575 Meter.'], ['kids', 'Die Pfarrkirche von Zell heißt „Zillertaler Dom" — und ihr Inneres glänzt wie echtes Gold.'], ], // --- Ötztal --- 'soelden' => [ ['geo', 'Im Ötztal auf 1.377 Metern, größter Gletscherskiort Österreichs.'], ['kids', 'Auf dem Rettenbachferner kann man das ganze Jahr Ski fahren — auch mitten im Sommer.'], ], 'oetz' => [ ['geo', 'Eingangsgemeinde des Ötztals, 820 Meter, am Fuß des Acherkogels.'], ['kids', 'Das Ötztal ist nach dem Ort benannt — und hier fand man 1991 den 5.300 Jahre alten Eismann Ötzi.'], ], ]; $stmt = $db->prepare("INSERT INTO geo_waypoint_facts (wp_key, kind, text_de, display_order) VALUES (?, ?, ?, ?)"); $inserted = 0; foreach ($facts as $wp_key => $items) { $order = 0; foreach ($items as [$kind, $text]) { $stmt->execute([$wp_key, $kind, $text, ++$order]); $inserted++; } } echo json_encode([ 'ok' => true, 'schema_created' => true, 'waypoints_covered' => count($facts), 'facts_inserted' => $inserted, ], JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);