1e51ef7def
- Konzept/, didaktik_geografie/, didaktik_simulation/, v2-modules/, v2-platform/ - 12 code-workspace-Files - STATUS-*.md - viele M/D/R-Änderungen an bereits getrackten Files - .gitignore verstärkt: **/.humaninput/, **/secret_keys.txt Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
149 lines
14 KiB
PHP
149 lines
14 KiB
PHP
<?php
|
|
/**
|
|
* Fügt die Österreich-weiten Waypoints in geo_waypoints ein (Basen, Städte,
|
|
* Seen, Gipfel, Autobahn-Einsatzstellen) — idempotent via ON DUPLICATE KEY.
|
|
*
|
|
* Aufruf: http://localhost/geograsim/App/php/seed-waypoints-austria.php
|
|
*
|
|
* Nach dem Seed: regen-waypoints-sql.php aufrufen, damit waypoints.sql
|
|
* synchron bleibt.
|
|
*/
|
|
require_once __DIR__ . '/config/db.php';
|
|
header('Content-Type: text/plain; charset=utf-8');
|
|
|
|
// Format: [wp_key, name, lat, lon, region, wp_type, info]
|
|
// Quellen: OSM/Nominatim, Geo-Atlas.
|
|
$WP = [
|
|
|
|
// ===== BASEN (Christophorus + ARA + Heli Austria) =====
|
|
['krems_c2', 'C2 Krems', 48.43194, 15.62556, 'niederoesterreich', 'base', 'Flugplatz Gneixendorf bei Krems, '],
|
|
['wr_neustadt_c3', 'C3 Wiener Neustadt', 47.84278, 16.26472, 'niederoesterreich', 'base', 'Flugplatz Wr. Neustadt Ost, '],
|
|
['salzburg_c6', 'C6 Salzburg', 47.79367, 13.00433, 'salzburg', 'base', 'Flughafen Salzburg, '],
|
|
['wien_c9', 'C9 Wien', 48.22220, 16.50470, 'wien', 'base', 'Wien-Aspern, '],
|
|
['linz_c10', 'C10 Linz', 48.23306, 14.18722, 'oberoesterreich', 'base', 'Flughafen Linz-Hörsching, '],
|
|
['klagenfurt_c11', 'C11 Klagenfurt', 46.64278, 14.33778, 'kaernten', 'base', 'Flughafen Klagenfurt, '],
|
|
['graz_c12', 'C12 Graz', 46.99111, 15.43944, 'steiermark', 'base', 'Flughafen Graz-Thalerhof, '],
|
|
['oberwart_c16', 'C16 Oberwart', 47.28278, 16.19333, 'burgenland', 'base', 'Flugplatz Pinkafeld/Oberwart, '],
|
|
['niederoeblarn_c14','C14 Niederöblarn', 47.50750, 14.01056, 'steiermark', 'base', 'Flugplatz Niederöblarn, '],
|
|
|
|
// ===== WIEN / NIEDERÖSTERREICH =====
|
|
['wien', 'Wien (Stephansplatz)', 48.20850, 16.37190, 'wien', 'city', 'Hauptstadt, 1,9 Mio Einwohner*innen.'],
|
|
['wien_donau', 'Neue Donau Wien', 48.24000, 16.42000, 'wien', 'village', 'Erholungsgebiet am Hochwasserarm der Donau.'],
|
|
['wr_neustadt', 'Wiener Neustadt', 47.81350, 16.24000, 'niederoesterreich', 'city', 'Zweitgrößte Stadt Niederösterreichs.'],
|
|
['baden', 'Baden bei Wien', 48.00680, 16.23400, 'niederoesterreich', 'city', 'Kurstadt südlich von Wien, an der A2.'],
|
|
['moedling', 'Mödling', 48.08670, 16.28370, 'niederoesterreich', 'city', 'An der Südbahn, Wiener Alpen.'],
|
|
['krems', 'Krems an der Donau', 48.40900, 15.61000, 'niederoesterreich', 'city', 'Weinbau-Zentrum Wachau, UNESCO-Welterbe.'],
|
|
['st_poelten', 'St. Pölten', 48.20470, 15.62560, 'niederoesterreich', 'city', 'Landeshauptstadt Niederösterreichs.'],
|
|
['semmering', 'Semmering', 47.64310, 15.83330, 'niederoesterreich', 'village', 'Pass zwischen NÖ und Stmk, Weltkulturerbe-Bahn.'],
|
|
['schneeberg', 'Schneeberg (Gipfel)', 47.76670, 15.80670, 'niederoesterreich', 'peak', 'Höchster Berg Niederösterreichs, 2076 m.'],
|
|
['rax', 'Rax (Gipfel)', 47.70970, 15.71860, 'niederoesterreich', 'peak', 'Wanderberg bei Wien, Plateau 2007 m.'],
|
|
['gutenstein', 'Gutenstein', 47.87190, 15.88190, 'niederoesterreich', 'village', 'Wiener Alpen, Wallfahrtsort.'],
|
|
['puchberg', 'Puchberg am Schneeberg', 47.78250, 15.90830, 'niederoesterreich', 'village', 'Bahnhof der Schneebergbahn.'],
|
|
|
|
// ===== BURGENLAND =====
|
|
['oberwart', 'Oberwart', 47.28330, 16.21670, 'burgenland', 'city', 'Bezirkshauptstadt Südburgenland.'],
|
|
['mattersburg', 'Mattersburg', 47.73330, 16.40000, 'burgenland', 'city', 'Wein- und Handelsstadt Nordburgenland.'],
|
|
['eisenstadt', 'Eisenstadt', 47.84500, 16.52330, 'burgenland', 'city', 'Landeshauptstadt Burgenland, Haydn-Stadt.'],
|
|
['neusiedl', 'Neusiedl am See', 47.95000, 16.84310, 'burgenland', 'city', 'Am Nordufer des Neusiedler Sees.'],
|
|
['podersdorf', 'Podersdorf am See', 47.85030, 16.83310, 'burgenland', 'village', 'Bade- und Windsurfort am Neusiedler See.'],
|
|
['rust', 'Rust', 47.80000, 16.67500, 'burgenland', 'village', 'Freistadt, bekannt für Störche.'],
|
|
|
|
// ===== OBERÖSTERREICH =====
|
|
['linz', 'Linz', 48.30690, 14.28580, 'oberoesterreich', 'city', 'Landeshauptstadt, Donau, Industriestandort.'],
|
|
['wels', 'Wels', 48.15940, 14.02360, 'oberoesterreich', 'city', 'Messestadt, zweitgrößte Stadt OÖ.'],
|
|
['sattledt', 'Sattledt', 48.06670, 14.03440, 'oberoesterreich', 'village', 'A1/A8-Knoten, Verkehrsdrehscheibe.'],
|
|
['gmunden', 'Gmunden', 47.91780, 13.80000, 'oberoesterreich', 'city', 'Am Nordufer des Traunsees, Traunstein-Blick.'],
|
|
['traunsee', 'Traunsee (Seemitte)', 47.87610, 13.82920, 'oberoesterreich', 'village', 'Salzkammergut-See, max. 191 m tief.'],
|
|
['hallstatt', 'Hallstatt', 47.56220, 13.64890, 'oberoesterreich', 'village', 'UNESCO-Welterbe, ältestes Salzbergwerk der Welt.'],
|
|
['bad_ischl', 'Bad Ischl', 47.71080, 13.62580, 'oberoesterreich', 'city', 'Kaiserstadt, Salzkammergut-Zentrum.'],
|
|
['dachstein', 'Dachstein (Gipfel)', 47.47500, 13.60640, 'oberoesterreich', 'peak', 'Hoher Dachstein 2995 m, Gletscher.'],
|
|
|
|
// ===== SALZBURG =====
|
|
['salzburg', 'Salzburg', 47.80950, 13.05500, 'salzburg', 'city', 'Mozartstadt, Festspielstadt, UNESCO-Welterbe.'],
|
|
['hallein', 'Hallein', 47.68360, 13.09700, 'salzburg', 'city', 'Salzabbau Dürrnberg, Stille-Nacht.'],
|
|
['golling', 'Golling an der Salzach', 47.59310, 13.17170, 'salzburg', 'city', 'Salzachklamm, A10-Anschluss, Tennengebirge.'],
|
|
['flachau', 'Flachau', 47.34500, 13.38970, 'salzburg', 'city', 'Skiort, Anschluss A10 vor Tauerntunnel-Nordportal.'],
|
|
['st_wolfgang', 'St. Wolfgang', 47.73920, 13.44280, 'salzburg', 'village', 'Wallfahrt, Schafbergbahn, Wolfgangsee.'],
|
|
['zell_see', 'Zell am See', 47.32310, 12.79360, 'salzburg', 'city', 'Pinzgau, Zeller See, Schmittenhöhe.'],
|
|
['kaprun', 'Kaprun', 47.27080, 12.75310, 'salzburg', 'village', 'Kitzsteinhorn-Gletscher, Stauseen.'],
|
|
['lofer', 'Lofer', 47.58690, 12.69330, 'salzburg', 'village', 'Pinzgauer Grenzort, Steinernes Meer.'],
|
|
['grossglockner', 'Großglockner (Gipfel)', 47.07440, 12.69390, 'salzburg', 'peak', 'Höchster Berg Österreichs, 3798 m.'],
|
|
['wolfgangsee', 'Wolfgangsee (Seemitte)', 47.74500, 13.40000, 'salzburg', 'village', 'Salzkammergut-See zwischen Stmk/Sbg/OÖ.'],
|
|
|
|
// ===== STEIERMARK =====
|
|
['graz', 'Graz', 47.07070, 15.43940, 'steiermark', 'city', 'Landeshauptstadt, UNESCO-Altstadt.'],
|
|
['leoben', 'Leoben', 47.38310, 15.09060, 'steiermark', 'city', 'Obersteiermark, Montanuniversität.'],
|
|
['bruck_mur', 'Bruck an der Mur', 47.41060, 15.27310, 'steiermark', 'city', 'Knotenpunkt Mur-/Mürztal.'],
|
|
['schladming', 'Schladming', 47.39440, 13.68330, 'steiermark', 'city', 'Ski- und WM-Ort, Planai.'],
|
|
['mariazell', 'Mariazell', 47.77500, 15.31670, 'steiermark', 'village', 'Größter Wallfahrtsort Mitteleuropas.'],
|
|
['hochschwab', 'Hochschwab (Gipfel)', 47.61810, 15.14830, 'steiermark', 'peak', 'Obersteirischer Wallfahrts- und Wanderberg, 2277 m.'],
|
|
['niederoeblarn', 'Niederöblarn', 47.50750, 14.01060, 'steiermark', 'village', 'Ennstal, Flugsportzentrum.'],
|
|
['bad_aussee', 'Bad Aussee', 47.60920, 13.78250, 'steiermark', 'city', 'Zentrum des Ausseerlandes.'],
|
|
['grundlsee', 'Grundlsee', 47.62860, 13.82280, 'steiermark', 'village', '„Steirisches Meer", Ausseerland.'],
|
|
|
|
// ===== KÄRNTEN =====
|
|
['klagenfurt', 'Klagenfurt', 46.62450, 14.30830, 'kaernten', 'city', 'Landeshauptstadt, Lindwurm.'],
|
|
['villach', 'Villach', 46.61060, 13.85580, 'kaernten', 'city', 'Zweitgrößte Stadt Kärntens, Dreiländereck.'],
|
|
['poertschach', 'Pörtschach am Wörthersee', 46.64310, 14.14860, 'kaernten', 'village', 'Badeort am Wörthersee.'],
|
|
['velden', 'Velden am Wörthersee', 46.61360, 14.03940, 'kaernten', 'village', 'Mondäner Badeort am West-Wörthersee.'],
|
|
['spittal', 'Spittal an der Drau', 46.80060, 13.49640, 'kaernten', 'city', 'Oberkärnten, Drau-Tal.'],
|
|
['millstatt', 'Millstatt am See', 46.80250, 13.56920, 'kaernten', 'village', 'Barockes Kloster am Millstätter See.'],
|
|
['heiligenblut', 'Heiligenblut', 47.04000, 12.84420, 'kaernten', 'village', 'Fuß des Großglockners, Wallfahrtsort.'],
|
|
['woerthersee', 'Wörthersee (Seemitte)', 46.62500, 14.14500, 'kaernten', 'village', 'Größter See Kärntens, bis zu 28 °C Badewasser.'],
|
|
|
|
// ===== AUTOBAHN/STRASSE-EINSATZSTELLEN (Ziele) =====
|
|
['verkehr_a2_baden', 'Unfall A2 Baden', 47.99530, 16.24450, 'niederoesterreich', 'target', 'Schwerer Unfall Südautobahn bei Baden.'],
|
|
['verkehr_a1_sattledt', 'Unfall A1 Sattledt', 48.06670, 14.03440, 'oberoesterreich', 'target', 'Massenkarambolage Westautobahn-Knoten Sattledt.'],
|
|
['verkehr_a10_tauern', 'Unfall A10 Tauerntunnel', 47.26500, 13.47670, 'salzburg', 'target', 'LKW-Unfall Tauern-Autobahn zwischen Flachau und Zederhaus.'],
|
|
['verkehr_a9_pyhrn', 'Unfall A9 Bosruck', 47.50330, 14.33330, 'steiermark', 'target', 'Unfall Pyhrn-Autobahn nahe Bosrucktunnel.'],
|
|
['verkehr_s6_semmering','Unfall S6 Semmering', 47.60000, 15.90000, 'steiermark', 'target', 'Schneeglätte-Unfall Semmering-Schnellstraße.'],
|
|
['verkehr_a2_klagenfurt','Unfall A2 bei Klagenfurt', 46.65000, 14.30000, 'kaernten', 'target', 'Auffahrunfall Südautobahn bei Klagenfurt-Ost.'],
|
|
|
|
// ===== GEBIRGSUNFÄLLE (Ziele) =====
|
|
['berg_schneeberg', 'Bergunfall Schneeberg', 47.77000, 15.80000, 'niederoesterreich', 'target', 'Kletterunfall am Schneeberg-Nordgrat.'],
|
|
['berg_rax', 'Wanderunfall Rax', 47.71000, 15.72000, 'niederoesterreich', 'target', 'Wanderunfall am Raxplateau.'],
|
|
['berg_wechsel', 'Bergunfall Wechsel', 47.60330, 15.91500, 'niederoesterreich', 'target', 'Wanderunfall am Hochwechsel.'],
|
|
['berg_dachstein', 'Bergrettung Dachstein', 47.47500, 13.60500, 'oberoesterreich', 'target', 'Absturz am Dachstein-Südwandsteig.'],
|
|
['berg_hochschwab', 'Bergrettung Hochschwab', 47.61810, 15.14830, 'steiermark', 'target', 'Alpinunfall Hochschwab-Massiv.'],
|
|
['berg_glockner', 'Bergrettung Großglockner', 47.07440, 12.69390, 'kaernten', 'target', 'Absturz im Gipfelbereich Großglockner.'],
|
|
['berg_tennengebirge', 'Bergrettung Tennengebirge', 47.55000, 13.30000, 'salzburg', 'target', 'Bergeinsatz Tennengebirge.'],
|
|
|
|
// ===== SEE-/WASSEREINSÄTZE (Ziele) =====
|
|
['see_neusiedl', 'Seerettung Neusiedler See', 47.85030, 16.77000, 'burgenland', 'target', 'Surfer*in in Seenot vor Podersdorf.'],
|
|
['see_woerth', 'Seerettung Wörthersee', 46.64310, 14.14860, 'kaernten', 'target', 'Badegast in Seenot vor Pörtschach.'],
|
|
['see_wolfgang', 'Seerettung Wolfgangsee', 47.74500, 13.43000, 'salzburg', 'target', 'Segler*in gekentert am Wolfgangsee.'],
|
|
['see_traun', 'Seerettung Traunsee', 47.87610, 13.82920, 'oberoesterreich', 'target', 'Boot in Not auf dem Traunsee.'],
|
|
['see_hallstatt', 'Seerettung Hallstätter See', 47.56220, 13.66000, 'oberoesterreich', 'target', 'Taucher*in in Seenot, Hallstätter See.'],
|
|
['see_donau_wien', 'Donau-Rettung Wien', 48.24000, 16.42000, 'wien', 'target', 'Schwimmer*in in Sog der Neuen Donau.'],
|
|
['see_millstatt', 'Seerettung Millstätter See', 46.80000, 13.59000, 'kaernten', 'target', 'Segelboot gekentert, Millstätter See.'],
|
|
];
|
|
|
|
try {
|
|
$db = getDB();
|
|
|
|
$sql = "INSERT INTO geo_waypoints (wp_key, name, lat, lon, region, wp_type, info)
|
|
VALUES (:wp_key, :name, :lat, :lon, :region, :wp_type, :info)
|
|
ON DUPLICATE KEY UPDATE
|
|
name=VALUES(name), lat=VALUES(lat), lon=VALUES(lon),
|
|
region=VALUES(region), wp_type=VALUES(wp_type), info=VALUES(info)";
|
|
$stmt = $db->prepare($sql);
|
|
|
|
$inserted = 0;
|
|
foreach ($WP as $r) {
|
|
$stmt->execute([
|
|
':wp_key' => $r[0], ':name' => $r[1],
|
|
':lat' => $r[2], ':lon' => $r[3],
|
|
':region' => $r[4], ':wp_type' => $r[5], ':info' => $r[6],
|
|
]);
|
|
$inserted++;
|
|
}
|
|
|
|
$total = $db->query("SELECT COUNT(*) FROM geo_waypoints")->fetchColumn();
|
|
echo "OK — $inserted Waypoints gesetzt (insert/update). Tabelle hat jetzt $total Einträge.\n";
|
|
echo "Nächster Schritt: regen-waypoints-sql.php aufrufen, damit waypoints.sql synchron bleibt.\n";
|
|
|
|
} catch (PDOException $e) {
|
|
http_response_code(500);
|
|
exit("Fehler: " . $e->getMessage() . "\n");
|
|
}
|