Files
usa/src/data/extendedWarData.ts
2026-03-05 15:53:10 +08:00

404 lines
12 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 扩展战区与打击数据2026-03-03 态势)
// 仅用于前端展示,不参与任何真实评估
export const EXTENDED_WAR_ZONES = {
// 1. 霍尔木兹海峡交战区 — 伊朗国境线沿岸(波斯湾→海峡→阿曼湾)+ 阿曼穆桑代姆 + 波斯湾出口 [lng, lat]
hormuzCombatZone: {
type: 'Feature' as const,
properties: {
name: '霍尔木兹海峡交战区',
name_en: 'Strait of Hormuz Area',
status: 'BLOCKED / ENGAGED',
style: {
fillColor: '#FFD700',
fillOpacity: 0.4,
meshPattern: 'diagonal-line',
},
},
geometry: {
type: 'Polygon' as const,
coordinates: [
[
[55.92, 27.02], // 波斯湾入口(伊朗西侧,近阿联酋水道)
[56.12, 27.08], // 伊朗沿岸向东
[56.27, 27.18], // 阿巴斯港一带(伊朗国境线)
[56.35, 27.05], // 格什姆岛西北侧伊朗主陆
[56.28, 26.92], // 格什姆岛北缘(伊朗海岸)
[56.45, 26.88], // 格什姆东侧水道(伊朗岸)
[56.62, 26.78], // 伊朗沿岸向东
[56.88, 26.58], // 米纳布方向(伊朗海岸)
[57.08, 26.42], // 锡里克Sirik附近伊朗国境线
[57.38, 25.88], // 库角Ras al Kuh
[57.52, 25.72], // 库角Ras al Kuh
[57.77, 25.64], // 贾斯克Jask— 阿曼湾开口伊朗侧
[56.26, 25.61], // 迪巴Dibba— 阿曼湾开口阿曼侧
[56.34, 25.92], // 穆桑代姆东海岸
[56.38, 26.18], // 穆桑代姆东海岸
[56.4, 26.35], // 拉斯·穆桑代姆最北端
[56.24, 26.22], // 穆桑代姆西侧狭窄水道
[56.08, 26.0], // 穆桑代姆西海岸
[55.96, 26.05], // 波斯湾出口(阿曼/阿联酋侧)
[55.92, 27.02], // 闭合:回到起点
],
],
},
},
// 霍尔木兹区域标注点(多边形中心附近,用于显示文字)
hormuzLabelCenter: [56.5, 26.35] as [number, number],
// 2. 真主党势力范围 (Hezbollah) — 黎巴嫩南部 + 贝卡谷地,多边形 [lng, lat]
hezbollahZone: {
type: 'Feature' as const,
properties: {
name: '真主党势力范围',
status: 'OFFENSIVE ACTIVE',
color: '#32CD32',
},
geometry: {
type: 'MultiPolygon' as const,
coordinates: [
// 黎巴嫩南部(利塔尼河以南)
[
[
[35.05, 33.05],
[35.45, 33.15],
[35.85, 33.35],
[35.95, 33.65],
[35.75, 33.95],
[35.35, 33.85],
[35.05, 33.55],
[35.05, 33.05],
],
],
// 贝卡谷地
[
[
[35.85, 33.75],
[36.15, 33.85],
[36.45, 34.05],
[36.55, 34.35],
[36.35, 34.55],
[35.95, 34.45],
[35.75, 34.15],
[35.85, 33.75],
],
],
],
},
},
// 真主党区域标注点(用于显示文字)
hezbollahLabelCenter: [35.7, 33.7] as [number, number],
// 库尔德武装势力区域标注点(叙/土/伊三区紫色带中心附近)
kurdishLabelCenter: [43.5, 36.3] as [number, number],
// 真主党打击源(黎巴嫩境内多处,随机选取作为攻击起点)[lng, lat]
hezbollahStrikeSource: [35.32, 33.28] as [number, number],
/** 黎巴嫩境内攻击源(提尔、西顿、巴勒贝克、贝鲁特南郊、纳巴提耶等),用于黎巴嫩→以色列动画 */
lebanonStrikeSources: [
[35.19, 33.27], // 提尔 Tyre
[35.37, 33.56], // 西顿 Sidon
[36.2, 34.01], // 巴勒贝克 Baalbek
[35.5, 33.86], // 贝鲁特南郊 Dahieh
[35.38, 33.38], // 纳巴提耶 Nabatiyeh
[35.85, 33.85], // 贝卡谷地
] as [number, number][],
// 3. 真主党当前攻击目标 (North Israel Targets)
activeAttacks: [
{
name: 'Meron Intelligence Base',
coords: [35.41, 32.99] as [number, number],
type: 'Rocket Strike',
damage: 'High',
},
{
name: 'Ramat David Airbase',
coords: [35.18, 32.66] as [number, number],
type: 'Drone Swarm',
damage: 'Moderate',
},
{
name: 'Mishmar HaCarmel (Haifa)',
coords: [35.01, 32.76] as [number, number],
type: 'Precision Missile',
damage: 'Intercepted',
},
],
} as const
/** 跨国库尔德势力范围与钳形攻势 — 土(Bakur)/叙(Rojava)/伊(Bashur) 三区 + 北/南钳形箭头 */
const SYRIA_ROJAVA: [number, number][] = [
[36.0, 36.5],
[42.3, 37.1],
[42.0, 35.0],
[39.0, 34.5],
[38.0, 35.5],
[36.0, 36.5],
]
const TURKEY_BAKUR: [number, number][] = [
[39.5, 38.5],
[44.5, 38.2],
[44.8, 37.0],
[42.5, 37.0],
[40.0, 37.5],
[39.5, 38.5],
]
const IRAQ_BASHUR: [number, number][] = [
[42.5, 37.2],
[45.0, 37.3],
[46.2, 35.8],
[45.5, 34.5],
[43.5, 34.8],
[42.5, 36.0],
[42.5, 37.2],
]
/** 北/中/南三线进攻轴线起止点 [lng, lat],供生长动画与固定几何使用 */
export const PINCER_AXES = [
{ start: [43.6, 37.2] as [number, number], end: [46.27, 38.08] as [number, number], name: 'North Pincer (Tabriz)' },
{ start: [45.0, 35.4] as [number, number], end: [46.99, 35.31] as [number, number], name: 'Central Pincer (Sanandaj)' },
{ start: [45.6, 35.2] as [number, number], end: [47.07, 34.31] as [number, number], name: 'South Pincer (Kermanshah)' },
] as const
/** 以色列进攻黎巴嫩轴线 [lng, lat]:以色列北部 → 黎巴嫩南部/真主党势力方向 */
export const ISRAEL_LEBANON_AXIS = {
start: [35.25, 32.95] as [number, number],
end: [35.55, 33.45] as [number, number],
name: 'Israel → Lebanon',
} as const
/** 伊朗被库尔德武装进攻点防御线:大不里士→萨南达季→克尔曼沙赫,黄色虚线 */
export const KURDISH_ATTACK_DEFENSE_LINE: GeoJSON.Feature<GeoJSON.LineString> = {
type: 'Feature',
properties: { name: '伊朗西部防御线' },
geometry: {
type: 'LineString',
coordinates: [
[46.27, 38.08],
[46.99, 35.31],
[47.07, 34.31],
],
},
}
/** 三叉戟 18 点一笔画固定几何(不回头路径、槽位 t 小于主尖),与 PINCER_AXES 顺序一致:北 / 中 / 南 */
export const PINCER_TRIDENT_RINGS: [number, number][][] = [
[ // 北线 (Tabriz) — 彻底修复版
[43.45, 37.55], [43.75, 36.95], [43.85, 37.05], [43.55, 37.65],
[44.40, 37.35],
[45.10, 37.15], [46.15, 37.60], [45.40, 37.55],
[44.80, 37.70],
[45.50, 37.85], [46.27, 38.08], [45.40, 38.00],
[44.75, 37.95],
[45.05, 38.25], [46.00, 38.45], [45.20, 38.15],
[44.35, 37.60],
[43.45, 37.55],
],
[
[44.95, 35.70], [45.05, 35.10], [45.15, 35.15], [45.05, 35.75],
[45.60, 35.25], [46.20, 35.10], [46.85, 35.15], [46.20, 35.25],
[45.85, 35.31], [46.40, 35.25], [46.99, 35.31], [46.40, 35.38],
[45.85, 35.45], [46.25, 35.55], [46.80, 35.65], [46.25, 35.45],
[45.65, 35.55], [44.95, 35.70],
],
[
[45.85, 35.45], [45.35, 34.95], [45.45, 35.05], [45.95, 35.55],
[46.05, 34.85], [46.45, 34.50], [46.95, 34.15], [46.50, 34.35],
[46.25, 34.45], [46.65, 34.35], [47.07, 34.31], [46.75, 34.55],
[46.35, 34.75], [46.65, 34.85], [47.15, 34.65], [46.55, 34.95],
[46.30, 35.15], [45.85, 35.45],
],
]
export const KURDISH_FRONT_GEOJSON: GeoJSON.FeatureCollection = {
type: 'FeatureCollection',
features: [
{
type: 'Feature',
properties: {
name: 'Kurdish Tactical Range (Bakur / Rojava / Bashur)',
region_type: 'InfluenceZone',
description: '叙利亚东北部(SDF)、土耳其东南部、伊拉克 KRG 自治区,紫色弧形地带向 Rojhelat 钳形攻势',
},
geometry: {
type: 'MultiPolygon',
coordinates: [[SYRIA_ROJAVA], [TURKEY_BAKUR], [IRAQ_BASHUR]],
},
},
{
type: 'Feature',
properties: {
name: '大不里士 (Tabriz)',
region_type: 'Target',
status: 'Obj: CRITICAL',
showMarker: false,
},
geometry: { type: 'Point', coordinates: [46.27, 38.08] },
},
{
type: 'Feature',
properties: {
name: '萨南达季 (Sanandaj)',
region_type: 'Target',
status: 'Obj: HIGH',
showMarker: true,
},
geometry: { type: 'Point', coordinates: [46.99, 35.31] },
},
{
type: 'Feature',
properties: {
name: '克尔曼沙赫 (Kermanshah)',
region_type: 'Target',
status: 'Obj: STRATEGIC',
showMarker: true,
},
geometry: { type: 'Point', coordinates: [47.07, 34.31] },
},
],
}
// 战损评估点位(以色列打击黎巴嫩 & 联军打击伊朗本土)
export const STRIKE_DAMAGE_ASSESSMENT = {
lebanonFront: [
{
id: 'L1',
name: 'Dahieh Command',
coords: [35.5, 33.86] as [number, number],
type: 'Leadership',
color: '#ff4d4d',
},
{
id: 'L2',
name: 'Litani Ammo Depot',
coords: [35.32, 33.34] as [number, number],
type: 'Logistics',
color: '#ff4d4d',
},
{
id: 'L3',
name: 'Baalbek Logistics Hub',
coords: [36.2, 34.01] as [number, number],
type: 'Logistics',
color: '#ffb84d',
},
{
id: 'L4',
name: 'Tyre Coastal Battery',
coords: [35.19, 33.27] as [number, number],
type: 'Naval',
color: '#ffb84d',
},
{
id: 'L5',
name: 'Hermel UAV Site',
coords: [36.38, 34.39] as [number, number],
type: 'UAV',
color: '#ffd84d',
},
],
iranMainland: [
{
id: 'I1',
name: 'Parchin Military Complex',
coords: [51.76, 35.53] as [number, number],
type: 'Strategic',
severity: 'Critical',
marker: 'Explosion',
},
{
id: 'I2',
name: 'Mehrabad Airbase',
coords: [51.31, 35.68] as [number, number],
type: 'Airbase',
severity: 'High',
marker: 'Runway',
},
{
id: 'I3',
name: 'Hesa Aircraft Factory',
coords: [51.59, 32.92] as [number, number],
type: 'Industrial',
severity: 'Moderate',
marker: 'Factory',
},
{
id: 'I4',
name: 'Natanz Enrichment Entrance',
coords: [51.91, 33.72] as [number, number],
type: 'Nuclear',
severity: 'Critical',
marker: 'Radiation',
},
{
id: 'I5',
name: 'Bushehr Air Defense Net',
coords: [50.88, 28.82] as [number, number],
type: 'AirDefense',
severity: 'High',
marker: 'Radar',
},
{
id: 'I6',
name: 'Shahid Rajaee Port',
coords: [56.12, 27.14] as [number, number],
type: 'Naval',
severity: 'Critical',
marker: 'Blocked',
},
{
id: 'I7',
name: 'Kermanshah Silo Cluster',
coords: [47.16, 34.35] as [number, number],
type: 'Missile',
severity: 'Critical',
marker: 'Silo',
},
{
id: 'I8',
name: 'Tabriz Tactical Airbase 2',
coords: [46.24, 38.12] as [number, number],
type: 'Airbase',
severity: 'High',
marker: 'Runway',
},
{
id: 'I9',
name: 'Arak Heavy Water Support',
coords: [49.23, 34.11] as [number, number],
type: 'Nuclear',
severity: 'High',
marker: 'Power',
},
{
id: 'I10',
name: 'Fordow Entrance',
coords: [50.99, 34.88] as [number, number],
type: 'Nuclear',
severity: 'Critical',
marker: 'Tunnel',
},
{
id: 'I11',
name: 'Nojeh Airbase',
coords: [48.8, 35.21] as [number, number],
type: 'Airbase',
severity: 'High',
marker: 'Runway',
},
{
id: 'I12',
name: 'Kish SIGINT Site',
coords: [53.98, 26.54] as [number, number],
type: 'Radar',
severity: 'Moderate',
marker: 'Sensor',
},
],
} as const