Militaerschiff-Datenbank: 20 Marinen, 80+ Schiffsklassen
Abgedeckte Marinen: USA (13 Klassen: Nimitz, Ford, Arleigh-Burke, Ticonderoga, Wasp, America, Virginia, Ohio, LCS, San Antonio, Constellation...) Russland (11: Kuznetsov, Gorshkov, Grigorovich, Udaloy, Kirov, Slava, Borei, Yasen, Kilo, Karakurt, Ivan Gren) China (7: Liaoning/Shandong/Fujian, 052D, 055, 054A, 075, 071, 093/094) UK (6: Queen Elizabeth, Type 45, Type 23, Astute, Vanguard, Albion) Frankreich (6: CDG, FREMM, Horizon, Mistral, Suffren, Triomphant) Deutschland (6: F125, F124, K130, 212A, EGV, F514) Japan (7: Izumo, Hyuga, Maya, Atago, Kongo, Mogami, Soryu) Indien (4: Vikrant, Kolkata, Shivalik, Kamorta) Suedkorea (3: Dokdo, Sejong, Chungmugong) Australien (3: Canberra, Hobart, Anzac) Italien (3: Cavour, Bergamini, Orizzonte) + Tuerkei, Israel, Norwegen, Niederlande, Spanien, Aegypten, Singapur Keyword-Matching nach Schiffsname + MMSI-Laendercode. Bilder aus Wikimedia Commons fuer Hauptklassen.
Dieser Commit ist enthalten in:
@@ -114,89 +114,337 @@ MID_COUNTRIES = {
|
|||||||
"679": "Simbabwe",
|
"679": "Simbabwe",
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bekannte Militaerschiff-Klassen mit Bildern (Wikimedia Commons)
|
# Schiffsklassen nach Land mit Wikimedia-Bildern
|
||||||
MILITARY_SHIP_DB = {
|
# Jede Klasse: (Keywords im Namen, Klassenname, Typ, Bild-URL)
|
||||||
# Format: MMSI-Prefix oder exakte MMSI -> Schiffsdaten
|
SHIP_CLASSES = {
|
||||||
# USA (MMSI 338*, 366-369*)
|
# === USA (338, 366-369) ===
|
||||||
"_class_usa_carrier": {
|
"USA": [
|
||||||
"class": "Nimitz/Gerald R. Ford-Klasse",
|
(["CVN","NIMITZ","LINCOLN","WASHINGTON","STENNIS","VINSON","TRUMAN","EISENHOWER","REAGAN","ROOSEVELT","BUSH","CARL VINSON"],
|
||||||
"type": "Flugzeugtraeger",
|
"Nimitz-Klasse", "Flugzeugtraeger",
|
||||||
"country": "USA",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/USS_Abraham_Lincoln_%28CVN-72%29_closeup.jpg/640px-USS_Abraham_Lincoln_%28CVN-72%29_closeup.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/USS_Abraham_Lincoln_%28CVN-72%29_closeup.jpg/640px-USS_Abraham_Lincoln_%28CVN-72%29_closeup.jpg",
|
(["FORD","KENNEDY","ENTERPRISE CVN"],
|
||||||
},
|
"Gerald R. Ford-Klasse", "Flugzeugtraeger",
|
||||||
"_class_usa_destroyer": {
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/USS_Gerald_R._Ford_%28CVN-78%29_underway_on_8_June_2017.jpg/640px-USS_Gerald_R._Ford_%28CVN-78%29_underway_on_8_June_2017.jpg"),
|
||||||
"class": "Arleigh-Burke-Klasse",
|
(["DDG","ARLEIGH","BURKE"],
|
||||||
"type": "Zerstoerer",
|
"Arleigh-Burke-Klasse", "Zerstoerer",
|
||||||
"country": "USA",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/US_Navy_050715-N-8163B-003.jpg/640px-US_Navy_050715-N-8163B-003.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/ab/US_Navy_050715-N-8163B-003.jpg/640px-US_Navy_050715-N-8163B-003.jpg",
|
(["CG","TICONDEROGA","BUNKER HILL","SHILOH","ANTIETAM","LAKE ERIE","CHANCELLORSVILLE"],
|
||||||
},
|
"Ticonderoga-Klasse", "Kreuzer",
|
||||||
"_class_russia_frigate": {
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/0/06/CG-53_Mobile_Bay.jpg/640px-CG-53_Mobile_Bay.jpg"),
|
||||||
"class": "Admiral Gorshkov-Klasse",
|
(["LHD","WASP","ESSEX","MAKIN","BATAAN","BONHOMME","KEARSARGE","BOXER","IWO JIMA"],
|
||||||
"type": "Fregatte",
|
"Wasp-Klasse", "Amphibisches Angriffsschiff",
|
||||||
"country": "Russland",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/5c/USS_Wasp_%28LHD-1%29.jpg/640px-USS_Wasp_%28LHD-1%29.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Admiral_Gorshkov_frigate.jpg/640px-Admiral_Gorshkov_frigate.jpg",
|
(["LHA","AMERICA","TRIPOLI","BOUGAINVILLE"],
|
||||||
},
|
"America-Klasse", "Amphibisches Angriffsschiff",
|
||||||
"_class_china_destroyer": {
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/USS_America_%28LHA-6%29_off_Pascagoula_2013.JPG/640px-USS_America_%28LHA-6%29_off_Pascagoula_2013.JPG"),
|
||||||
"class": "Type 052D",
|
(["SSN","VIRGINIA","LOS ANGELES","SEAWOLF","CONNECTICUT","JIMMY CARTER"],
|
||||||
"type": "Zerstoerer",
|
"Virginia/Los Angeles-Klasse", "Atom-U-Boot",
|
||||||
"country": "China",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1e/USS_Virginia_%28SSN-774%29.jpg/640px-USS_Virginia_%28SSN-774%29.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/9/90/Type_052D_Kunming.jpg/640px-Type_052D_Kunming.jpg",
|
(["SSBN","OHIO","COLUMBIA"],
|
||||||
},
|
"Ohio-Klasse", "Strategisches Atom-U-Boot (SSBN)",
|
||||||
"_class_uk_carrier": {
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/USS_Ohio_%28SSGN-726%29.jpg/640px-USS_Ohio_%28SSGN-726%29.jpg"),
|
||||||
"class": "Queen Elizabeth-Klasse",
|
(["LCS","FREEDOM","INDEPENDENCE","LITTORAL"],
|
||||||
"type": "Flugzeugtraeger",
|
"Freedom/Independence-Klasse", "Littoral Combat Ship",
|
||||||
"country": "UK",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/USS_Freedom_%28LCS-1%29.jpg/640px-USS_Freedom_%28LCS-1%29.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/HMS_Queen_Elizabeth_in_Gibraltar_-_2018_%2828386226189%29.jpg/640px-HMS_Queen_Elizabeth_in_Gibraltar_-_2018_%2828386226189%29.jpg",
|
(["FFG","CONSTELLATION"],
|
||||||
},
|
"Constellation-Klasse", "Fregatte",
|
||||||
"_class_germany_frigate": {
|
""),
|
||||||
"class": "Baden-Wuerttemberg-Klasse (F125)",
|
(["LPD","SAN ANTONIO","PORTLAND","ANCHORAGE","ARLINGTON"],
|
||||||
"type": "Fregatte",
|
"San Antonio-Klasse", "Amphibisches Transportschiff",
|
||||||
"country": "Deutschland",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/USS_San_Antonio_LPD-17.jpg/640px-USS_San_Antonio_LPD-17.jpg"),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Fregatte_Baden-W%C3%BCrttemberg_F222_%28cropped%29.jpg/640px-Fregatte_Baden-W%C3%BCrttemberg_F222_%28cropped%29.jpg",
|
(["MCM","AVENGER"],
|
||||||
},
|
"Avenger-Klasse", "Minenjaeger",
|
||||||
"_class_france_carrier": {
|
""),
|
||||||
"class": "Charles de Gaulle (R91)",
|
(["T-AO","T-AKE","T-ESB","LEWIS","SUPPLY"],
|
||||||
"type": "Flugzeugtraeger",
|
"Supply/Lewis-Klasse", "Versorgungsschiff",
|
||||||
"country": "Frankreich",
|
""),
|
||||||
"image": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Charles_De_Gaulle_PEO.jpg/640px-Charles_De_Gaulle_PEO.jpg",
|
],
|
||||||
},
|
# === Russland (273) ===
|
||||||
"_class_default_military": {
|
"Russland": [
|
||||||
"class": "Militaerschiff",
|
(["KUZNETSOV","ADMIRAL KUZNETSOV"],
|
||||||
"type": "Unbekannt",
|
"Admiral Kuznetsov", "Flugzeugtraeger",
|
||||||
"country": "",
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Admiral_Kuznetsov_aircraft_carrier.jpg/640px-Admiral_Kuznetsov_aircraft_carrier.jpg"),
|
||||||
"image": "",
|
(["GORSHKOV","KASATONOV","GOLOVKO","ISAKOV"],
|
||||||
},
|
"Admiral Gorshkov-Klasse (Pr. 22350)", "Fregatte",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Admiral_Gorshkov_frigate.jpg/640px-Admiral_Gorshkov_frigate.jpg"),
|
||||||
|
(["GRIGOROVICH","ESSEN","MAKAROV"],
|
||||||
|
"Admiral Grigorovich-Klasse (Pr. 11356)", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["UDALOY","SEVEROMORSK","LEVCHENKO","CHABANENKO"],
|
||||||
|
"Udaloy-Klasse (Pr. 1155)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["KIROV","PYOTR","NAKHIMOV"],
|
||||||
|
"Kirov-Klasse (Pr. 1144)", "Schlachtkreuzer",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/080118-N-0000X-001_Kirov-class_battlecruiser.jpg/640px-080118-N-0000X-001_Kirov-class_battlecruiser.jpg"),
|
||||||
|
(["SLAVA","MOSKVA","MARSHAL","VARYAG"],
|
||||||
|
"Slava-Klasse (Pr. 1164)", "Raketenkreuzer",
|
||||||
|
""),
|
||||||
|
(["BOREI","YURI DOLGORUKIY","KNYAZ","GENERALISSIMUS"],
|
||||||
|
"Borei-Klasse (Pr. 955)", "Strategisches Atom-U-Boot (SSBN)",
|
||||||
|
""),
|
||||||
|
(["YASEN","SEVERODVINSK","KAZAN","NOVOSIBIRSK"],
|
||||||
|
"Yasen-Klasse (Pr. 885)", "Atom-U-Boot (SSGN)",
|
||||||
|
""),
|
||||||
|
(["KILO","ROSTOV","NOVOROSSIYSK","VARSHAVYANKA"],
|
||||||
|
"Kilo-Klasse (Pr. 636)", "Diesel-U-Boot",
|
||||||
|
""),
|
||||||
|
(["KARAKURT","BUYAN"],
|
||||||
|
"Karakurt/Buyan-Klasse", "Korvette",
|
||||||
|
""),
|
||||||
|
(["IVAN GREN","PYOTR MORGUNOV"],
|
||||||
|
"Ivan Gren-Klasse", "Landungsschiff",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === China (412-414) ===
|
||||||
|
"China": [
|
||||||
|
(["LIAONING","SHANDONG","FUJIAN"],
|
||||||
|
"Liaoning/Shandong/Fujian", "Flugzeugtraeger",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Liaoning_aircraft_carrier_Nov_2012.jpg/640px-Liaoning_aircraft_carrier_Nov_2012.jpg"),
|
||||||
|
(["052D","KUNMING","CHANGSHA","HEFEI","YINCHUAN"],
|
||||||
|
"Type 052D", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["055","NANCHANG","LHASA","DALIAN","ANSHAN"],
|
||||||
|
"Type 055 Renhai-Klasse", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["054A","XUZHOU","HUANGGANG","YANCHENG"],
|
||||||
|
"Type 054A Jiangkai-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["075","HAINAN","GUANGXI","ANHUI"],
|
||||||
|
"Type 075", "Amphibisches Angriffsschiff",
|
||||||
|
""),
|
||||||
|
(["071","KUNLUNSHAN","JINGGANG"],
|
||||||
|
"Type 071 Yuzhao-Klasse", "Landungsschiff",
|
||||||
|
""),
|
||||||
|
(["093","094","095","096"],
|
||||||
|
"Type 093/094", "Atom-U-Boot",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === UK (232-235) ===
|
||||||
|
"UK": [
|
||||||
|
(["QUEEN ELIZABETH","PRINCE OF WALES"],
|
||||||
|
"Queen Elizabeth-Klasse", "Flugzeugtraeger",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/HMS_Queen_Elizabeth_in_Gibraltar_-_2018_%2828386226189%29.jpg/640px-HMS_Queen_Elizabeth_in_Gibraltar_-_2018_%2828386226189%29.jpg"),
|
||||||
|
(["DARING","DRAGON","DIAMOND","DEFENDER","DUNCAN","DAUNTLESS"],
|
||||||
|
"Type 45 Daring-Klasse", "Zerstoerer",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/2/23/HMS_Daring-1.jpg/640px-HMS_Daring-1.jpg"),
|
||||||
|
(["DUKE","IRON DUKE","LANCASTER","RICHMOND","SUTHERLAND","PORTLAND","KENT","WESTMINSTER","NORTHUMBERLAND","ARGYLL","MONTROSE","ST ALBANS"],
|
||||||
|
"Type 23 Duke-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["ASTUTE","AMBUSH","ARTFUL","AUDACIOUS","ANSON","AGAMEMNON"],
|
||||||
|
"Astute-Klasse", "Atom-U-Boot (SSN)",
|
||||||
|
""),
|
||||||
|
(["VANGUARD","VICTORIOUS","VIGILANT","VENGEANCE"],
|
||||||
|
"Vanguard-Klasse", "Strategisches Atom-U-Boot (SSBN)",
|
||||||
|
""),
|
||||||
|
(["ALBION","BULWARK"],
|
||||||
|
"Albion-Klasse", "Amphibisches Transportschiff",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Frankreich (226-228) ===
|
||||||
|
"Frankreich": [
|
||||||
|
(["CHARLES DE GAULLE","CDG"],
|
||||||
|
"Charles de Gaulle (R91)", "Flugzeugtraeger",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/7/75/Charles_De_Gaulle_PEO.jpg/640px-Charles_De_Gaulle_PEO.jpg"),
|
||||||
|
(["FREMM","AQUITAINE","NORMANDIE","PROVENCE","LANGUEDOC","AUVERGNE","BRETAGNE","ALSACE","LORRAINE"],
|
||||||
|
"FREMM-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["HORIZON","FORBIN","CHEVALIER PAUL"],
|
||||||
|
"Horizon-Klasse", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["MISTRAL","TONNERRE","DIXMUDE"],
|
||||||
|
"Mistral-Klasse", "Hubschraubertraeger",
|
||||||
|
""),
|
||||||
|
(["SUFFREN","DUGUAY"],
|
||||||
|
"Suffren-Klasse (Barracuda)", "Atom-U-Boot (SSN)",
|
||||||
|
""),
|
||||||
|
(["TRIOMPHANT","TEMERAIRE","VIGILANT FR","TERRIBLE"],
|
||||||
|
"Triomphant-Klasse", "Strategisches Atom-U-Boot (SSBN)",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Deutschland (211, 218) ===
|
||||||
|
"Deutschland": [
|
||||||
|
(["BADEN","NORDRHEIN","SACHSEN-ANHALT","RHEINLAND"],
|
||||||
|
"Baden-Wuerttemberg-Klasse (F125)", "Fregatte",
|
||||||
|
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Fregatte_Baden-W%C3%BCrttemberg_F222_%28cropped%29.jpg/640px-Fregatte_Baden-W%C3%BCrttemberg_F222_%28cropped%29.jpg"),
|
||||||
|
(["SACHSEN","HAMBURG","HESSEN"],
|
||||||
|
"Sachsen-Klasse (F124)", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["BRAUNSCHWEIG","MAGDEBURG","ERFURT","OLDENBURG","LUDWIGSHAFEN"],
|
||||||
|
"Braunschweig-Klasse (K130)", "Korvette",
|
||||||
|
""),
|
||||||
|
(["U31","U32","U33","U34","U35","U36"],
|
||||||
|
"Klasse 212A", "U-Boot",
|
||||||
|
""),
|
||||||
|
(["BONN","FRANKFURT","BERLIN FGS"],
|
||||||
|
"Berlin-Klasse (EGV)", "Einsatzgruppenversorger",
|
||||||
|
""),
|
||||||
|
(["ELBE","MOSEL","RHEIN","DONAU","MAIN","WERRA"],
|
||||||
|
"Elbe-Klasse (F514)", "Flottendienstboot",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Japan (431-432) ===
|
||||||
|
"Japan": [
|
||||||
|
(["IZUMO","KAGA JS"],
|
||||||
|
"Izumo-Klasse", "Hubschraubertraeger/Leichter Traeger",
|
||||||
|
""),
|
||||||
|
(["HYUGA","ISE JS"],
|
||||||
|
"Hyuga-Klasse", "Hubschraubertraeger",
|
||||||
|
""),
|
||||||
|
(["MAYA","HAGURO"],
|
||||||
|
"Maya-Klasse", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["ATAGO","ASHIGARA"],
|
||||||
|
"Atago-Klasse", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["KONGO","KIRISHIMA","MYOKO","CHOKAI"],
|
||||||
|
"Kongo-Klasse", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["MOGAMI","KUMANO","NOSHIRO"],
|
||||||
|
"Mogami-Klasse (FFM)", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["SORYU","TAIGEI"],
|
||||||
|
"Soryu/Taigei-Klasse", "U-Boot",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Indien (419) ===
|
||||||
|
"Indien": [
|
||||||
|
(["VIKRAMADITYA","VIKRANT INS"],
|
||||||
|
"Vikrant/Vikramaditya", "Flugzeugtraeger",
|
||||||
|
""),
|
||||||
|
(["KOLKATA","KOCHI","CHENNAI INS"],
|
||||||
|
"Kolkata-Klasse (P15A)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["SHIVALIK","SATPURA","SAHYADRI"],
|
||||||
|
"Shivalik-Klasse (P17)", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["KAMORTA","KADMATT","KILTAN","KAVARATTI"],
|
||||||
|
"Kamorta-Klasse (P28)", "Korvette",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Suedkorea (440-441) ===
|
||||||
|
"Suedkorea": [
|
||||||
|
(["DOKDO","MARADO"],
|
||||||
|
"Dokdo-Klasse", "Amphibisches Angriffsschiff",
|
||||||
|
""),
|
||||||
|
(["SEJONG","YULGOK","JEONGJO"],
|
||||||
|
"Sejong-Klasse (KDX-III)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["CHUNGMUGONG","DAEJOYEONG","WANG GEON"],
|
||||||
|
"Chungmugong-Klasse (KDX-II)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Australien (503) ===
|
||||||
|
"Australien": [
|
||||||
|
(["CANBERRA","ADELAIDE HMAS"],
|
||||||
|
"Canberra-Klasse", "Amphibisches Angriffsschiff",
|
||||||
|
""),
|
||||||
|
(["HOBART","BRISBANE","SYDNEY HMAS"],
|
||||||
|
"Hobart-Klasse (AWD)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
(["ANZAC","ARUNTA","WARRAMUNGA","STUART","PARRAMATTA","BALLARAT","TOOWOOMBA","PERTH HMAS"],
|
||||||
|
"Anzac-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Italien (247) ===
|
||||||
|
"Italien": [
|
||||||
|
(["CAVOUR","TRIESTE ITS"],
|
||||||
|
"Cavour/Trieste", "Flugzeugtraeger",
|
||||||
|
""),
|
||||||
|
(["BERGAMINI","FASAN","ALPINO","CARABINIERE","MARCEGLIA","RIZZO","SCHERGAT","FERRARIS"],
|
||||||
|
"FREMM (Bergamini-Klasse)", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["ORIZZONTE","ANDREA DORIA","CAIO DUILIO"],
|
||||||
|
"Orizzonte-Klasse (Horizon)", "Zerstoerer",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Tuerkei (271) ===
|
||||||
|
"Tuerkei": [
|
||||||
|
(["ANADOLU","TCG"],
|
||||||
|
"Anadolu (L-400)", "Amphibisches Angriffsschiff",
|
||||||
|
""),
|
||||||
|
(["ISTANBUL","IZMIR TCG"],
|
||||||
|
"Istanbul-Klasse (I)", "Fregatte",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Israel (428) ===
|
||||||
|
"Israel": [
|
||||||
|
(["SAAR","MAGEN","OZ","ATZMAUT"],
|
||||||
|
"Sa'ar 6-Klasse", "Korvette",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Norwegen (257-259) ===
|
||||||
|
"Norwegen": [
|
||||||
|
(["FRIDTJOF NANSEN","ROALD AMUNDSEN","OTTO SVERDRUP","HELGE INGSTAD","THOR HEYERDAHL"],
|
||||||
|
"Fridtjof Nansen-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Niederlande (244-246) ===
|
||||||
|
"Niederlande": [
|
||||||
|
(["DE ZEVEN","EVERTSEN","TROMP HNLMS"],
|
||||||
|
"De Zeven Provincien-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
(["KAREL DOORMAN","ROTTERDAM","JOHAN DE WITT"],
|
||||||
|
"Karel Doorman/Rotterdam", "Amphibisches Transportschiff",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Spanien (224-225) ===
|
||||||
|
"Spanien": [
|
||||||
|
(["JUAN CARLOS"],
|
||||||
|
"Juan Carlos I (L-61)", "Amphibisches Angriffsschiff",
|
||||||
|
""),
|
||||||
|
(["ALVARO DE BAZAN","MENDEZ","BLAS DE LEZO","CRISTOBAL","ROGER DE LAURIA"],
|
||||||
|
"Alvaro de Bazan-Klasse (F100)", "Fregatte",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Aegypten (622) ===
|
||||||
|
"Aegypten": [
|
||||||
|
(["GAMAL ABDEL","ANWAR EL"],
|
||||||
|
"Mistral-Klasse (ex-FR)", "Hubschraubertraeger",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
# === Singapur (563-566) ===
|
||||||
|
"Singapur": [
|
||||||
|
(["FORMIDABLE","INTREPID","STEADFAST","TENACIOUS","STALWART","SUPREME"],
|
||||||
|
"Formidable-Klasse", "Fregatte",
|
||||||
|
""),
|
||||||
|
],
|
||||||
|
}
|
||||||
|
|
||||||
|
# MID -> Land-Key Mapping
|
||||||
|
MID_TO_NAVY = {
|
||||||
|
"338": "USA", "366": "USA", "367": "USA", "368": "USA", "369": "USA",
|
||||||
|
"273": "Russland",
|
||||||
|
"412": "China", "413": "China", "414": "China",
|
||||||
|
"232": "UK", "233": "UK", "234": "UK", "235": "UK",
|
||||||
|
"226": "Frankreich", "227": "Frankreich", "228": "Frankreich",
|
||||||
|
"211": "Deutschland", "218": "Deutschland",
|
||||||
|
"431": "Japan", "432": "Japan",
|
||||||
|
"419": "Indien",
|
||||||
|
"440": "Suedkorea", "441": "Suedkorea",
|
||||||
|
"503": "Australien",
|
||||||
|
"247": "Italien",
|
||||||
|
"271": "Tuerkei",
|
||||||
|
"428": "Israel",
|
||||||
|
"257": "Norwegen", "258": "Norwegen", "259": "Norwegen",
|
||||||
|
"244": "Niederlande", "245": "Niederlande", "246": "Niederlande",
|
||||||
|
"224": "Spanien", "225": "Spanien",
|
||||||
|
"622": "Aegypten",
|
||||||
|
"563": "Singapur", "564": "Singapur", "565": "Singapur", "566": "Singapur",
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_country_from_mmsi(mmsi):
|
|
||||||
"""Bestimmt das Land anhand der MMSI (erste 3 Ziffern)."""
|
|
||||||
if not mmsi:
|
|
||||||
return "Unbekannt"
|
|
||||||
mid = str(mmsi)[:3]
|
|
||||||
return MID_COUNTRIES.get(mid, "Unbekannt")
|
|
||||||
|
|
||||||
def classify_military_ship(mmsi, name=""):
|
def classify_military_ship(mmsi, name=""):
|
||||||
"""Versucht ein Militaerschiff zu klassifizieren."""
|
"""Klassifiziert ein Militaerschiff nach MMSI + Name."""
|
||||||
country = get_country_from_mmsi(mmsi)
|
country = get_country_from_mmsi(mmsi)
|
||||||
mid = str(mmsi)[:3] if mmsi else ""
|
mid = str(mmsi)[:3] if mmsi else ""
|
||||||
name_upper = (name or "").upper()
|
name_upper = (name or "").upper()
|
||||||
|
|
||||||
# Laender-basierte Klassenzuordnung
|
navy_key = MID_TO_NAVY.get(mid)
|
||||||
if mid in ("338","366","367","368","369"): # USA
|
if navy_key and navy_key in SHIP_CLASSES:
|
||||||
if any(w in name_upper for w in ("CVN","CARRIER","ENTERPRISE","FORD","NIMITZ","LINCOLN","WASHINGTON","REAGAN","BUSH","EISENHOWER","TRUMAN","STENNIS","VINSON")):
|
for keywords, class_name, ship_type, image in SHIP_CLASSES[navy_key]:
|
||||||
return {**MILITARY_SHIP_DB["_class_usa_carrier"], "country": country}
|
if any(kw in name_upper for kw in keywords):
|
||||||
return {**MILITARY_SHIP_DB["_class_usa_destroyer"], "country": country}
|
return {"class": class_name, "type": ship_type, "country": country, "image": image}
|
||||||
if mid in ("273",): # Russland
|
# Kein Keyword-Match: Generisches Militaerschiff des Landes
|
||||||
return {**MILITARY_SHIP_DB["_class_russia_frigate"], "country": country}
|
return {"class": "Militaerschiff (" + navy_key + ")", "type": "Unbekannt", "country": country, "image": ""}
|
||||||
if mid in ("412","413","414"): # China
|
|
||||||
return {**MILITARY_SHIP_DB["_class_china_destroyer"], "country": country}
|
|
||||||
if mid in ("232","233","234","235"): # UK
|
|
||||||
if any(w in name_upper for w in ("QUEEN","ELIZABETH","PRINCE","WALES")):
|
|
||||||
return {**MILITARY_SHIP_DB["_class_uk_carrier"], "country": country}
|
|
||||||
if mid in ("211","218"): # Deutschland
|
|
||||||
return {**MILITARY_SHIP_DB["_class_germany_frigate"], "country": country}
|
|
||||||
if mid in ("226","227","228"): # Frankreich
|
|
||||||
if any(w in name_upper for w in ("CHARLES","GAULLE")):
|
|
||||||
return {**MILITARY_SHIP_DB["_class_france_carrier"], "country": country}
|
|
||||||
|
|
||||||
return {"class": "Militaerschiff", "type": "Unbekannt", "country": country, "image": ""}
|
return {"class": "Militaerschiff", "type": "Unbekannt", "country": country, "image": ""}
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren