From 6a948ce57d0d9f88db4d98f0196cf43fc83285eb Mon Sep 17 00:00:00 2001 From: zhexu14 <64713351+zhexu14@users.noreply.github.com> Date: Fri, 24 Apr 2026 17:16:40 +1000 Subject: [PATCH 1/2] Add support for Kola, Germany maps Add support for Kola, Germany maps Add utc_offset, set bullseye --- dcs/mission.py | 4 + dcs/terrain/__init__.py | 2 + dcs/terrain/germany/__init__.py | 1 + dcs/terrain/germany/airports.py | 24145 ++++++++++++++++++++++++++++ dcs/terrain/germany/germany.py | 39 + dcs/terrain/germany/projection.py | 10 + dcs/terrain/kola/__init__.py | 1 + dcs/terrain/kola/airports.py | 4052 +++++ dcs/terrain/kola/kola.py | 39 + dcs/terrain/kola/projection.py | 10 + tools/export_map_projection.py | 4 + 11 files changed, 28307 insertions(+) create mode 100644 dcs/terrain/germany/__init__.py create mode 100644 dcs/terrain/germany/airports.py create mode 100644 dcs/terrain/germany/germany.py create mode 100644 dcs/terrain/germany/projection.py create mode 100644 dcs/terrain/kola/__init__.py create mode 100644 dcs/terrain/kola/airports.py create mode 100644 dcs/terrain/kola/kola.py create mode 100644 dcs/terrain/kola/projection.py diff --git a/dcs/mission.py b/dcs/mission.py index 1cb32ca9..e237dfc5 100644 --- a/dcs/mission.py +++ b/dcs/mission.py @@ -298,6 +298,10 @@ def loaddict(fname: str, mizfile: zipfile.ZipFile, reserved_files: List[str]) -> self.terrain = terrain_.MarianaIslands() elif imp_mission["theatre"] == "Falklands": self.terrain = terrain_.Falklands() + elif imp_mission["theatre"] == "GermanyCW": + self.terrain = terrain_.Germany() + elif imp_mission["theatre"] == "Kola": + self.terrain = terrain_.Kola() else: raise RuntimeError("Unknown theatre: '{theatre}'".format(theatre=imp_mission["theatre"])) diff --git a/dcs/terrain/__init__.py b/dcs/terrain/__init__.py index 56fc367b..4c8b0061 100644 --- a/dcs/terrain/__init__.py +++ b/dcs/terrain/__init__.py @@ -2,6 +2,8 @@ from dcs.terrain.terrain import RunwayOccupiedError, NoParkingSlotError, Graph, Node, MapView from dcs.terrain.caucasus.caucasus import Caucasus from dcs.terrain.falklands import Falklands +from dcs.terrain.germany import Germany +from dcs.terrain.kola import Kola from dcs.terrain.nevada import Nevada from dcs.terrain.normandy import Normandy from dcs.terrain.persiangulf import PersianGulf diff --git a/dcs/terrain/germany/__init__.py b/dcs/terrain/germany/__init__.py new file mode 100644 index 00000000..79805b4c --- /dev/null +++ b/dcs/terrain/germany/__init__.py @@ -0,0 +1 @@ +from .germany import Germany diff --git a/dcs/terrain/germany/airports.py b/dcs/terrain/germany/airports.py new file mode 100644 index 00000000..72813863 --- /dev/null +++ b/dcs/terrain/germany/airports.py @@ -0,0 +1,24145 @@ +# flake8: noqa +from typing import List, Type + +from dcs import mapping +from dcs.atcradio import AtcRadio +from dcs.beacons import AirportBeacon, RunwayBeacon +from dcs.terrain import Airport, ParkingSlot, Runway, RunwayApproach, Terrain + + +class Wittstock(Airport): + id = 1 + name = "Wittstock" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4725000, vhf_low_hz=40900000, vhf_high_hz=118500000, uhf_hz=252500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-133238.0625, -530216.46875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield1_1')) + self.beacons.append(AirportBeacon(id='airfield1_3')) + self.beacons.append(AirportBeacon(id='airfield1_4')) + self.beacons.append(AirportBeacon(id='airfield1_6')) + self.beacons.append(AirportBeacon(id='airfield1_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield1_2', runway_name='08-26', runway_id=1, runway_side='26'), RunwayBeacon(id='airfield1_7', runway_name='08-26', runway_id=1, runway_side='26')]), opposite=RunwayApproach(name='08', heading=80, beacons=[RunwayBeacon(id='airfield1_5', runway_name='08-26', runway_id=1, runway_side='08'), RunwayBeacon(id='airfield1_8', runway_name='08-26', runway_id=1, runway_side='08')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-133403.53125, -529360.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-133559.6875, -528684.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-133337.734375, -529166.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-133747.953125, -530820.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-133427.375, -529430.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-133595.890625, -530327.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-133544.640625, -530196.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-133881.53125, -531246.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-133811.578125, -530950.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-133329.953125, -528955.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-133713.625, -531126.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-133034.359375, -531077.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-133542.671875, -530169.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-133440.109375, -529467.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-133606.421875, -531468.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-133413.9375, -529024.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-133314.59375, -529096.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-133450.5625, -529496.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-133507.375, -530787.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-133071.078125, -531242.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-132987.59375, -530969.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-133214.46875, -528549.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-133342.921875, -528837.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-133368.046875, -529254.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-133476.21875, -529574.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-133540.09375, -530143.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-133709.390625, -531195.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-133729.46875, -531291.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-133320.21875, -529114.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-133326.125, -529131.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-133373.84375, -529272.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-133039, -531410, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-133664.40625, -530976.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-133415.328125, -529395.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-133409.390625, -529378.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-133500.046875, -528975.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-133331.8125, -529149.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-133409.65625, -528482.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-133144.1875, -531489.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-132972.140625, -531239.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-133666.609375, -530580.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-132925.140625, -531047.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-133662.921875, -531049.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-133195.375, -528618.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-133590.5, -530853.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-132923.3125, -530986.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-133589.671875, -531049.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-133493.828125, -529636.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-133406.625, -528866.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-133681.140625, -530618.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-133385.15625, -529308.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-133083.03125, -531459.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-133484.265625, -529604.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-133827.71875, -531315.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-133513.890625, -530860.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-133500.4375, -529673.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-133004.3125, -531366.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-133306.515625, -528732.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-133641.015625, -531420.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-133275.53125, -528642, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-133470.703125, -528500.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-133842.078125, -531274.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-133350.1875, -529202.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-133391.296875, -529325.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-133229.140625, -528860.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-133743.71875, -531236.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-133308.375, -529078.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-133362.65625, -528709.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-133578.765625, -530786.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-133397.78125, -529342.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-133333.84375, -528458.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-133497.140625, -529654.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-133724.015625, -530728, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-133506.296875, -529710.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-133394.46875, -528955.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-133503.65625, -529691.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-133362.21875, -529237.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-133246.40625, -528760.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-133344.3125, -529184.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-133537.453125, -530118.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-133356.015625, -529220.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-133712.390625, -530698.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-132966.328125, -531287.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-133421.46875, -529413.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-133627.484375, -530461.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-133794.640625, -531370.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-133887.296875, -531175.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-133130.9375, -531370.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-133442, -528689.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-133589.671875, -531322.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-133380, -529290.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-133408.828125, -528612.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-133583.75, -530979.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-133328.015625, -528633.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-133640.359375, -531315.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-133292.0625, -528564.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Altes_Lager(Airport): + id = 2 + name = "Altes Lager" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4750000, vhf_low_hz=42200000, vhf_high_hz=122500000, uhf_hz=253800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-270696.015625, -514508.75, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield2_1')) + self.beacons.append(AirportBeacon(id='airfield2_2')) + self.beacons.append(AirportBeacon(id='airfield2_3')) + self.beacons.append(AirportBeacon(id='airfield2_4')) + self.beacons.append(AirportBeacon(id='airfield2_0')) + self.runways.append(Runway(id=1, name='10-28', main=RunwayApproach(name='10', heading=100, beacons=[]), opposite=RunwayApproach(name='28', heading=280, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-270442.9375, -513559.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-270376.90625, -514047.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-270523.28125, -513211.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-270586.03125, -513225.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-270259.53125, -515619.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-270587.15625, -513604.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-270295.90625, -514910.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-270649.09375, -513325.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-270653.375, -513308, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-270609.4375, -513505.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-270575, -513653.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-270026.15625, -513794.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='84', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-270225.09375, -513835.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-269917.5625, -513435.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-270495, -513205.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-270324.0625, -514791.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-270597.96875, -513555.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-270219.25, -515573.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-270874.21875, -515073.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-270341.34375, -515105.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-270904.625, -514927.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-270604.0625, -513931.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-270968.40625, -514922.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-270240.53125, -513285.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-270816.3125, -515238.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-270394.625, -514072.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-270641.8125, -513357.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-270290.59375, -514935.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-270390.3125, -513715.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-269996.09375, -513640.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-270348.6875, -513550.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-270454.65625, -513185.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-270554.625, -513752.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-270431.75, -514275.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-270557.9375, -513291.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-270345.21875, -513587.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-270324.09375, -513705.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-270605.375, -513522.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-270921.15625, -514848.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-270272.75, -515028.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-270872.0625, -515032, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-270329.59375, -514767.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-269909.25, -513525.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-270512.65625, -513581.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-270287.5625, -515471.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-270422.34375, -514113.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-270282.75, -513600.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-270565.15625, -513704.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-270313.0625, -514837.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-270403.21875, -514983.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-270319.03125, -514813.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-270616.625, -513473.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-270410.875, -514794.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-270286.53125, -514959.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-270583.46875, -513621.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-271000.9375, -514866.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-270408.6875, -514093.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-270234.625, -515491.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-270307.375, -514862.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-270422.6875, -514315.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-270627.21875, -513424.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-270527.03125, -513828.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-270280.6875, -514982.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-270569.28125, -513686.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-270829.8125, -515194.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-270517.03125, -513878.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-269926.375, -513314.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-270638.0625, -513375.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-270176.125, -513294.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-270512.03125, -513284.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-270916.125, -515101.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-270438.0625, -513595.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-270337.4375, -514688.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-270276.40625, -515005.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-270516.53125, -513517.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-270383.5625, -514912.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-270287.84375, -515233.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-270351.6875, -513512, self._terrain), large=False, heli=True, + airplanes=False, slot_name='91', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-270828.6875, -515274.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-270466.25, -513275.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-270304, -515155.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-270620.6875, -513455.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-270377.96875, -513262.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-270558.0625, -513735.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-270884.25, -514992.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-270444.34375, -513526.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-270301.71875, -514886.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-270966.125, -515125.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-270446.53125, -514661.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-270957.0625, -515186.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-270631.375, -513406.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-270797.1875, -515324.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-270566.71875, -513185.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-270436.46875, -514134.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Barth(Airport): + id = 3 + name = "Barth" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4625000, vhf_low_hz=41800000, vhf_high_hz=124100000, uhf_hz=254000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-8742.46875, -502976.953125, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-9014.9609375, -502721, self._terrain), large=False, heli=True, + airplanes=True, slot_name='7', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-8996.2158203125, -502630.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='4', length=18.449999, width=13.049999, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-8981.58203125, -502733.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='8', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-8972.0478515625, -502661.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='5', length=18.449999, width=13.049999, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-8998.1083984375, -502611.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='3', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-9003.7978515625, -502567.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='1', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-9000.623046875, -502589.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-8962.494140625, -502707.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='6', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-8978.8046875, -502755.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='9', length=18.0, width=15.0, height=8.0, shelter=False)) + + +class Zerbst(Airport): + id = 4 + name = "Zerbst" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3900000, vhf_low_hz=40950000, vhf_high_hz=119800000, uhf_hz=254050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-263518.671875, -571936.375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield4_1')) + self.beacons.append(AirportBeacon(id='airfield4_2')) + self.beacons.append(AirportBeacon(id='airfield4_3')) + self.beacons.append(AirportBeacon(id='airfield4_4')) + self.beacons.append(AirportBeacon(id='airfield4_5')) + self.beacons.append(AirportBeacon(id='airfield4_6')) + self.beacons.append(AirportBeacon(id='airfield4_7')) + self.beacons.append(AirportBeacon(id='airfield4_8')) + self.beacons.append(AirportBeacon(id='airfield4_0')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-263400.625, -572622.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-263930.9375, -572388.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-263360.71875, -572495.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-263627.125, -573164.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-263266.75, -572661.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-263671.71875, -571521.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-263617.03125, -571352.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-263107.84375, -571841.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-263326.90625, -572628.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-263649.65625, -571466.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-263331.5625, -572405.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-263632.25, -571395.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-263354.71875, -572477.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-263307.21875, -572333.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-263374.4375, -572738.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-263376.59375, -572548.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-262876.96875, -571521.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-263679.875, -573164.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-263254.5, -572173.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-263229.28125, -572418.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-263272.21875, -572227, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-263290.15625, -572279.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-263583.15625, -571522.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-263469.28125, -573017.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-262981.46875, -571963.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-264105.9375, -572733.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-263313.4375, -572351.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-264037.03125, -572476.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-263514.375, -573061.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-263365.59375, -572513.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-264079.5, -572685.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-263133.3125, -572486.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-263653.28125, -573164.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-263465.84375, -572859.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-263260.25, -572191.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-264279.21875, -572841.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-263660.375, -571495.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-264019.71875, -572625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-263639.46875, -571438.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-263371.21875, -572531.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-264000.53125, -572427.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-263190.125, -572077.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-263265.96875, -572209.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-262815.03125, -571106.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-263388.03125, -572584.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-263430.5625, -572980.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-263381.9375, -572566.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-264139.46875, -572923.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-263680.6875, -571547.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='85', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-263196.78125, -572494.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-264245.28125, -572800.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-263301.65625, -572315.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-263691.9375, -571579.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='86', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-263096.25, -571752.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-263239.5, -572720.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-262843.125, -571036.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-263248.625, -572155.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-263325.4375, -572387.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-263068.59375, -571667.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-263284.625, -572262.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-263348.53125, -572459.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-263295.78125, -572297.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-263406.46875, -572640.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-264123, -572787.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-263394.6875, -572604.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-262858.15625, -571588.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-263178.40625, -572375.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-263049.4375, -572024.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-262863.90625, -571244.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-263336.96875, -572423.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-263135.46875, -571984.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-263863.1875, -572335.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-264251.40625, -572908, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-264210.28125, -572738.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-263278.28125, -572244.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-263295.96875, -572747.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-263044.1875, -571928.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-263494.03125, -572961.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-263405.03125, -572898.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-263004.46875, -572016.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-263342.15625, -572441.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-262837.5, -571176.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-262911.8125, -571625.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-263319.0625, -572369.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-263442.3125, -572801.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-262891.65625, -571461.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Bremen(Airport): + id = 5 + name = "Bremen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4225000, vhf_low_hz=41700000, vhf_high_hz=118450000, uhf_hz=254100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-114115.714844, -781459.96875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield5_2')) + self.beacons.append(AirportBeacon(id='airfield5_3')) + self.beacons.append(AirportBeacon(id='airfield5_5')) + self.beacons.append(AirportBeacon(id='airfield5_6')) + self.beacons.append(AirportBeacon(id='airfield5_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield5_1', runway_name='27-09', runway_id=1, runway_side='09')]), opposite=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield5_4', runway_name='09-27', runway_id=1, runway_side='27')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-113947, -781185.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-113558.32594959, -781675.51898765, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-113684.9053555, -781832.62963193, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-113558.13359113, -781909.33875053, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-114038.1015625, -781129.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-114008.8828125, -781147.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-113411.1015625, -781921.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-113436.7109375, -782026.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-113410.875, -781731.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-113758.57134547, -781789.78828256, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-114070.6796875, -781110.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-113477.375, -781581.64517404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-113474.75, -782002.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-113659.3741055, -781848.25463193, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-113677.7265625, -781453.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-113659.34375, -781458.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-113594.2421875, -781509.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-113568.984375, -781525.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-113608.75247248, -781643.8931965, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-113595.13208733, -781883.99927483, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-113539.2578125, -781544.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-113630.678793, -781864.56713193, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-113656.97903498, -781615.27215226, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-113589.2419357, -781420.49667454, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-113386.609375, -781607.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-113380.328125, -781945.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-113697.7578125, -781442.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-113782.45591611, -781776.15298675, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-113425.0546875, -781664.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=36.0, width=36.0, height=15.0, shelter=False)) + + +class Briest(Airport): + id = 6 + name = "Briest" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4175000, vhf_low_hz=40200000, vhf_high_hz=135550000, uhf_hz=254150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-217494.546875, -544967.6875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield6_0')) + self.runways.append(Runway(id=1, name='25-07', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='07', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-218155.5, -546149.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-217272.34375, -545825.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-217243.625, -545057.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-217258.875, -545175.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-218113.34375, -545477, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-217970.90625, -545581.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-218337.25, -545052.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-218227.1875, -546038.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-217181.078125, -545376.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-217095.5, -544960.30165947, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-218407.03125, -545962.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-218094.015625, -545370.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-218418.21875, -545881.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-217369.328125, -545594.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-218346.890625, -544799.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-217192.546875, -545444, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-217110.53125, -545184.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-217459.39799495, -543698.83970746, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-217421.20447883, -543705.65508913, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-217104.6875, -545103.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-218081.46875, -545301.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-217953.828125, -545360.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-217250.890625, -545707, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-217326.671875, -545369.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-218525.81704904, -545064.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-217980.453125, -545512.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-217232.65625, -544992.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-218065.828125, -545214, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-218425.03125, -545800.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-218246.9375, -545970.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-217338.484375, -545436.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-218052.328125, -545137.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-218178.921875, -546291.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-217415.8125, -545856.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-218335.65625, -546139.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-217326.20496183, -546018.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-217863.15625, -546128.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-217151.84375, -545313.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-218253.75, -546252.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-218276.171875, -546181.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-218293.890625, -545920.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-217286.96875, -545238.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-217402.296875, -545657.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-218510.609375, -545027.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-218294, -545852.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-218173.375, -546082.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-217309.453125, -545886.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-217426.078125, -545787.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-217298.859375, -545306.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-218136.296875, -545608.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-217881.703125, -546113.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-218003.921875, -545643.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-217470.56704904, -546045.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-217392.59375, -545725.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-217223.453125, -545553.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-217295.45496183, -545955.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-218124.4375, -545542.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-217140.703125, -545247.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-217256.109375, -545627.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-218101.8125, -546198.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-218148.015625, -545673.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-217818.67371183, -546163.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-217090.046875, -545028.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-217449.09375, -545916.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-217918.109375, -545281.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-218395.03125, -546038.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-217438.61392404, -545985.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-217947.890625, -545450.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-217898.578125, -546099.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-217924.40625, -545195.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Buckeburg(Airport): + id = 7 + name = "Buckeburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4900000, vhf_low_hz=39550000, vhf_high_hz=118050000, uhf_hz=254200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-202433.117188, -776066.75, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield7_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-202147.46875, -776540.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-202115.4375, -776417.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-202073.796875, -775884.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-202061.453125, -776598.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-202037.671875, -776166.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-202136.21875, -776676.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-202110.828125, -775949.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-202057.34375, -776113.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-202053.5625, -776583.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-202155.171875, -775998.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-202044.265625, -776256.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-202317.03125, -776267.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-201867.515625, -776269.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-202287.71875, -776790.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-202235, -776352.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-202128.125, -776717.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-202138.703125, -775808.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-202077.03125, -776090.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-202045.0625, -775959.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-202264.375, -776748.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-202155.421875, -776396.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-201952.3125, -776380.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-202050.921875, -776347.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-202194.625, -776623.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-202194.53125, -775952.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-202007.875, -775894.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-202233.703125, -775906.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-202122.390625, -775827.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='77', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-202136.796875, -776733.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-202135.734375, -776021.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-202198.734375, -776841.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-202201.109375, -776796.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-202089.578125, -775798.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='87', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-201928.609375, -776027.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-202189.609375, -776457.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-201991.390625, -775913.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-202106.15625, -775846.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='76', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-202194.875, -776374.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-202041.09375, -775923.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-202061.3125, -775940.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-202057.171875, -775904, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-202116.078125, -776044.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-201939.5625, -776494.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-202177.171875, -775516.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-202008.4375, -775961.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-201959.203125, -775952.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-202040.53125, -775856.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-201965.859375, -776479, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-202174.921875, -775975.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-201861.203125, -776293.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-202179.6875, -775561.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-202268.796875, -776414.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-202185.09375, -775652.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-202127.3125, -775930.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-202110.0625, -775883.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-202143.640625, -775911.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-202229.234375, -776436, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-202310.859375, -776832.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-202045.875, -776026.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-202039.828125, -776196.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-202012.3125, -775997.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-202094, -775902, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-202048.703125, -776316.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-201992.203125, -775980.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-202024.171875, -775875.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-202105.984375, -775779.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-202096.65625, -776067.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-202073.3125, -775817.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='86', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-202241.046875, -776707, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-202056.734375, -775836.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='85', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-202182.390625, -775607.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='91', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-202094.578125, -775968.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-202149.765625, -776479.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-202217.953125, -776665.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-202214.21875, -775929.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-202078.28125, -775988, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-202077.5625, -775921.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-201917.765625, -776135.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-202041.984375, -776226.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-202038, -776136.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-202028.578125, -775978.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-202171.109375, -776581.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-201945.78125, -776357.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-202058.90625, -776537.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-201975.171875, -775932.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-202046.53125, -776286.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-201896.609375, -776004.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-202208.78125, -776860.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-202167.140625, -775704.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-202089.890625, -775865.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-202061.984375, -776007.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-202024.640625, -775942.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Celle(Airport): + id = 8 + name = "Celle" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4075000, vhf_low_hz=41900000, vhf_high_hz=122100000, uhf_hz=254600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-178034.75, -706875.8125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield8_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-178363.96875, -707452.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-177703.421875, -706081.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-177812.15625, -707368.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-178271.109375, -706343.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-177791.171875, -706610.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='3', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-178231.140625, -707534, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-178317.359375, -706187.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-177610.265625, -706052.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-177613.265625, -706293.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-178316.3125, -706442.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-178270.390625, -706307.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-177610.734375, -706112.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-178228.515625, -706426.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-177606.921875, -707479.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-177703.421875, -706020.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-177613.640625, -706323.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-177652.59375, -707374.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-177703.09375, -706051.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-177614.65625, -706383.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-177808.265625, -707458.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-177729.46875, -707503.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-177824.359375, -706640.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-177479.875, -706186.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-178230.34375, -706462.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-178243.8125, -707500.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-177707.46875, -706382.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='9', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-177858.46875, -706671, self._terrain), large=False, heli=True, + airplanes=False, slot_name='1', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-178360.03125, -706320.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-178329.75, -707472.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-177705.8125, -706262.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-177783.9375, -707283.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-177706.265625, -706292.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-177613.0625, -706262.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-177668.640625, -706582.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='6', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-178228.390625, -706196, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-177706.796875, -706322.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-177844.171875, -707348.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-177697.375, -707492, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-177705.40625, -706231.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-178306.5, -707319.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-177707.078125, -706352.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-177677.921875, -706510.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='7', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-178331.515625, -707349.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-177703.640625, -706111.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-177842.015625, -707462.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-177733.796875, -706561.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='5', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-177705.03125, -706201.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-178425.84375, -707340.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-178395.96875, -707255.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-178441.59375, -707371.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-178227.984375, -706160.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-177666.125, -707340.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-177611.640625, -706142.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-177756.59375, -706581.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='4', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-178312.765625, -706226.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-178389.640625, -706276.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-177707.828125, -706412.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='8', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-177614.1875, -706353.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-177610.53125, -706082, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Cochstedt(Airport): + id = 9 + name = "Cochstedt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4125000, vhf_low_hz=38450000, vhf_high_hz=126000000, uhf_hz=254700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-273090.828125, -623755.5625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield9_1')) + self.beacons.append(AirportBeacon(id='airfield9_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-272881.375, -624490.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-272804.03125, -622580.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-272773.65625, -623190.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-272762.03125, -623079, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-272771.0625, -623162.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-272992.59375, -624659.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-272867.4375, -624307.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-272872.09375, -624350.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-273012, -624669.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-272886.6875, -624546.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-272880.21875, -624437.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-272660.5625, -623470.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-272879, -624415.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-272824.84375, -622566.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-272884.03125, -624518.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-272723.5, -622751.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-272758.8125, -623049.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-272768.3125, -623135.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-272659.0625, -623452.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-272737.65625, -622800, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-272742.25, -622854.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-272782, -622596.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-272719.09375, -622704.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-272779.21875, -623247.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-272973.78125, -624649.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-272889.28125, -624572.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-272882.0625, -624459.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-272751.625, -622965.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-272764.90625, -623107, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-272746.53125, -622910.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-272756.40625, -623021.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-272876.8125, -624393.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-272870.03125, -624329.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-272776.65625, -623218.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-272874.59375, -624372.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-272753.8125, -622993.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-272749.25, -622937.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-272661.875, -623488.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-272739.96875, -622827.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-272744.65625, -622882.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Damgarten(Airport): + id = 10 + name = "Damgarten" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4000000, vhf_low_hz=38900000, vhf_high_hz=127100000, uhf_hz=250500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-14897.206543, -521181.90625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield10_1')) + self.beacons.append(AirportBeacon(id='airfield10_5')) + self.beacons.append(AirportBeacon(id='airfield10_6')) + self.beacons.append(AirportBeacon(id='airfield10_7')) + self.beacons.append(AirportBeacon(id='airfield10_0')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[RunwayBeacon(id='airfield10_2', runway_name='07-25', runway_id=1, runway_side='07'), RunwayBeacon(id='airfield10_3', runway_name='07-25', runway_id=1, runway_side='07')]), opposite=RunwayApproach(name='25', heading=250, beacons=[RunwayBeacon(id='airfield10_4', runway_name='07-25', runway_id=1, runway_side='25'), RunwayBeacon(id='airfield10_8', runway_name='07-25', runway_id=1, runway_side='25')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-14473.352539062, -521786.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-15393.014648438, -521401.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-14672.620117188, -522531.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-14387.80859375, -522339.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-14539.770507812, -520763.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-15177.534179688, -520887.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-14454.818359375, -522407.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-14417.68359375, -521721.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-15230.772460938, -521130.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-14618.184570312, -522502.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-14483.5390625, -520002.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-14459.724609375, -520225.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-14865.6640625, -522346.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-15442.448242188, -521588.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-14676.807617188, -521450.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-15158.171875, -520791.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-14317.805664062, -521591, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-14676.458007812, -522583.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-14543.883789062, -520781.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-14615.21484375, -521148, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-14639.686523438, -521268.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-14652.115234375, -521329.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-14720.6640625, -521963.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-15187.71875, -520934.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-15456.446289062, -521723.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-15453.975585938, -521643.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-15168.657226562, -520838.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-15275.224609375, -521343.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-14841.305664062, -522697.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-14535.99609375, -520745.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-15209.756835938, -521030.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-14531.75390625, -522331.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-14621.450195312, -521178, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-14646.068359375, -521299.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-14878.3515625, -522407.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-14664.42578125, -521389.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-14460.888671875, -522267.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-15345.6328125, -521928.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-14532.30078125, -520726.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-15307.327148438, -521706.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-15386.166015625, -522043.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-14633.579101562, -521238.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-14378.849609375, -521475.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-14373.28125, -521861.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-14682.41796875, -521480.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-14590.587890625, -522488.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-15502.545898438, -522021.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-14460.473632812, -521552.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-14364.567382812, -521526.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-14917.8046875, -522645.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-14451.694335938, -520141.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-14838.197265625, -522492.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-14644.969726562, -522518.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-14872.037109375, -522377.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-14779.837890625, -522618.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-15485.670898438, -522089.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-15220.365234375, -521080.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-14658.37890625, -521359.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-15252.803710938, -521232.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-15293.672851562, -521654.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-14486.774414062, -521615.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-14705.602539062, -521898.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-14470.234375, -521683.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-15491.583984375, -521914.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-14688.533203125, -521511.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-15263.150390625, -521287.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-14627.436523438, -521208.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-15240.85546875, -521179.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-14301.745117188, -521654.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-15269.634765625, -521567.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-14781.05859375, -522085.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-14670.770507812, -521420.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-14810.69921875, -522210.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-14859.583984375, -522316.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-15408.958007812, -521497.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-15199.069335938, -520980.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-14441.373046875, -520058.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Fassberg(Airport): + id = 11 + name = "Fassberg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4250000, vhf_low_hz=39400000, vhf_high_hz=122100000, uhf_hz=251000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-143381.484375, -690534.53125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield11_1')) + self.beacons.append(AirportBeacon(id='airfield11_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-144448.140625, -690345.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-144270.71875, -690773.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-143611.640625, -691105.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-144180.796875, -690616, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-144395.875, -690864.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-144256.203125, -690747.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-144359.375, -690884.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-144478.578125, -690399.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-144143.90625, -690551.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-144024.96875, -690341.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-144281.78125, -690627.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-144552.828125, -690497.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-144431.34375, -690946.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-144463.234375, -690372.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-144095.5625, -690394.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-144196.515625, -690642.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-143784.78125, -689945.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-143989.6875, -690316.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-144311.03125, -690680.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-144227.109375, -690695.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-144233.390625, -690542.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-144060.765625, -690368, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-144507.90625, -690451.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-144163.015625, -690584.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-144251.09375, -690574.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-144241.40625, -690720.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-144295.984375, -690653.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-144492.82352097, -690532.36581586, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-144413.6875, -690440.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-144493.796875, -690426.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-144211.3125, -690669.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-144522.359375, -690894, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-144392.046875, -690452.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-144265.890625, -690600.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-144214.046875, -690509.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Finow(Airport): + id = 12 + name = "Finow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4300000, vhf_low_hz=39500000, vhf_high_hz=125800000, uhf_hz=251100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-183543.0625, -456471.53125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield12_1')) + self.beacons.append(AirportBeacon(id='airfield12_2')) + self.beacons.append(AirportBeacon(id='airfield12_3')) + self.beacons.append(AirportBeacon(id='airfield12_0')) + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-184453, -455567.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='106', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-183101, -457258.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-182831.03125, -457722.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-183672.640625, -455237.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-184218.421875, -455986.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='114', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-183659.203125, -455291.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-184348.28125, -455522.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-183096.34375, -457276.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-184068.609375, -456101.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='115', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-183162.953125, -456688.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-183225.15625, -456390.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-182817.828125, -457619, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-183598.234375, -455490.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-183155.546875, -457058.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-184108.109375, -455697.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='124', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-183463.71875, -455982.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-184120.546875, -455719.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='123', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-183233.5625, -456498.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-184081.15625, -455648.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='126', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-183548.671875, -455672.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-184318.765625, -455866.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='113', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-182649.078125, -457488.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-183101.25, -456859.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-184028.546875, -455553.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='130', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-183632.3125, -455382.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-183647.90625, -455328, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-182831.671875, -457348.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-184295.84375, -455444.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='103', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-183451.734375, -456018.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-182855.421875, -457513.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-182717.046875, -457507.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-183430.96875, -456091.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-183616.40625, -455436.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-183507.90625, -455818.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-183531.828125, -455727.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-184040.984375, -455576.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='129', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-184364.375, -455341.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-184015.265625, -455529.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='131', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-183474.640625, -455946.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-183487.296875, -455891.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-184454.546875, -455628.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='108', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-183518.5, -455782.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-183685.0625, -455201.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-183129.859375, -457149.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-184340.109375, -455569.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='107', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-183569.0625, -455600.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-183436.171875, -456073.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-183172.265625, -456487.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-183278.625, -456243.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-183466.546875, -455964.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-183970.96875, -456148.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='117', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-183497.640625, -455855.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-183446.34375, -456036.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-184345.34375, -455664.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='109', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-183563.796875, -455617.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-183456.125, -456000.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-182876.484375, -457677.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-183624.8125, -454938.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-183057.109375, -456794.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-183573.453125, -455581.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-184172.171875, -455813.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='119', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-184133.828125, -455743.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='122', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-183553.453125, -455654.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-182857.484375, -457386.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-184094.625, -455672.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='125', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-184263.171875, -455418.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-183148.859375, -457076.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-183425.796875, -456109.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-183189.46875, -456595.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-183420.15625, -456127.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-183121.703125, -457186.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-183639.46875, -455096.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-183587.59375, -455526.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-183582.8125, -455545.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-183972.96875, -455461.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='134', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-184052.171875, -456173.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='118', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-184331.71875, -455486.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='105', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-184407.59375, -455396.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='104', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-183441.46875, -456054.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-184159.75, -455791.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='120', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-183140.375, -456295.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-183653.40625, -455310.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-183222.265625, -456227.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-183106.640625, -457240.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-184357.65625, -455818.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='111', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-182774.578125, -457496.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-183637.984375, -455364.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-183580.5, -455564.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-183170.484375, -456389.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-184066.890625, -455623.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='127', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-184195.078125, -455674.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='97', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-183132.296875, -457130.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-184146.25, -455766.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='121', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-183117.171875, -457204.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-183622.265625, -455418.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-184298.4375, -455729.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='110', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-183607.265625, -455473.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-183626.625, -455400.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-183137.5, -457112.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-183175.453125, -456645.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-184000.265625, -455508.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='132', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-183076.40625, -456729.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-183690.484375, -454986.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-182913.8125, -457656.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-183612.5625, -455455.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-183148.9375, -456749.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-183680.84375, -455040.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-183680.03125, -455219.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-182864.9375, -457464.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-183124.796875, -457167.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-183990.796875, -456078.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='116', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-183510.921875, -455799.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-183091.125, -457295.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-184054.46875, -455601.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='128', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-183488.921875, -455872.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-184230.109375, -455408.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='99', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-184317.734375, -455288.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-183986.59375, -455484.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='133', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-183641.453125, -455345.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-183559.265625, -455636.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-183199.25, -456310.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-182770.09375, -457659.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-184260.03125, -455776.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='112', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-183503.96875, -455837.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-183665.0625, -455274.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-183478.375, -455908.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-183575.453125, -455014.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-182597.4375, -457516.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-184161.5, -455608.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='98', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-183111.78125, -457222.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-183142.0625, -457093.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-183476.859375, -455927.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-183538.53125, -455709.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-183542.6875, -455690.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-183669.03125, -455255.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Garz(Airport): + id = 13 + name = "Garz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4325000, vhf_low_hz=39550000, vhf_high_hz=132800000, uhf_hz=251150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-69879.074219, -414332.265625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield13_3')) + self.beacons.append(AirportBeacon(id='airfield13_4')) + self.beacons.append(AirportBeacon(id='airfield13_5')) + self.beacons.append(AirportBeacon(id='airfield13_0')) + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[RunwayBeacon(id='airfield13_1', runway_name='10-28', runway_id=1, runway_side='28'), RunwayBeacon(id='airfield13_2', runway_name='10-28', runway_id=1, runway_side='28')]), opposite=RunwayApproach(name='10', heading=100, beacons=[RunwayBeacon(id='airfield13_6', runway_name='10-28', runway_id=1, runway_side='10'), RunwayBeacon(id='airfield13_7', runway_name='10-28', runway_id=1, runway_side='10')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-69978.4140625, -414708.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-70081.5, -414269.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-70215.921875, -414017.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-70016.046875, -414774.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-70177.7265625, -414089.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-69986.1640625, -414663.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-70145.4609375, -414471.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-70343.984375, -413770.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-70020, -414753.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-69937.53125, -414919.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-70196.703125, -414052.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-69730.2578125, -415266.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-69773.1875, -415203.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-69946, -414872.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-70291.5703125, -413872.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-69995.6328125, -414880.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-69983.703125, -414678.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-70234.9296875, -413981.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-70165.6640625, -414474.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-70158.953125, -414124.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-70119.5390625, -414197.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-70138.484375, -414161.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-70271.8828125, -413909.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-69988.75, -414647.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-70253.265625, -413945.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-70325.6484375, -413808.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-70063.3125, -414305.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-70130.4453125, -414418.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-69980.71875, -414693.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-70397.421875, -413660, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-70101.078125, -414233.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-70168.984375, -414404.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-69993.0390625, -414896.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-70379.5, -413697.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-70125.234375, -414468, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-70361.0078125, -413733.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-69940.40625, -414903.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-69943.2734375, -414887.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-69990.40625, -414912.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-69934.6484375, -414936.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Gatow(Airport): + id = 14 + name = "Gatow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4400000, vhf_low_hz=39700000, vhf_high_hz=122100000, uhf_hz=251300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-218611.40625, -498125.046875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield14_1')) + self.beacons.append(AirportBeacon(id='airfield14_2')) + self.beacons.append(AirportBeacon(id='airfield14_3')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield14_0', runway_name='08-26', runway_id=1, runway_side='26')]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-219031.609375, -498619.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-219028.71875, -498504.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-219650.390625, -498760.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-219099.8125, -498095.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-218995.9375, -498013.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-219038.3125, -498886.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-219170.265625, -498748.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-219302.03125, -498405.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-218971.546875, -497595.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-219166.265625, -498643.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-219167.921875, -498688.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-219035.703125, -498767.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-219035.015625, -498734.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-218982.96875, -497986.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-219150.296875, -498223.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-218932.703125, -497727.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-219287.3125, -498464.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-219033.28125, -498674.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-219012.078125, -498042.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-219029.71875, -498534.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-218883.9648495, -497568.19580947, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-219032.234375, -498646.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-219465.390625, -498083.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-218904.91653087, -497661.65746726, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-219167.171875, -497804.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-219072.38288412, -498211.12140778, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-219034.015625, -498704.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-219036.140625, -498796.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-219030.40625, -498565.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-219355.5, -498180.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-219037.234375, -498828.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-219175.375, -498870.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-219391.828125, -498153.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-219275.75, -498285.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-219511.171875, -498812.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-219174.609375, -498291, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-219031.125, -498592.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-219162.125, -498925.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-219039.5, -498915.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-219037.84375, -498858.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-219164.5625, -498592.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-219171.953125, -498795.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Templin(Airport): + id = 15 + name = "Templin" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4575000, vhf_low_hz=40050000, vhf_high_hz=128000000, uhf_hz=251650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-159756.828125, -464279.140625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield15_1')) + self.beacons.append(AirportBeacon(id='airfield15_4')) + self.beacons.append(AirportBeacon(id='airfield15_6')) + self.beacons.append(AirportBeacon(id='airfield15_8')) + self.beacons.append(AirportBeacon(id='airfield15_0')) + self.runways.append(Runway(id=2, name='01-19', main=RunwayApproach(name='01', heading=10, beacons=[]), opposite=RunwayApproach(name='19', heading=190, beacons=[]))) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield15_2', runway_name='09-27', runway_id=1, runway_side='27'), RunwayBeacon(id='airfield15_7', runway_name='09-27', runway_id=1, runway_side='27')]), opposite=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield15_3', runway_name='09-27', runway_id=1, runway_side='09'), RunwayBeacon(id='airfield15_5', runway_name='09-27', runway_id=1, runway_side='09')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-160078.890625, -464160.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-162200.25, -467275.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-162757.296875, -466847.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-160335.359375, -463266.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-159980.4375, -465622.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-162287.375, -467132.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-162830.015625, -466494.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-160061.59375, -464364.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-160080.96875, -464135.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-162750.078125, -466357.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-162582.65625, -467126.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-162830.859375, -466544.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-162095.765625, -467255, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-160128.828125, -465755, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-160359.296875, -462667.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-160195.203125, -462646.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-160611.078125, -462746.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-162836.03125, -466774.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-162818.15625, -466821.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-160292.5, -462511.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-159871.421875, -466153.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-159927.84375, -466207.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-160174.40625, -462446.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-160057.375, -464414.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-162489.875, -467213.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-160465.21875, -462553.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-162747.265625, -466423.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-160470.671875, -462666.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-160089.375, -464036.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-162872.984375, -466301, self._terrain), large=False, heli=False, + airplanes=True, slot_name='83', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-160108.578125, -463809.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-160310.90625, -463203.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-160085.140625, -464086.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-160055.265625, -464439.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-160116.984375, -463709.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-162087.65625, -467432.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-160104.40625, -463858.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-160110.671875, -463784.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-162750.328125, -466633, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-160374.15625, -463190.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-160344.484375, -462841.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-160239.609375, -462423.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-160511.03125, -462635.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-160445.859375, -463027.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-159967.5625, -465777.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-160083.0625, -464110.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-160077.234375, -465866.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-160500.125, -462983.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-160051.109375, -464488.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-162682.953125, -466902.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-160096.3125, -465636.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-162513.859375, -467154, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-162823.1875, -466299.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-160337.0625, -462928.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-160049.015625, -464513.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-160511.625, -462908.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-160329.1875, -463014.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-160359.5625, -462531.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-160114.84375, -463735.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-162251.25, -467166.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-160292.25, -463403.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-159973.65625, -465707.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-162047.921875, -467300.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-160076.796875, -464184.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-160059.453125, -464389.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-160322.75, -463088.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-159970.4375, -466157.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-160118.203125, -465829.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-160523.5625, -462563.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-160053.1875, -464464.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-160350.921875, -462754.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-159867.75, -466099.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-162239.03125, -467243.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-160087.25, -464061.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-160112.765625, -463759.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-162783.578125, -466595.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-160088.3125, -465716.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-162439.3125, -467213.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-160328.15625, -463337.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-160106.515625, -463833.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-162051.796875, -467393.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Gutersloh(Airport): + id = 16 + name = "Gutersloh" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4850000, vhf_low_hz=40600000, vhf_high_hz=122100000, uhf_hz=252200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-232635.734375, -835894.96875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield16_1')) + self.beacons.append(AirportBeacon(id='airfield16_2')) + self.beacons.append(AirportBeacon(id='airfield16_3')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield16_0', runway_name='09-27', runway_id=1, runway_side='27')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-232038.859375, -836037.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-231936.46875, -835366.90588742, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-232429.22686632, -835155.47184391, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-232036.125, -836481.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-232039.671875, -836095.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-232448.03370044, -835135.47732053, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-232003.51102991, -835514.1782425, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-233038.25, -835172.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-232350.390625, -835231.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-231884.8024094, -835436.13413632, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-232125.74157884, -835401.82334569, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-232142.95751583, -835388.87895657, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-231992.86947083, -835285.95500094, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-232028.21875, -836011.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-231980.89187729, -835542.34955218, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-231869.203125, -836243.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-232330.296875, -835250, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-232501.078125, -834985.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-232193.546875, -836685.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-233202.71875, -834746.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-232099.92282928, -835419.67644714, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-232029.953125, -836069.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-232288.73990143, -835290.00918414, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-233095.0625, -835147.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-232145.171875, -836106.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-232046.50172561, -835462.74631867, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-232081.078125, -836195.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-233242.328125, -835159.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-232075.640625, -835766.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-232009.359375, -836019.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-232239.28125, -835177.83465192, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-232092.296875, -836162.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-232161.08440447, -835376.8136794, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-232026.078125, -836607.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-232956.96875, -835347.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-232129.453125, -836069.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-233067.953125, -835030.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-232260.69719136, -835159.0723894, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-232195.69866045, -835352.82510677, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-232310.71875, -835269.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-232398.53125, -835308.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-232214.15392113, -835341.69153224, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-232468.4857596, -835116.65203047, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-232409.74855764, -835173.98213972, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-231854.265625, -835907.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-232303.5, -835124.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-232020.640625, -836044.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-231899.854763, -835413.102974, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-232060.984375, -836145.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-232390.375, -835192.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-231915.46684143, -835390.42473785, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-232081.803276, -835431.8116055, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-233101.3125, -834951.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-231958.64563543, -835350.36003443, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-232080.03125, -836137.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-232209.734375, -836871.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-232338.0625, -835357.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-232070.8125, -836170.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-232050.4375, -836120.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-232488.65718436, -835097.01083569, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-232106.9375, -836652.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-232048.875, -836062.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-233251.984375, -834846.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='84', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-232119.515625, -835266.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-232087.46875, -836776.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-232465.421875, -834999, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-232090.34375, -835288.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-232559.546875, -834975.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-232059.5, -836087.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-232070.3125, -836112.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-232370.32561957, -835212.11564931, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-232115.03125, -836033.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-232240.71875, -835322.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-232281.88409808, -835141.60482596, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-232217.5625, -835196.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-233064.75, -835283.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-232022.41440519, -835491.06793177, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-233126.265625, -835043.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-231780.5625, -835962.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-231983.625, -836291.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-232102.265625, -836187.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-232270.58176279, -835301.53771078, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-232324.37962794, -835107.87683683, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-232178.55791988, -835365.14336829, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-232367.921875, -835332.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Hamburg(Airport): + id = 17 + name = "Hamburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4925000, vhf_low_hz=40750000, vhf_high_hz=126850000, uhf_hz=252350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-63015.992188, -691931.3125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield17_1')) + self.beacons.append(AirportBeacon(id='airfield17_3')) + self.beacons.append(AirportBeacon(id='airfield17_5')) + self.beacons.append(AirportBeacon(id='airfield17_6')) + self.beacons.append(AirportBeacon(id='airfield17_7')) + self.beacons.append(AirportBeacon(id='airfield17_8')) + self.beacons.append(AirportBeacon(id='airfield17_10')) + self.beacons.append(AirportBeacon(id='airfield17_0')) + self.runways.append(Runway(id=2, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[RunwayBeacon(id='airfield17_4', runway_name='15-33', runway_id=2, runway_side='33')]), opposite=RunwayApproach(name='15', heading=150, beacons=[RunwayBeacon(id='airfield17_2', runway_name='15-33', runway_id=2, runway_side='15')]))) + self.runways.append(Runway(id=1, name='23-05', main=RunwayApproach(name='23', heading=230, beacons=[RunwayBeacon(id='airfield17_11', runway_name='05-23', runway_id=1, runway_side='23')]), opposite=RunwayApproach(name='05', heading=50, beacons=[RunwayBeacon(id='airfield17_9', runway_name='05-23', runway_id=1, runway_side='05')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-63413.31640625, -690454.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-63456.13671875, -690440.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-63427.03515625, -691484.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-62587.14453125, -690678.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-63586.0859375, -691148.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-62595.921875, -690357.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-62861.05078125, -690567.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-63060.13671875, -690330.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-62520.9921875, -690566.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-63161.6796875, -691214.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-63496.84375, -690426.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-63429.94140625, -691536.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-63484.13671875, -691008.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-62496.41015625, -690527.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-63472.40625, -691094.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-63567.43359375, -691579.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-62488.65625, -690352.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-63058.7421875, -690531.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-63328.64453125, -690457.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-62739.8046875, -690370.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-62662.5625, -690519, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-62886.03515625, -690389.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-62386.42578125, -690362.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-63118.390625, -690382.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-62674.859375, -690363.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-63599.53515625, -691055.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-63567.3984375, -691387.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-63099.8671875, -690535.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-62562.28515625, -690637.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-63149.65625, -690519.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-62838.48046875, -690375.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-63564.0078125, -691484.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-63286.5234375, -690474.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-63477.64453125, -691053.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-63000.07421875, -690277.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-62708.19140625, -690585.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-62744.1015625, -690656.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-62868.53125, -690598.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-62904.41015625, -690606.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-63573.25, -691245.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-63197.1640625, -690504.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Hamburg_Finkenwerder(Airport): + id = 18 + name = "Hamburg Finkenwerder" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4950000, vhf_low_hz=40800000, vhf_high_hz=123200000, uhf_hz=252400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-71728.09375, -703320, terrain), terrain) + + self.runways.append(Runway(id=1, name='05-23', main=RunwayApproach(name='05', heading=50, beacons=[RunwayBeacon(id='airfield18_2', runway_name='05-23', runway_id=1, runway_side='05'), RunwayBeacon(id='airfield18_0', runway_name='05-23', runway_id=1, runway_side='05')]), opposite=RunwayApproach(name='23', heading=230, beacons=[RunwayBeacon(id='airfield18_1', runway_name='05-23', runway_id=1, runway_side='23'), RunwayBeacon(id='airfield18_3', runway_name='05-23', runway_id=1, runway_side='23')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-71143.453125, -702701.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-71146.6015625, -703177.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='5', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-71068.8046875, -702602.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-71142.9921875, -702564.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-71166.8125, -702742.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='9', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-71004.671875, -702796, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-71375.4453125, -703156.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-70951.1953125, -702667.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-71092.3984375, -702591.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-71018.2890625, -702627.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-71042.15625, -702613.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-71116.0859375, -702578.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-71360.7734375, -703199, self._terrain), large=False, heli=True, + airplanes=True, slot_name='3', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-71215.625, -703057.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='4', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-71189.25, -702782.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='8', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-71170.0078125, -702551.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-71071.359375, -703080.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='6', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-71211.546875, -702822.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='7', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-71389.2421875, -703113.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='1', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Hannover(Airport): + id = 19 + name = "Hannover" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4525000, vhf_low_hz=40850000, vhf_high_hz=120200000, uhf_hz=252450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-189701.609375, -731558.6875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield19_1')) + self.beacons.append(AirportBeacon(id='airfield19_2')) + self.beacons.append(AirportBeacon(id='airfield19_3')) + self.beacons.append(AirportBeacon(id='airfield19_7')) + self.beacons.append(AirportBeacon(id='airfield19_8')) + self.beacons.append(AirportBeacon(id='airfield19_9')) + self.beacons.append(AirportBeacon(id='airfield19_11')) + self.beacons.append(AirportBeacon(id='airfield19_0')) + self.runways.append(Runway(id=2, name='27R-09L', main=RunwayApproach(name='27R', heading=270, beacons=[RunwayBeacon(id='airfield19_10', runway_name='09L-27R', runway_id=2, runway_side='27R')]), opposite=RunwayApproach(name='09L', heading=90, beacons=[RunwayBeacon(id='airfield19_5', runway_name='09L-27R', runway_id=2, runway_side='09L')]))) + self.runways.append(Runway(id=1, name='27L-09R', main=RunwayApproach(name='27L', heading=270, beacons=[RunwayBeacon(id='airfield19_6', runway_name='09R-27L', runway_id=1, runway_side='27L')]), opposite=RunwayApproach(name='09R', heading=90, beacons=[RunwayBeacon(id='airfield19_4', runway_name='09R-27L', runway_id=1, runway_side='09R')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-189428.71875, -731560.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-189126.796875, -731531.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='6', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-189259.625, -731543.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='8', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-189588.546875, -730372.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-189003.390625, -731492.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='4', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-189547.6875, -730416.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-189078.859375, -731851.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='1', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-189453.203125, -731040.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-189663.5, -730437, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-189083.453125, -731505.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='5', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-189214.25, -731571.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='7', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-189480.109375, -730647.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-189556.78125, -730505.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-189139.828125, -731818.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-189674.078125, -730362.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-189419.6875, -731605.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-189413.40625, -731291.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-189365.71875, -731005.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-189496.375, -730629.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-189587.984375, -730466.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-189397.640625, -731339.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-189394.0625, -730907.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-189436.84375, -731515.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-189601.21875, -730356.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-189330.546875, -731205.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-189574.203125, -730484.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-189427.296875, -730711.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-189334.9375, -731141.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-189403.46875, -730740.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-189271.859375, -731489.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='9', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-189614.828125, -730341.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-188974.34375, -731506.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='3', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-189506.5, -730808, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-189531.765625, -730434.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-189424.375, -730839.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-189363.328125, -731077.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-189647.625, -730512.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Laage(Airport): + id = 20 + name = "Laage" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4650000, vhf_low_hz=41100000, vhf_high_hz=129500000, uhf_hz=252700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-51928.916016, -536642.375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield20_1')) + self.beacons.append(AirportBeacon(id='airfield20_2')) + self.beacons.append(AirportBeacon(id='airfield20_3')) + self.beacons.append(AirportBeacon(id='airfield20_4')) + self.beacons.append(AirportBeacon(id='airfield20_5')) + self.beacons.append(AirportBeacon(id='airfield20_6')) + self.beacons.append(AirportBeacon(id='airfield20_0')) + self.runways.append(Runway(id=1, name='10-28', main=RunwayApproach(name='10', heading=100, beacons=[]), opposite=RunwayApproach(name='28', heading=280, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-53014.2578125, -535148.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-51068.8359375, -537397.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='178', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-51567.8359375, -536020.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='137', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-52962.109375, -535587.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-51637.52734375, -535280.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='117', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-51418.171875, -537383.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='160', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-51485.6953125, -537128.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='148', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-51790.828125, -535351.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-51928.56640625, -535594.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-52101.51953125, -537932.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-52566.9375, -535558.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-52718.96875, -535241.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-52234.0625, -537978.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-51575.9765625, -536475.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='139', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-51683.1015625, -535284, self._terrain), large=False, heli=True, + airplanes=True, slot_name='112', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-51469.125, -537189.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='151', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-52997.625, -535138.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-52452.30078125, -537900.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-51528.859375, -536547, self._terrain), large=False, heli=True, + airplanes=True, slot_name='142', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-51467.24609375, -537500, self._terrain), large=False, heli=True, + airplanes=False, slot_name='164', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-52973.37109375, -535427.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-53088.375, -535386.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-52390.5390625, -536085.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-51563.90625, -535933.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='135', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-51497.2890625, -536490.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='141', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-52407.109375, -536020.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-51746.66015625, -535328.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-52233.015625, -538531.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-52320.3828125, -538206.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-52337.6015625, -538146.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-51912.55859375, -535656.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-51681.25, -535302.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='111', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-51145.37109375, -537437.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='177', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-51677.47265625, -535341.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='109', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-51168.70703125, -537520.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='171', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-52373.1875, -536150, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-52355.859375, -536214.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-51949.5625, -535377.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-51202.84765625, -537367.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='181', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-51031.1328125, -537444.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='176', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-51696.7734375, -535445.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='107', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-51502.78125, -535919.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='134', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-52411.859375, -535961.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-52424.23046875, -537979.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-51435.65625, -537317.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='157', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-52216.140625, -538179.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-52414.15234375, -538104.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-51885.1328125, -535371.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-51887.0703125, -537967.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-51286.4375, -537694.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='165', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-51752.40234375, -535271.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-51141.5390625, -537606.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='170', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-52316.4296875, -537793.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-51547.60546875, -535361.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='122', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-52424.125, -535916.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-51686.73828125, -535246.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='114', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-52961.234375, -535295.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-51885.03515625, -535761, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-51934.18359375, -535572.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-51480.07421875, -537149, self._terrain), large=False, heli=True, + airplanes=True, slot_name='149', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-51846.18359375, -535291.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-52060.91015625, -538086.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-51951.35546875, -535509.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-51764.8984375, -535710.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-52142.48046875, -538473.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-52833.76171875, -535136.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-51794.625, -535313, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-51015.81640625, -537356.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='179', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-51227.03125, -537655.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='168', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-51458.5234375, -537231, self._terrain), large=False, heli=True, + airplanes=True, slot_name='153', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-51088.69140625, -536782.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='193', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-51576.73046875, -537074.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='145', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-51792.5, -535332.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-51394.6953125, -535666.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='127', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-52436.5, -535871.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-51429.0078125, -535548.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='126', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-52683.61328125, -535600.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-51009.4375, -537645.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='173', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-51423.8046875, -537362.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='159', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-51962.35546875, -535466.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-51864.3125, -535303.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-51582.93359375, -535309, self._terrain), large=False, heli=False, + airplanes=True, slot_name='121', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-52048.28515625, -537900.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-51463.765625, -537210.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='152', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-51075.35546875, -537296.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='182', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-51283.98046875, -536931.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='187', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-51578.546875, -535474.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='123', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-51635.7734375, -535299.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='118', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-51299.76953125, -536882.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='188', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-51945.76953125, -535529.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-51403.69921875, -537447.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='163', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-52546.46875, -535552.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-52177.58984375, -537921.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-51447.34765625, -537273.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='155', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-51748.74609375, -535308.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-52140.890625, -538333.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-52124.328125, -538399.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-51424.12109375, -535741.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='128', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-51683.42578125, -535265.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='113', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-51956.890625, -535488, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-51021.234375, -537333.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='180', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-51201.05078125, -537311.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='183', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-51906.74609375, -535677.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-51484.34765625, -535848.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='130', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-51610.54296875, -536190.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='138', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-52844.01953125, -535533.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-52688.0546875, -535491.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-52587.5234375, -535563.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-53081.15234375, -535296.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-52448.7265625, -535824.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-52861.24609375, -535318.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-51781.15625, -535587.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-52264.14453125, -538401.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-51923.37109375, -535614, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-51477.48046875, -535433, self._terrain), large=False, heli=False, + airplanes=True, slot_name='124', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-51639.4296875, -535261.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='116', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-51641.5078125, -535242.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='115', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-52796.46875, -535203, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-51799.7109375, -535256.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-51092.9140625, -537588.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='172', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-51756.0078125, -535646.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-51265.8125, -537681.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='166', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-51901.1953125, -535698, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-51549.77734375, -536467.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='140', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-52767.44140625, -535528.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-51474.60546875, -537169.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='150', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-51758.82421875, -535432.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-51384.1015625, -535863.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='131', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-51906.2265625, -535373.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-52338.3359375, -538280.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-51865.69140625, -537962.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-51214.5546875, -536829.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='191', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-52897.46484375, -535645.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-51199.5546875, -537237.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='185', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-51554.22265625, -536553.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='143', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-52248.671875, -538466.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-51647.46875, -535430.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='108', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-51679.48046875, -535323.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='110', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=140, position=mapping.Point(-51018.328125, -537593.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='174', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=141, position=mapping.Point(-51407.5390625, -537426.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='162', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=142, position=mapping.Point(-51967.8203125, -535445, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=143, position=mapping.Point(-51794.5625, -535293.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=144, position=mapping.Point(-51490.77734375, -537108.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='147', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=145, position=mapping.Point(-52123.96875, -538528.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=146, position=mapping.Point(-51181.5546875, -537635.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='169', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=147, position=mapping.Point(-51429.6015625, -537339.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='158', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=148, position=mapping.Point(-51631.8984375, -535338.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='120', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=149, position=mapping.Point(-52856.8125, -535771.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=150, position=mapping.Point(-52465.625, -538036, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=151, position=mapping.Point(-53002.0859375, -535533.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=152, position=mapping.Point(-51494.3125, -535797.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='129', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=153, position=mapping.Point(-51939.89453125, -535551.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=154, position=mapping.Point(-51744.87109375, -535348.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=155, position=mapping.Point(-51895.59375, -535718.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=156, position=mapping.Point(-52487.1015625, -537773.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=157, position=mapping.Point(-51750.5, -535289.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=158, position=mapping.Point(-51796.2421875, -535275.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=159, position=mapping.Point(-52177.65234375, -538203.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=160, position=mapping.Point(-52641.67578125, -535366, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=161, position=mapping.Point(-51890.51171875, -535739.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=162, position=mapping.Point(-51809.69140625, -535530.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=163, position=mapping.Point(-52818.5390625, -535637.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=164, position=mapping.Point(-51927.94921875, -535375.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=165, position=mapping.Point(-51449.328125, -535985.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='133', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=166, position=mapping.Point(-52190.43359375, -538276.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=167, position=mapping.Point(-51245.65234375, -537668.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='167', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=168, position=mapping.Point(-51501.06640625, -536027.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='136', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=169, position=mapping.Point(-51352.140625, -536687.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='144', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=170, position=mapping.Point(-52607.93359375, -535569.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=171, position=mapping.Point(-52112.15234375, -538032.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=172, position=mapping.Point(-52689.296875, -535307.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=173, position=mapping.Point(-51452.51953125, -537251.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='154', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=174, position=mapping.Point(-51918.05859375, -535634.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=175, position=mapping.Point(-51249.21484375, -537150.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='186', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=176, position=mapping.Point(-52912.546875, -535166.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=177, position=mapping.Point(-51150.28125, -536780.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='192', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=178, position=mapping.Point(-51390.9609375, -535950.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='132', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=179, position=mapping.Point(-52036.19140625, -538020.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=180, position=mapping.Point(-51754.48046875, -535252.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=181, position=mapping.Point(-53059.4765625, -535225.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=182, position=mapping.Point(-51441.55078125, -537295.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='156', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=183, position=mapping.Point(-52321.73046875, -538346.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=184, position=mapping.Point(-51019.97265625, -537499.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='175', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=185, position=mapping.Point(-51930.26171875, -537979.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=186, position=mapping.Point(-51413.3203125, -537404.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='161', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=187, position=mapping.Point(-51486.48828125, -535498.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='125', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=188, position=mapping.Point(-51202.2578125, -536888.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='190', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=189, position=mapping.Point(-52756.375, -535421.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=190, position=mapping.Point(-51190.5703125, -536942.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='189', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=191, position=mapping.Point(-51908.69921875, -537973.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=192, position=mapping.Point(-51109.41796875, -537247.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='184', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=193, position=mapping.Point(-51496.0078125, -537088.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='146', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=194, position=mapping.Point(-51633.6875, -535319.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='119', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Larz(Airport): + id = 21 + name = "Larz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4450000, vhf_low_hz=41150000, vhf_high_hz=129900000, uhf_hz=252750000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-123501.402344, -513588.921875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield21_1')) + self.beacons.append(AirportBeacon(id='airfield21_2')) + self.beacons.append(AirportBeacon(id='airfield21_4')) + self.beacons.append(AirportBeacon(id='airfield21_7')) + self.beacons.append(AirportBeacon(id='airfield21_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[RunwayBeacon(id='airfield21_5', runway_name='08-26', runway_id=1, runway_side='08'), RunwayBeacon(id='airfield21_6', runway_name='08-26', runway_id=1, runway_side='08')]), opposite=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield21_3', runway_name='08-26', runway_id=1, runway_side='26'), RunwayBeacon(id='airfield21_8', runway_name='08-26', runway_id=1, runway_side='26')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-122799.9375, -514175.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-123878.1484375, -514335.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-123120.125, -514710.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-123905.6640625, -514516.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-123731.5234375, -512585.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-123674.109375, -512905.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-124220.578125, -513909.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='119', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-123079.3046875, -514170.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-124593.265625, -513893.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='124', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-122788.25, -514243.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-122888.1875, -514242.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-123388.4765625, -514859.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-123731.0625, -513335, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-124065.578125, -513873.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='106', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-123047.890625, -514414.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-122939.5, -514334.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-122939.0546875, -514215.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-124522.4765625, -513955.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='133', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-124523.25, -514125.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='129', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-123209.0859375, -514330.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-124496.625, -513855.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='123', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-124226.2265625, -514270.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-123896.84375, -514455.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-123352.96875, -514713.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-124557.9453125, -514067.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='127', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-124361.40625, -513764.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='116', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-122964.5234375, -514260.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-124168.3828125, -514328.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-123016.765625, -514173.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-124043.921875, -513735.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='105', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-123908.3984375, -512776.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-124479.765625, -514029.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='131', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-123154.4765625, -514209.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-123637.359375, -512692.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-123068.0859375, -514265.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-124591.375, -514017.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='126', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-123657.734375, -512795.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-124122.6015625, -513682.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='103', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-123112.4296875, -514132.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-124535.59375, -513710.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='114', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-123191.0625, -514089.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-123168.0625, -514614.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-123128.8125, -514375.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-123212.71875, -514129.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-123227.703125, -514648.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-123841.7265625, -513632.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='111', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-122990.3125, -514307.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-123907.5859375, -514529.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-123047.515625, -514462.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-123249.125, -514309.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-123909.375, -514541.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-123082.765625, -514528.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-123644.25, -512741.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-122865.4453125, -514202.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-122811.2734375, -514284.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-123734.7578125, -513359.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-123745.7734375, -513433.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-123633.484375, -512667.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-124073.53125, -513172.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-123752.7578125, -513482.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-124202.03125, -513640.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-123944.1875, -513720.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='110', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-122994.2734375, -514132.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-124238.921875, -513960.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='120', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-124240.890625, -513316.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='98', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-122916.40625, -514174.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-123233.1015625, -514167.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-124320.21875, -513827.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='117', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-123641.03125, -512716.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-123886.046875, -514385.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-123740.1640625, -513396.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-123749.2109375, -513457.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-124441.3671875, -513382.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='100', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-123717.125, -512512.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-123832.296875, -513556.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='112', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-124128.921875, -513853.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='104', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-123892.3359375, -512929, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-123898.65625, -514467.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-123894.6171875, -514443.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-124264.1875, -513515, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-122977.984375, -514611.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-123911.484375, -514554.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-124362.6171875, -513216.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='99', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-123741.8828125, -513408.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-123732.9375, -513347.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-123883.96875, -514373.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-123980.875, -513015.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-123736.671875, -513371.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-123900.3203125, -514480.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-123853.1171875, -512886.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-124242.4609375, -514243.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='103', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-123134.5234375, -514172.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-123131.671875, -514073.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-123751.046875, -513469.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-124389.7890625, -513919.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='121', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-124616.171875, -513978.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='125', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-124561.6953125, -513670.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='113', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-123956.3046875, -512821.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-123882, -514360.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-123747.34375, -513445.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-124541.65625, -514096.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='128', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-123446.59375, -514882.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-123626.0625, -512618.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-123666.3828125, -512852, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-123690.15625, -513017.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-122943.140625, -514503.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-123286.9140625, -514284.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-123879.7890625, -514347.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-123089.1328125, -514395.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-123743.90625, -513420.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-123682.09375, -512961.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-123903.6953125, -514504.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-124501.0390625, -513991.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='132', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-123042.2421875, -514218.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-123698.6328125, -513072.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-124256.6796875, -513844.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='118', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-124010.78125, -513903.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='107', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-123629.8125, -512643.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-123938.8046875, -513976, self._terrain), large=False, heli=False, + airplanes=True, slot_name='108', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-122928.5234375, -514108.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-124432.0078125, -513939.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='122', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-123729.1953125, -513322.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-124112.40625, -513232.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='96', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-124247.3046875, -513161.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='95', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-124498.3984375, -513777.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='115', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-124160.2421875, -513297.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='97', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-123169.1796875, -514353, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-123621.8203125, -512594.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-123336.5703125, -514811.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-123861.59375, -513798.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='109', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-123738.4453125, -513384.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-124458.65625, -514066.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='130', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-123183.7109375, -514734.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-123902.109375, -514492.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-124111.3359375, -513005.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-122913.3515625, -514287.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Mahlwinkel(Airport): + id = 22 + name = "Mahlwinkel" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3775000, vhf_low_hz=41200000, vhf_high_hz=126100000, uhf_hz=252800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-217711.992188, -588190.34375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield22_3')) + self.beacons.append(AirportBeacon(id='airfield22_5')) + self.beacons.append(AirportBeacon(id='airfield22_6')) + self.beacons.append(AirportBeacon(id='airfield22_7')) + self.beacons.append(AirportBeacon(id='airfield22_8')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield22_1', runway_name='09-27', runway_id=1, runway_side='27'), RunwayBeacon(id='airfield22_0', runway_name='09-27', runway_id=1, runway_side='27')]), opposite=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield22_2', runway_name='09-27', runway_id=1, runway_side='09'), RunwayBeacon(id='airfield22_4', runway_name='09-27', runway_id=1, runway_side='09')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-218666.640625, -587130.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-218157.859375, -588727.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-217857.546875, -589189.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-218715.953125, -587251.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-218190.765625, -588637.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-217801.03125, -589615.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-218037.890625, -588847.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-218709.234375, -587298.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='9', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-217968.203125, -588977.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-217790.890625, -589662.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-218148.1875, -588766.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-217893.59375, -588918.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-218501.203125, -587276.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='3', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-218209.71875, -588303.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-218265.140625, -587886.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-217708.96875, -589580.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-218312.578125, -587335.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-218278.515625, -587232.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-217899.78125, -588871.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-218471.875, -587236.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='2', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-218173.640625, -588682.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-218123.390625, -587867.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-218713.84375, -587136.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-218121.359375, -587141.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-218170.546875, -587874.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-217918.03125, -588651.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-217949.828125, -588412.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-218459.59375, -587546.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-218217.921875, -587322.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-218193.484375, -587510.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-217844.390625, -589284.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-218031.90625, -588895.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-218217.890625, -587880.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-218224.25, -588548.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-217838.84375, -589331.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-217925.890625, -588593, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-218447.140625, -587373.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-217813.859375, -589520.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-218288.09375, -587523, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-218430.625, -587328.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-218207.15625, -588593.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-218573.375, -587198.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='7', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-218265.34375, -587328.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-218275.703125, -587616.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-218325.953125, -587238.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-217957.609375, -588354.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-218322.9375, -587622.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-218462.53125, -587418.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-217887.078125, -588966.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-217974.25, -588221.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-218349.96875, -587842.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-217987.78125, -588127.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-218141.234375, -588814.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-218225.109375, -588398, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-218721.859375, -587204, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-217981.390625, -588174.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-218044.171875, -588800.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-218231.1875, -587226.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-217820, -589473.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-217714.765625, -589532.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-218117.984375, -588559.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-218181.140625, -587603.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-217941.96875, -588472.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-217832.328125, -589379.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-218619.265625, -587124.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-218111.8125, -587769.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-217702.40625, -589627.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-218128.34375, -588908.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-218465.84375, -587499.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-218217.25, -588351, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-217696.875, -589674.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-218335.65625, -587529.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-217933.953125, -588532.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-218084.296875, -588648.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-218590.90625, -587242.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='6', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-218005.25, -588937.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-218555.734375, -587153.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='8', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-218228.484375, -587610.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-217906.796875, -588824.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-218448.5625, -587178.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='1', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-218159.125, -587775.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-217927.171875, -589023.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-218101.125, -588604.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-217851.34375, -589237.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-218253.609375, -587788.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-218206.359375, -587782.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-218518.78125, -587321.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='4', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-218134.296875, -588861.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-218608.515625, -587286.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='5', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-218232.828125, -588445, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-218380.078125, -587807, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-218241.015625, -587516.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-217807.640625, -589568.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-217826.46875, -589426.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-217963.890625, -588305.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-217880.875, -589013.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-218129.875, -587078.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=36.0, width=36.0, height=15.0, shelter=False)) + + +class Neubrandenburg(Airport): + id = 23 + name = "Neubrandenburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4275000, vhf_low_hz=41400000, vhf_high_hz=124500000, uhf_hz=253000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-94805.402344, -473243.828125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield23_1')) + self.beacons.append(AirportBeacon(id='airfield23_2')) + self.beacons.append(AirportBeacon(id='airfield23_3')) + self.beacons.append(AirportBeacon(id='airfield23_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-94341.453125, -472812.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-94575.3125, -473656.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-94421.75, -472709.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-94546.578125, -473801.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-95206.390625, -472712.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-94530.59375, -473731.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-95183.297435838, -472465.63580187, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-95190.3046875, -472932.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-94533.1015625, -473705.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-95197.9453125, -472822.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-94424.09375, -472759.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-95198.109375, -472485.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-94649.25, -472254.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-95201.625, -472778.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-94618.640625, -472406.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-95196.1953125, -472844.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-95205.625, -472734.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-95208.1640625, -472690.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-95236.3359375, -473995.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-95157.0078125, -473979.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-95210.171875, -472668.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-95213.8671875, -472624.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-94550.7265625, -473706.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-94601.671875, -472307.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-94505.7421875, -472532.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-95168.578125, -472445.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-94560.71875, -472348.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-95192.15625, -472910.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-94555.546875, -473655.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-94971.078125, -474230.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-95188.015625, -472976.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-95212.0703125, -472647.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-95199.796875, -472800.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-94346.953125, -472943.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-95345.016514495, -472639.09570639, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-95397.8671875, -473256.98163171, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-95182.7421875, -473041.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-95188.9609375, -472953.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-95194.484375, -472866.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-94528.640625, -473800.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-95185.875, -472998.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-94481, -472574.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-94500.2421875, -472367.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-94548.515625, -473732.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-94564.0625, -473802.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-95194.109375, -472888.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-95202.8828125, -472756.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-94387.53125, -472494.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-94535.625, -473653.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-94358.359375, -472576.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-95180.78125, -473063.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-95184.203125, -473019.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-94311.1171875, -472868.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-94330.7890625, -472736.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-95349.1328125, -473292, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-95137.788271178, -472520.43433556, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-94337.015625, -472662.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-94551.7421875, -472480.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Neuruppin(Airport): + id = 24 + name = "Neuruppin" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4875000, vhf_low_hz=41850000, vhf_high_hz=123500000, uhf_hz=253450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-164287.023438, -515985.171875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield24_1')) + self.beacons.append(AirportBeacon(id='airfield24_2')) + self.beacons.append(AirportBeacon(id='airfield24_3')) + self.beacons.append(AirportBeacon(id='airfield24_0')) + self.runways.append(Runway(id=1, name='10-28', main=RunwayApproach(name='10', heading=100, beacons=[]), opposite=RunwayApproach(name='28', heading=280, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-163856.75, -515003.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-164037.640625, -515339.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-164749.171875, -515846.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-164011.890625, -515391.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-164896.953125, -515016.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-164168.625, -514788, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-164682.671875, -515742.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-164232.640625, -514783.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-164754.40625, -514929.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-164259.59375, -517045.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-163838.671875, -515525.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-164811.671875, -514856.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-164875.6875, -515247.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-163871.6875, -515806.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-164668.203125, -516028.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-163953.84375, -515182.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-164702.21875, -515969.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-164124.65625, -515360.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-163996.5625, -515051.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-164267.734375, -517025.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-164101.40625, -515269.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-164092.234375, -516499.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-163876.109375, -516067, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-164070.046875, -516582.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-164518.640625, -516484.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-164733.59375, -515887.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-163966.125, -515872.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-164098.234375, -515412.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-164795.484375, -515722.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-164506.609375, -516108.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-164750.015625, -515561.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-164826.03125, -515273.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-164717.8125, -515928.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-163833.09375, -515589.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-163862.34375, -515160.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-164055.375, -515402.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-164764.578125, -515805.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-164102.46875, -515015.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-163967.09375, -515919.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-164035.703125, -515482.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-164529.0625, -516050.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-164078.625, -515492.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-164242.390625, -517085.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-164250.703125, -517064.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-163906.859375, -515171.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-164779.9375, -515764.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-163994.609375, -515738.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-164080.890625, -516541.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-164791.484375, -514850.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-164144.640625, -515280.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-164660.484375, -516048.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-163872.03125, -515969.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-164048.375, -516666.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-164886.953125, -514811.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-164807.203125, -514971.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-164072.953125, -515106.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-164771.203125, -514845.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-164855.765625, -514994.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-164269.625, -516767.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-164903.25, -515163.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-164082.296875, -515349.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-164873.15625, -515074.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-164054.109375, -516643.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-163934.328125, -515262.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-163991.609375, -515472, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-163931.484375, -514957.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-163887.65625, -515250.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-164064.578125, -516602.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-164082.046875, -514830.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-164059.3125, -516623.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-163978.375, -516040.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-164803.671875, -515330.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-164137.640625, -514919.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-163963.75, -515523.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-163795.859375, -515019.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-164057.625, -515260.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-163983.5625, -515114.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-163924.046875, -516130.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-163963.03125, -515616.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-164810.953125, -515681.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-164676.171875, -516008.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-164670.59375, -515674.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-163842.359375, -515239.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-164929.46875, -514866.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-164826.625, -515640.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-163993.28125, -515799.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-164585.03125, -515943.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-164097.3125, -516477.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-164075.53125, -516561.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-164086.125, -516520.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-164692.359375, -515615.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-164590.875, -515998.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Peenemunde(Airport): + id = 25 + name = "Peenemunde" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4675000, vhf_low_hz=41950000, vhf_high_hz=124000000, uhf_hz=253550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-36297.238751, -436059.823441, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield25_1')) + self.beacons.append(AirportBeacon(id='airfield25_2')) + self.beacons.append(AirportBeacon(id='airfield25_3')) + self.beacons.append(AirportBeacon(id='airfield25_4')) + self.beacons.append(AirportBeacon(id='airfield25_0')) + self.runways.append(Runway(id=1, name='13-31', main=RunwayApproach(name='13', heading=130, beacons=[]), opposite=RunwayApproach(name='31', heading=310, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-35831.90234375, -435633.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-36461.84375, -436417.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-36965.78125, -435836.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-36666.90625, -436949.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-36334.09765625, -436647.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='123', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-36068.62109375, -436522.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='114', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-36558.64453125, -437044.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-36718.1015625, -436281.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-35905.5859375, -435515.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-35823.6484375, -436868.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-36964.76171875, -435916.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-36534.6015625, -435261.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-36648.91796875, -436524.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-36584.8515625, -436258.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-36506.307058223, -435382.21925408, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-36537.8671875, -436831.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-36665.08203125, -437153.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-36466.19921875, -436446.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-37300.6015625, -435448.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-36545.68359375, -436907.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-36098.60546875, -436651.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='112', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-36689.671875, -436177.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-36584.8046875, -436682.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-36599.01171875, -436620.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-36963.8125, -435796.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-36875.53515625, -435876.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-36582.94140625, -437258.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-36550.58984375, -436286.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-36829.0390625, -436068.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-36787.171875, -436430.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-37041.21875, -435735.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-36619.90234375, -436231.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-36696.75390625, -436407.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-36431.5, -435282.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-36587.11328125, -437297.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-36581.25390625, -437241.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-36547.65625, -436929.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-36672.64453125, -436465.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-35749.59765625, -436950.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-36090.345311506, -435479.78863006, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-36487.41015625, -436586.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-36330.9921875, -436444.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='116', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-36283.55078125, -436598.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='122', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-36403.737187592, -435438.36863173, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-37043.73046875, -435754.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-36820.09375, -436347.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-36564.9140625, -437085.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-35937.56640625, -436769.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='108', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-36681.09375, -435246.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-36551.44921875, -436967.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-36172.80859375, -436604.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='119', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-36572.81640625, -437164.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-36569.96875, -437143.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-35731.83203125, -435497.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-36515.11328125, -436313.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-36793.4921875, -436095.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-36817.34765625, -435258.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-36539.90234375, -436853.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-36584.640625, -437279.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-36658.7890625, -436777.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-36566.8671875, -437104.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-36758.7578125, -436122.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-36503.57421875, -436698.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-36579.21484375, -437220.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-36036.4375, -435542.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-36553.5078125, -436986.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-36723.91015625, -436150.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-36543.69921875, -436890, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-36458.1484375, -436391.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-36671.30078125, -435424.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-36965.37109375, -435876.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-36283.11328125, -435325.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-36655.30078125, -436204.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-36351.805342702, -435428.25184212, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-36704.17578125, -436327.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-36470.28125, -436475.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-36006.765625, -435575.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-36035.328125, -436731.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='110', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-36194.13671875, -436638.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='120', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-35946.78515625, -435413.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='95', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-36499.6484375, -436671.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-36478.87109375, -436341.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-36474.4375, -436503.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-35644.0390625, -435421.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-36459.4140625, -435391.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='83', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-36557.07421875, -437023.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-36589.29296875, -437318.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-37270.28125, -435472.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-36166.671875, -436434.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='115', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-36549.96875, -436948.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-37036.1796875, -435710.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-36719.359375, -435239, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-35820.3359375, -435650.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-35983.703125, -436740.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='109', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-36959.72265625, -435722.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-36206.4765625, -435448.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-35683.84375, -437023.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-36563.3984375, -437065.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-36241.23828125, -436683.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='121', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-36280.48046875, -436501.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='117', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-36054.833363679, -435488.08147096, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-36577.4296875, -437201.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-35898.32421875, -436800.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='107', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-36478.859375, -436531.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-36555.03125, -437006.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-36319.8203125, -435457.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-36574.62890625, -437182.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-36075.66015625, -436700.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='111', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-36762.625, -436495.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-36624.40625, -436585.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-36568.3671875, -437124.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-36483.14453125, -436559.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-36228.80859375, -436541.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='118', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-36014.3828125, -436574.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='113', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-36749.734375, -435347.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-36490.96484375, -436615.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-36682.234375, -436677.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-35552.61328125, -437008.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-36613.078125, -435360.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-35802.4609375, -435544.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-36495.33203125, -436643.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-35573.84375, -437026.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-36143.510555786, -435465.57721057, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=18.5, width=12.5, height=5.5, shelter=False)) + + +class Schonefeld(Airport): + id = 26 + name = "Schonefeld" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4550000, vhf_low_hz=42000000, vhf_high_hz=121300000, uhf_hz=253600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-231590.28125, -472324.46875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield26_2')) + self.beacons.append(AirportBeacon(id='airfield26_5')) + self.beacons.append(AirportBeacon(id='airfield26_6')) + self.beacons.append(AirportBeacon(id='airfield26_8')) + self.runways.append(Runway(id=1, name='25L-07R', main=RunwayApproach(name='25L', heading=250, beacons=[RunwayBeacon(id='airfield26_7', runway_name='07R-25L', runway_id=1, runway_side='25L'), RunwayBeacon(id='airfield26_9', runway_name='07R-25L', runway_id=1, runway_side='25L')]), opposite=RunwayApproach(name='07R', heading=70, beacons=[RunwayBeacon(id='airfield26_4', runway_name='07R-25L', runway_id=1, runway_side='07R'), RunwayBeacon(id='airfield26_0', runway_name='07R-25L', runway_id=1, runway_side='07R')]))) + self.runways.append(Runway(id=2, name='25R-07L', main=RunwayApproach(name='25R', heading=250, beacons=[RunwayBeacon(id='airfield26_1', runway_name='07L-25R', runway_id=2, runway_side='25R'), RunwayBeacon(id='airfield26_3', runway_name='07L-25R', runway_id=2, runway_side='25R')]), opposite=RunwayApproach(name='07L', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-232973.765625, -474068.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-233012.875, -474396, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-231770.59375, -474192.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-232943.015625, -474076.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-231746.984375, -474147.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-232913.203125, -473921.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-232878.328125, -473600.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-230937.46875, -473079.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-232992.28125, -474469.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-231115.078125, -473390.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-232969.78125, -473996.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-232997.859375, -474084.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-231952.43971234, -474161.65522767, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-231885.69890424, -474023.69367643, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-231602.71875, -473849.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-233039.875, -474317.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-233091.5625, -474340.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-232806.4375, -473616.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-232628.578125, -472952.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='1', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-232965.671875, -473380.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='7', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-232816.671875, -473350.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='5', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-232741.234375, -473334.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='4', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-232985.125, -473301.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='8', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-233004.453125, -474363.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-232950.4375, -473958.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-232842.375, -473606.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-231793.4375, -474236.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-231834.546875, -474136.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-233082.515625, -473701, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-231446.515625, -473843.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-232913.125, -473876.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-232926.171875, -473965.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-232932.734375, -473916.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-231977.015625, -472967.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-231929.41492711, -474113.9640301, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-232090.265625, -472938.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-232924.421875, -473762.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-232777.515625, -473472.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='9', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-231866.04262091, -473981.6137716, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-232791.03125, -473528.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-231908.27228233, -474068.97809104, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-231242.39881215, -473326.4756674, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-233083.53125, -474304.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-233058.0625, -474382.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-232033.3125, -472953.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-232690.96875, -472959.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-231181.99217646, -473105.40588507, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-231207.47844788, -473206.44325436, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-231166.14688868, -473045.72933179, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-231853.828125, -474174.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-233064.921875, -473678.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-232924.484375, -474007.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-232967.140625, -473821.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-232857.70516904, -473359.57383973, self._terrain), large=False, heli=True, + airplanes=True, slot_name='6', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-232994.59375, -474329.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-233101.75, -473724.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-231815.34375, -474099.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-231452.703125, -473864.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-233099.359375, -474372.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-230945.125, -473111.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-231133.11827572, -473454.08662963, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-233045.078125, -473653.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-232939.796875, -474144.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-233022.8125, -473626.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-232878.015625, -473931.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-231051.50897738, -473180.69940378, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=61.0, width=61.0, height=20.0, shelter=False)) + + +class Stendal(Airport): + id = 27 + name = "Stendal" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4600000, vhf_low_hz=42050000, vhf_high_hz=122000000, uhf_hz=253650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-190960.894236, -585213.869614, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield27_1')) + self.beacons.append(AirportBeacon(id='airfield27_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-191378.640625, -584713.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='122', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-190322.578125, -584831.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-190626.894976, -584311.02017404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-191319.3089399, -584137.50072517, self._terrain), large=False, heli=True, + airplanes=False, slot_name='154', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-191244.0625, -584635.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='128', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-190801.04677935, -586088.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-190478.71875, -584786.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-190292.90625, -584627.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-191413.953125, -584220.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='159', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-190478.546875, -585018.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-190697.05585394, -584195.52059161, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-191194.71875, -584717.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='118', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-190329.34375, -584886.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='87', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-190627.63449332, -584428.24802212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-190631.28026064, -584638.14082304, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-190777.25, -586225.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-190307.02365767, -584790.45632252, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-190407.578125, -585164.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-191422.703125, -584712.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='123', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-190528.42741256, -585005.45965192, self._terrain), large=False, heli=True, + airplanes=False, slot_name='101', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-191317.375, -584045.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='156', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-190438.9375, -584293.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-191177.28900772, -584283.63602097, self._terrain), large=False, heli=True, + airplanes=False, slot_name='141', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-190630.53101221, -584590.62302212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-191096.875, -584425.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='109', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-191101.84375, -584678.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='114', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-190627.35324332, -584406.37302212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-191103.359375, -584727.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='115', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-190477.171875, -584172.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-191169.46875, -584000.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='146', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-191288.828125, -584716, self._terrain), large=False, heli=True, + airplanes=False, slot_name='120', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-190459.984375, -584267.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-190310.09375, -584574.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-191091.171875, -584141.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='105', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-190803.69076325, -586117.67720419, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-190359.28125, -584456.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-191330.515625, -584474.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='136', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-191236.515625, -584093.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='149', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-191333.140625, -584633.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='126', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-190382.71875, -584417.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-191240.875, -584476.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='138', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-191332.375, -584325.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='166', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-191412.328125, -584136.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='158', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-190576.3125, -584266.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-190183.71314586, -584635.1710841, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-190627.613726, -584376.95767404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-191415.328125, -584278.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='160', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-190804.03984244, -586139.80292936, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-190433.296875, -584188.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-190381.5625, -584478.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-191234.625, -583998.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='147', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-191315.921875, -583997.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='157', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-190475.015625, -584834.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='98', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-190718.15273372, -584195.07279581, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-191417.25957064, -584367.54118322, self._terrain), large=False, heli=True, + airplanes=False, slot_name='162', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-191088.390625, -584002.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='102', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-191173.01655537, -584140.3878578, self._terrain), large=False, heli=True, + airplanes=False, slot_name='143', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-190592.015625, -585117.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-190778.046875, -585670.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-190393.234375, -584835.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-190565.84375, -585247.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-190451.296875, -585160.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-191099.671875, -584565.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='112', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-191419.265625, -584472.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='135', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-191190.609375, -584769.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='117', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-190348.21875, -584789.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-190148.453125, -584602.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-191285.953125, -584557.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='132', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-191331.40625, -584280.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='167', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-190625.926226, -584288.64517404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-191421.84375, -584631.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='124', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-190609.40625, -585247.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-190519.484375, -584786, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-191171.828125, -584095.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='144', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-190477.71875, -584974.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='95', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-191101.87790066, -584770.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='116', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-190313.25, -584676.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-190535.359375, -584429.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-191245.421875, -584716.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='119', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-190631.18578764, -584868.32178423, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-190395.53125, -584930.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='91', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-190388.265625, -584788.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-190420.484375, -584334.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-190629.2757116, -584525.62302212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-190397.15625, -585019.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-190345.1875, -585021.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-191323.96875, -584225.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='153', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-190738.74504004, -584195.0421272, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-191241.96875, -584558.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='131', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-190396.96875, -584555.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-190334.953125, -584932.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='86', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-190774.609375, -586007.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-190477.21875, -584929.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='96', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-190729.03125, -584271.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-190574.5625, -584529.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-191418.42042467, -584413.6633702, self._terrain), large=False, heli=True, + airplanes=False, slot_name='163', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-191192.15625, -584558.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='130', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-190630.49261778, -584823.96463837, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-191333.21875, -584369.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='165', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-191191.328125, -584477.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='139', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-191230.15625, -584227.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='151', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-191089.09375, -584050.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='103', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-190630.9632116, -584614.11939629, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-190629.4438308, -584779.31308042, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-190336.8125, -584481.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-191095.171875, -584332.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='107', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-190527.17741256, -584961.20965192, self._terrain), large=False, heli=True, + airplanes=False, slot_name='100', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-191287.640625, -584634.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='127', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-191174.546875, -584237.97795806, self._terrain), large=False, heli=True, + airplanes=False, slot_name='142', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-191090.015625, -584096.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='104', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-191178.3625287, -584331.43822517, self._terrain), large=False, heli=True, + airplanes=False, slot_name='140', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-191331.265625, -584555.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='133', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-190603.20746884, -585021.26664143, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-190629.9788366, -584568.49802212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-190777.57803333, -585568.68004109, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-190628.7913366, -584500.12302212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-190448.3125, -585113.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-191237.671875, -584138.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='150', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-191098.921875, -584520.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='111', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-190442.703125, -584545.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-191333.765625, -584714.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='121', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-190396.25, -584975.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-190340.984375, -584976.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='85', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-191093.921875, -584285.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='106', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-190627.379351, -584332.20767404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-190490.15625, -584535.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-190564.953125, -584785.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-191416.296875, -584323.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='161', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-190425.953125, -584461.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-190759.4353245, -584194.7620649, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-190602.75672454, -584977.32435611, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-190634.22986821, -584178.84379067, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-190523.234375, -584158.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-190407.046875, -585116.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-190472.46875, -584452.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-190526.58583797, -584913.27215192, self._terrain), large=False, heli=True, + airplanes=False, slot_name='99', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-190548, -584232.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-190629.5569616, -584546.81052212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=140, position=mapping.Point(-191420.015625, -584553.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='134', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=141, position=mapping.Point(-190476.390625, -584882.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='97', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=142, position=mapping.Point(-191194.0625, -584636.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='129', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=143, position=mapping.Point(-191318.46875, -584092.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='155', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=144, position=mapping.Point(-191096.140625, -584379.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='108', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=145, position=mapping.Point(-190627.613726, -584355.33267404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=146, position=mapping.Point(-190496.359375, -585156.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=147, position=mapping.Point(-190537.625, -584527, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=148, position=mapping.Point(-190685.265625, -585019.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=149, position=mapping.Point(-190502.8125, -584251.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=150, position=mapping.Point(-190166.734375, -584617.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=151, position=mapping.Point(-191334.46875, -584415.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='164', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=152, position=mapping.Point(-191097.90625, -584472.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='110', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=153, position=mapping.Point(-191283.65625, -584475.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='137', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=154, position=mapping.Point(-190354.359375, -584565.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=155, position=mapping.Point(-191100.5, -584613.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='113', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=156, position=mapping.Point(-190394.484375, -584883.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=157, position=mapping.Point(-190554.125, -585133.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=158, position=mapping.Point(-190627.60086935, -584689.52452673, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=159, position=mapping.Point(-191377.328125, -584632.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='125', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=160, position=mapping.Point(-191235.53125, -584046.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='148', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=161, position=mapping.Point(-191171.09375, -584048.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='145', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=162, position=mapping.Point(-190490, -585110.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=163, position=mapping.Point(-190362.390625, -585177.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=164, position=mapping.Point(-190402.921875, -584376.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=165, position=mapping.Point(-191280.046875, -584226.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='152', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=166, position=mapping.Point(-190666, -585168.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=167, position=mapping.Point(-190587.40625, -585248.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=168, position=mapping.Point(-190804.94076325, -586164.61470419, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Tegel(Airport): + id = 28 + name = "Tegel" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3750000, vhf_low_hz=42100000, vhf_high_hz=124500000, uhf_hz=253700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-210529.171875, -486646.703125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield28_1')) + self.beacons.append(AirportBeacon(id='airfield28_2')) + self.beacons.append(AirportBeacon(id='airfield28_4')) + self.beacons.append(AirportBeacon(id='airfield28_5')) + self.beacons.append(AirportBeacon(id='airfield28_6')) + self.beacons.append(AirportBeacon(id='airfield28_9')) + self.beacons.append(AirportBeacon(id='airfield28_0')) + self.runways.append(Runway(id=1, name='26R-08L', main=RunwayApproach(name='26R', heading=260, beacons=[RunwayBeacon(id='airfield28_8', runway_name='08L-26R', runway_id=1, runway_side='26R'), RunwayBeacon(id='airfield28_11', runway_name='08L-26R', runway_id=1, runway_side='26R')]), opposite=RunwayApproach(name='08L', heading=80, beacons=[RunwayBeacon(id='airfield28_7', runway_name='08L-26R', runway_id=1, runway_side='08L')]))) + self.runways.append(Runway(id=2, name='26L-08R', main=RunwayApproach(name='26L', heading=260, beacons=[RunwayBeacon(id='airfield28_10', runway_name='08R-26L', runway_id=2, runway_side='26L')]), opposite=RunwayApproach(name='08R', heading=80, beacons=[RunwayBeacon(id='airfield28_3', runway_name='08R-26L', runway_id=2, runway_side='08R')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-210839.625, -487421.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-210934.1875, -487023.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-209938.1875, -486771.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-211137.3125, -486882.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-209905.625, -486230.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-210019.0625, -486148.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-210809.0625, -486648.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-209939.375, -486728.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-210896.859375, -486669.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-210837.765625, -487712.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-211232.265625, -486877.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-210014.84375, -486026.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-211202.859375, -487067.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-209923.53125, -486587.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-211132, -486937.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-209915.890625, -486432.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-211326.3125, -486961.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-211277.21875, -486844.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-210780.53125, -486605.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-210981.390625, -487523.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-209918.515625, -486500, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-210907.9375, -487254.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-210771.234375, -486443.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-211242.765625, -487030.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-210775.265625, -486551.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-210996.265625, -487033.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-209911.75, -486382.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-211114.515625, -487128.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-211086.609375, -486961.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-210029.671875, -486462.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-210826.375, -487319.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-210811.90625, -486917.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-210836.296875, -487675, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-209925.84375, -486632.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-209923.71875, -485899.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-210833.71875, -486975.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-209906.734375, -486282.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-210862.40625, -487282.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-210018.125, -486246.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-211060.21875, -487153.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-210833.78125, -487638.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-209919.890625, -486129.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-210022.234375, -486352.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-209974.484375, -487889, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-210983.09375, -487553.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-211286.953125, -486999.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-210802.828125, -486811.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-209925.78125, -486675.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-209915.671875, -486059.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-209921.75, -486543.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Tempelhof(Airport): + id = 29 + name = "Tempelhof" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4850000, vhf_low_hz=42150000, vhf_high_hz=119500000, uhf_hz=253750000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-221028.265625, -480137.515625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield29_1')) + self.beacons.append(AirportBeacon(id='airfield29_2')) + self.beacons.append(AirportBeacon(id='airfield29_5')) + self.runways.append(Runway(id=2, name='09L-27R', main=RunwayApproach(name='09L', heading=90, beacons=[]), opposite=RunwayApproach(name='27R', heading=270, beacons=[]))) + self.runways.append(Runway(id=1, name='09R-27L', main=RunwayApproach(name='09R', heading=90, beacons=[RunwayBeacon(id='airfield29_4', runway_name='09R-27L', runway_id=1, runway_side='09R'), RunwayBeacon(id='airfield29_0', runway_name='09R-27L', runway_id=1, runway_side='09R')]), opposite=RunwayApproach(name='27L', heading=270, beacons=[RunwayBeacon(id='airfield29_3', runway_name='09R-27L', runway_id=1, runway_side='27L'), RunwayBeacon(id='airfield29_6', runway_name='09R-27L', runway_id=1, runway_side='27L')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-219763.828125, -480724.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-219716.515625, -480563.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-220108.234375, -481039.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-220120.578125, -480931.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-219919.328125, -480032.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-219888.09375, -480452.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-219842.828125, -480294.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-219754.09375, -480698.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-219957.875, -480807.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-219932.21875, -480945.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-219810.359375, -480443.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-219891.640625, -480979.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-220042.703125, -480991.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-219839.625, -480361.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-219897.34375, -480075.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-220016.859375, -480885.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-219852.609375, -480576.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-219953.703125, -480192.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-219904.375, -480321.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-220080.671875, -481083.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-219821.59203395, -480647.37877752, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-219914.375, -480840.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-219905.07250222, -480732.96073801, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-219782.1875, -480266.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-220179.40625, -481016.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-220121.71875, -481097.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-219783.984375, -480567.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-220207.953125, -480974.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-219782.09375, -480823.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-219876.046875, -480869.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-219834.046875, -480139.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-220005.78125, -481021.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-219862.03125, -480759.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-219967.828125, -481052.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-219973.671875, -480918.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-219818.265625, -480791.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-219737.921875, -480677, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-219892.421875, -480165.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-220141.796875, -481049.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class Tutow(Airport): + id = 30 + name = "Tutow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4425000, vhf_low_hz=42250000, vhf_high_hz=125500000, uhf_hz=253850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-58723.283203, -475080.578125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield30_1')) + self.beacons.append(AirportBeacon(id='airfield30_0')) + self.runways.append(Runway(id=1, name='17-35', main=RunwayApproach(name='17', heading=170, beacons=[]), opposite=RunwayApproach(name='35', heading=350, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-59354.852690783, -474627.24551305, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-59641.55013846, -474638.16178756, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-57853.340487388, -475655.51542696, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-58424.996259181, -475643.42365535, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-58643.859375, -474600, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-57775.18359375, -475022, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-59629.5078125, -474435, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-57581.69140625, -475052.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-58322.694571537, -475839.80696329, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-58110.275250628, -475867.05188713, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-57819.375, -474993.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-58451.1171875, -474707.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-58358.78515625, -474661.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-58103.218189502, -475766.10983529, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-57539.0078125, -475078.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-57702.278462472, -475503.74357621, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-58736.8359375, -474677.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-59323.2421875, -474518.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-59262.96825976, -474480.14019768, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-58800.046875, -474564.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-59126.54296875, -474615.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-58903.25390625, -474545.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-58890.5625, -474570.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-58361.29029957, -474585.84117643, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-58345.604215357, -475603.79944582, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-58269.283573606, -475756.47349623, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-59382.234375, -474444.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-59821.0703125, -474595.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-58231.3515625, -474734.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-59438.0078125, -474448.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-58740.349419867, -474585.88198874, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-58493.96484375, -474706, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-57911.994363253, -475879.65126734, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-59623.945777685, -474363.52762417, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-58915.1640625, -474518.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-58000.080636883, -474726.3443037, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-59638.72784808, -474720.70609224, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-57518.7265625, -475093, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-57905.390150275, -475780.10340077, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-59432.203125, -474374.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-58857.5234375, -474706, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-59747.4140625, -474601.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-58779.664007724, -474605.6002765, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-58034.58370247, -474791.16210432, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-57948.98828125, -474838.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-59553.62045096, -474634.57911352, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-59022.99090192, -474612.3935914, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-59733.50326346, -474639.17523663, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-57561.10546875, -475064.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-59730.78579904, -474722.87262688, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-58641.3515625, -474673.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-58277.620550151, -474670.45482654, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-58813, -474711.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-59020.06378558, -474693.78481052, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-59550.90298654, -474715.86550668, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-58074.63671875, -474687.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-58517.163387693, -475453.39128443, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-58239.34375, -474599.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-59447.739072402, -474710.95648765, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-57861.44531998, -474887.75732741, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-58479.66015625, -474592.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-57824.67578125, -474820.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-59450.246884902, -474630.9489712, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-57787.065121518, -475472.04469908, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-57768.542087834, -475687.29984207, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-59352.480462897, -474706.15389696, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-58199.66015625, -474759.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-57845.60546875, -474975.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-58812.5234375, -474542, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-58109.89453125, -474752.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-58426.443037047, -475435.45688272, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-58789.9296875, -474586.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-59213.3515625, -474551.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Werneuchen(Airport): + id = 31 + name = "Werneuchen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4200000, vhf_low_hz=42300000, vhf_high_hz=122600000, uhf_hz=253900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-205735.960938, -453635.453125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield31_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-205997.5625, -454789.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-206244.203125, -454325.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-206119.21875, -452811.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-206252.828125, -454102.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-206033.53125, -453896.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-205109.515625, -454457.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-205115.625, -454488.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-206034.828125, -454180.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-206069.46875, -452486.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-206012.640625, -453617.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-205155.234375, -454888.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-204965.640625, -453668.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-205204.65625, -452831.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-206174.96875, -454149.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-206197.40625, -453791.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-206034.78125, -454086.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-206147.765625, -453079.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-205115.328125, -454602.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-206034.9375, -454162, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-205102.984375, -454425.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-205270.28125, -453058.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-206035, -454142.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-204944.671875, -454012.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-206115.984375, -454562.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-205183.515625, -454056.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-206034.859375, -454294.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-205133.25, -453913.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-205143.078125, -454210.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-205266.453125, -453474.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-206034.8125, -454199.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-206118.828125, -453343.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-206034.265625, -453933.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-206034.453125, -454888.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-206151.875, -454342.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-205277.625, -452961.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-206034.65625, -453990.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-205152.703125, -453986.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-206032.984375, -453858.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-206034.484375, -454313.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-206033.078125, -453838.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-205159.65625, -453658.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-206143.921875, -454149.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-206204.484375, -453966.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-206173, -454674.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-205248.265625, -454601.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-205330.875, -452998.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-206035.046875, -454124.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-206170.390625, -453884.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-206110.78125, -454458.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-205314.671875, -452717.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-206111.359375, -454151.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-206033.3125, -453877.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-206175.375, -454219.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='76', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-206034.140625, -453915, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-205122.859375, -453182.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-206034.96875, -454048, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-205095.1875, -454387.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-205028.265625, -454314.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-205025.609375, -454150, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-206111.65625, -454218.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-205236.21875, -453138.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-206034.921875, -454218.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-205091.046875, -453489.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-204979.5625, -454073.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-206143.875, -454219.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='77', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-206035.125, -454067.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-205089.0625, -453320.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-206034.109375, -453952.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-206034.46875, -454333.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-205120.453125, -454517.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-206163.703125, -453668.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-206015.53125, -452693.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-205124.921875, -453068.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-206125.578125, -453950.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-205364.4375, -452861.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-206225.390625, -453626.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-206035.078125, -454274.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-206034.515625, -453971.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-206011.125, -453817.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-206034.9375, -454236.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-205136.46875, -454720.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-205165.765625, -454330.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-206193.40625, -454427.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-206034.671875, -454105.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-206034.734375, -454028.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-204966.34375, -453878.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-206189.765625, -453647.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-205358.25, -455041, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-206250.734375, -454295.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-206251.78125, -454072.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-206147.03125, -453862.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-205338.9375, -454865.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-206034.984375, -454255.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-206219.546875, -453776.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-206034.78125, -454009.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Wunstorf(Airport): + id = 32 + name = "Wunstorf" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3800000, vhf_low_hz=39950000, vhf_high_hz=121100000, uhf_hz=253950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-186495.11533, -749530.34375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield32_1')) + self.beacons.append(AirportBeacon(id='airfield32_2')) + self.runways.append(Runway(id=2, name='21-03', main=RunwayApproach(name='21', heading=210, beacons=[]), opposite=RunwayApproach(name='03', heading=30, beacons=[]))) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield32_3', runway_name='08-26', runway_id=1, runway_side='26'), RunwayBeacon(id='airfield32_0', runway_name='08-26', runway_id=1, runway_side='26')]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-186053.71875, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-186853.9375, -748538.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-186120.1875, -749315.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-186326.8125, -749394.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-187959.90625, -749579.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-187968.625, -749409.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-186970.8125, -749702.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-186779.078125, -749623.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-186075.96875, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-186169.828125, -749315.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-186829.109375, -748715.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-186219.015625, -749516.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-186705.671875, -749862, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-186118.421875, -749415.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-186213.9375, -749818.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-186114.375, -749917.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-187694.796875, -749350.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-188056.53125, -749351.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-187009.984375, -749702.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-186714.125, -749737.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-186098, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-186065.0625, -749715.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-186163.84375, -749918.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-186762.90625, -748807.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-186167, -749516.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-186045.65625, -750180.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-186799.78125, -748438.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-187830.640625, -749449.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-186208.953125, -750263.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-186212.75, -749919.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-186063.6875, -749917.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-186112.9375, -750017.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-187724.625, -749373.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-187983.28125, -749548.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-186119.609375, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-186221.984375, -749315.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-186220.203125, -749415.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-186165.09375, -749817.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-186162.5, -750019.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-186736.34375, -748456.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-187801.484375, -749427.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-188085.40625, -749376.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-186064.8125, -749817.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-186214.140625, -749718.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-186115.6875, -749718.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-186012.21875, -750180.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-186117.703125, -749618.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-186079.78125, -750181.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-186885.171875, -748674.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-188075.46875, -749516.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-186691.78125, -749769.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-186143.046875, -750264.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-186165.21875, -749718.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-186211.3125, -750019.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-186031.078125, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-186208.390625, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-186230.109375, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-186906.046875, -748759.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-186916.984375, -749620.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-186684.515625, -749895.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-186330.921875, -750260.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-186142.3125, -750107.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-187938.390625, -749432.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-186006.53125, -749603, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-186062.25, -750016.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-186115.546875, -749818.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-186167.953125, -749415.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-186167.234375, -749618.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-186847.5625, -748476.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-186876.59375, -749625.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-186794.109375, -749587, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-186838.796875, -749715.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-186807.515625, -749739.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-186886.609375, -748589.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-186117.46875, -749516.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-186216.15625, -749618.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-186164.140625, -750108.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-186185.984375, -750107.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-188081.0625, -749475.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Bornholm(Airport): + id = 33 + name = "Bornholm" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3775000, vhf_low_hz=42150000, vhf_high_hz=118350000, uhf_hz=257800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(58025.151861, -362897.424959, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield33_1')) + self.beacons.append(AirportBeacon(id='airfield33_3')) + self.beacons.append(AirportBeacon(id='airfield33_4')) + self.beacons.append(AirportBeacon(id='airfield33_5')) + self.beacons.append(AirportBeacon(id='airfield33_7')) + self.beacons.append(AirportBeacon(id='airfield33_0')) + self.runways.append(Runway(id=1, name='11-29', main=RunwayApproach(name='11', heading=110, beacons=[RunwayBeacon(id='airfield33_2', runway_name='11-29', runway_id=1, runway_side='11')]), opposite=RunwayApproach(name='29', heading=290, beacons=[RunwayBeacon(id='airfield33_6', runway_name='11-29', runway_id=1, runway_side='29')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(58734.60546875, -363617.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(58708.4296875, -363525.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(58709.640625, -363643.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(58658.7109375, -363695, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(58681.84765625, -363479.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(58683.078125, -363669, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(58992.3984375, -363507.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(58901.671875, -363479.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(58976.6328125, -363591, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(58653.9375, -363428.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Brand(Airport): + id = 34 + name = "Brand" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3800000, vhf_low_hz=42200000, vhf_high_hz=122300000, uhf_hz=255100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-271624.765625, -461799.296875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield34_1')) + self.beacons.append(AirportBeacon(id='airfield34_2')) + self.beacons.append(AirportBeacon(id='airfield34_3')) + self.beacons.append(AirportBeacon(id='airfield34_4')) + self.beacons.append(AirportBeacon(id='airfield34_0')) + self.runways.append(Runway(id=1, name='27R-09L', main=RunwayApproach(name='27R', heading=270, beacons=[]), opposite=RunwayApproach(name='09L', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-270902.1875, -462820.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='4', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-272042.9375, -461793.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-271061.6875, -461147.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-271036.25, -460927.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-271907.3125, -463119.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='132', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-271278.3125, -462632.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-270870.59375, -462066.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-271959.34375, -463181.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='135', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-272161.4375, -461198.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-271131.875, -462477.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-272279.53125, -460758.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-272112.0625, -461413.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-270972.03125, -462562.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='7', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-272120.84375, -461370.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-271985.53125, -462099.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='113', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-271114.875, -461397.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-272068.9375, -463005.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='131', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-271199.40625, -462261.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-272120, -463183.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='137', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-271747.40625, -462997.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='139', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-272030.59375, -461856.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-272063.59375, -461675.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-271019.46875, -461953.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-271298.09375, -462542.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-272168.4375, -460701.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-270841.0625, -460950.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-272080.34375, -461591.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-272023.78125, -462882.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='126', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-270998.1875, -462353.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-272076.34375, -461612.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-271005.5, -462021.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-271017.78125, -462494.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='9', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-271264.84375, -462530.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-271981.84375, -462121.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='114', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-271108.46875, -460962.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-270882.1875, -462135.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-271356.8125, -460956.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-271015.59375, -461284.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-271977.71875, -462142.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='117', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-271150.75, -462825.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='1', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-272143.40625, -462115.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='115', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-271998.625, -462036.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='110', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-272071.59375, -461633.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-272146.34375, -461267.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-272061.375, -462452.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='120', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-272036.21875, -462979.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='130', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-271911.8125, -463162.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='133', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-270811.625, -461925.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-271385.1875, -460767.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-272418.6875, -460780.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-271197.78125, -461045.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-270963.28125, -460884.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-272092.59375, -461524.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-271937.46875, -462353.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='119', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-271503.90625, -460907.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-272056, -461721.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-271247.125, -462307.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-271118.34375, -460878.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-272104.25, -463141.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='136', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-271567.3125, -460847.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-270952.5625, -460942.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-271105.34375, -461452.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-270961.625, -461751.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-271838.5625, -462803.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='123', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-271208.5625, -461084.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-272015.03125, -461944.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-272083.90625, -461570.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-272018.9375, -462839.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='125', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-272179.3125, -460999.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-271893.15625, -463033.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='129', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-271025.34375, -461098.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-272026.28125, -461878, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-272153.21875, -461230.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-272170.03125, -461166.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-270890.125, -460891.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-272035.375, -461835.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-271414.4375, -460818.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-270955.125, -462455.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='8', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-271985.40625, -462939.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='127', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-272059.40625, -461696.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-271565.09375, -460888.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-272123.59375, -462186.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='116', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-270907.40625, -461528.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-272104.0625, -461455.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-271099.03125, -461054.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-272018.46875, -461920.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-271039.21875, -462599.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-272006.3125, -461994.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='108', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-271974.28125, -462166.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='118', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-272096.46875, -461500.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-271121.84375, -462685.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-271026.46875, -461009.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-270965.6875, -462740.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='5', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-271850.75, -462662.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='121', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-272291.15625, -461002.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-271077.25, -462659.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-272378.59375, -460919.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-271262.1875, -461002.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-272067.25, -461654.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-271846.25, -463006.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='128', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-271777.78125, -462983.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='138', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-272099.90625, -461476.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-272047, -461772.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-271069.9375, -462775.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='2', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-272039.375, -461814.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-272124.375, -461349.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-271026.71875, -462098.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-271110.625, -462591.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-272107.71875, -461434.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-272186.4375, -461766.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='96', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-272051.625, -461747.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-272054.4375, -463100.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='134', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-271067.25, -462882.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='3', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-270996.5, -462665.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='6', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-272353.65625, -461155.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-271161.96875, -462261.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-271989.875, -462078.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='112', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-272022.59375, -461899.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-270854.9375, -461733.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-271452.96875, -461082.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-271085.3125, -462133.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-271043.9375, -462189.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-272116.8125, -461392.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-271422.03125, -460726.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-271143.5, -462519.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-271211.65625, -461255.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-272010.875, -461969.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='107', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-272191.125, -460725.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-272088, -461549.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-271577.23575926, -460110.64517387, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-271995.46875, -462799.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='124', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-271363.78125, -460900.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-271982.875, -462731.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='122', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-271994.625, -462057.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='111', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-272275.125, -461280.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-272002.1875, -462015.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='109', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-270962.625, -461923.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-271378.375, -461111.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Brandis(Airport): + id = 35 + name = "Brandis" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3900000, vhf_low_hz=42250000, vhf_high_hz=118150000, uhf_hz=255150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-342170.28125, -545444.25, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield35_1')) + self.beacons.append(AirportBeacon(id='airfield35_0')) + self.runways.append(Runway(id=None, name='26-8', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='8', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-341841.53125, -545426.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-342479, -546314.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-342259.75, -544915.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='96', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-341814.25, -545250.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-342379.09375, -545724.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='77', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-342352.15625, -545465.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-342475.4375, -544998.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='133', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-341726.875, -545198.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-341420.8125, -545122.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-341895.15625, -545909.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-341681.375, -546093.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-342266.8125, -544954.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='95', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-342392.75, -544846, self._terrain), large=False, heli=False, + airplanes=True, slot_name='136', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-341389.375, -545229.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-342451.4375, -544836.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='137', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-342372.71875, -545685, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-341542.9375, -545425.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-342371.78125, -545595.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-342442.3125, -546152.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-341922.21875, -546092.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-341825.78125, -545326.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-342468.34375, -544928.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='134', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-341937.75, -546402.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-342408.28125, -544939, self._terrain), large=False, heli=False, + airplanes=True, slot_name='135', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-341558.875, -545448.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-342419.875, -545926.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-341774.53125, -544981.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-342308.25, -545173.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-342416.9375, -544481.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='145', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-341707.25, -545053.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-341440.625, -546165.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-342301.96875, -545127.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='91', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-342536.06290198, -546034.527394, self._terrain), large=False, heli=True, + airplanes=False, slot_name='107', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-342407.09375, -545843.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-342502.125, -545522.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='119', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-342611.4375, -546137, self._terrain), large=False, heli=True, + airplanes=False, slot_name='101', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-342516.72405062, -545874.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='109', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-342427.4375, -545967.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-341696.125, -544985.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-341748.65625, -545345.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-341781.90625, -546210.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-341746.28125, -546149.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-341646.5, -545065.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-342322.625, -545341.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='86', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-342413.28125, -545884.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-342282.03125, -545002.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-342504.71875, -545796.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='111', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-342359.09375, -544506.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='144', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-341396.125, -545200.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-341829.0625, -545348.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-342368.78125, -544679.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='140', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-341739.125, -546081.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-341817.625, -545271.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-342480.59375, -545630.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='117', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-342359.71875, -544610, self._terrain), large=False, heli=False, + airplanes=True, slot_name='143', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-342385.1875, -545762.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='76', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-342459.5, -545407.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='123', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-341716.875, -545130, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-342379, -545637, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-342527.07388355, -545688.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='115', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-342542.09375, -545790.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='112', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-342609.69675309, -545775.26256056, self._terrain), large=False, heli=True, + airplanes=False, slot_name='113', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-341695.4375, -546185.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-341727.78125, -546013.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-342510.3125, -545203.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='126', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-341385.5, -544907, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-342467.25, -545210.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='125', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-341838.03125, -545403.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-342365.78125, -545550.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-341930.5, -546144.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-342569.15625, -546142.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='100', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-341828.96875, -546193.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-342391.375, -545802.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-341688.34375, -545356.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-342413.46693708, -545137.33454194, self._terrain), large=False, heli=True, + airplanes=False, slot_name='131', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-341887.375, -545858.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-342417.40625, -545007.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='132', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-342436.25, -546112.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-342419.34375, -544600.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='142', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-342538.28125, -545106.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='128', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-342609.199946, -545655.88606311, self._terrain), large=False, heli=True, + airplanes=False, slot_name='114', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-342427.46875, -544670, self._terrain), large=False, heli=False, + airplanes=True, slot_name='141', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-341818.75, -546253.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-342332.90625, -544404.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='146', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-342518.1875, -545626.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='118', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-341868.6875, -545728.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-341792.8125, -545105.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-342288.4375, -545043.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-342472.65625, -545492.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='121', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-342489.21983775, -545693.60440839, self._terrain), large=False, heli=True, + airplanes=False, slot_name='116', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-341877.34375, -545779.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-342562.5, -546212.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='98', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-342309.40625, -545263.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-341795.90625, -545125.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-341771.21875, -544960.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-342554.65625, -545213.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='127', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-342544.8125, -546095.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='102', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-341885.5625, -546267.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-341912.125, -546024.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-342606.71875, -546206.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='99', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-342625.625, -546083.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='104', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-342596.9375, -545953.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='108', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-342428.28125, -546052.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-342455.4375, -545131.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='130', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-341413.3125, -545157, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-341767.75, -544938.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-341804.875, -545185.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-341384.65625, -544874.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-341890.5625, -546391.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-342329.84375, -545380.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='85', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-342315.6875, -545303.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='87', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-341783.125, -545035.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-342464.53125, -545527.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='120', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-342254.125, -544877.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='97', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-341384.0625, -544842.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-342616.4375, -546021.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='105', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-341657.78125, -545138.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-341786.3125, -545056.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-341518.25, -545386.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-342471.5625, -546273.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-342422.40625, -546013.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-342425.59375, -545218.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='124', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-342295.65625, -545086.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-342315.0625, -545214.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-342466.03125, -545448.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='122', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-342383.6875, -544776.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='139', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-342458.5625, -546192.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-341896.90625, -546208.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-341808.1875, -545206.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-341904.65625, -545974.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-341497.75, -545140.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-342465.375, -546233.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-342498.3125, -545123.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='129', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-341414.59375, -546158.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-342586.94866602, -546089.42553001, self._terrain), large=False, heli=True, + airplanes=False, slot_name='103', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-342359.625, -545509.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-342345.15625, -545425.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-341666.71875, -545208.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=140, position=mapping.Point(-341733.09375, -546243.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=141, position=mapping.Point(-342578.02578606, -546028.01622798, self._terrain), large=False, heli=True, + airplanes=False, slot_name='106', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=142, position=mapping.Point(-341738.03125, -545276.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=143, position=mapping.Point(-342443.3125, -544767.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='138', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=144, position=mapping.Point(-341638.75, -544995.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=145, position=mapping.Point(-342530.79190839, -545831.77131678, self._terrain), large=False, heli=True, + airplanes=False, slot_name='110', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=146, position=mapping.Point(-341669.0625, -546024.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=147, position=mapping.Point(-341679.6875, -545286.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Chojna(Airport): + id = 36 + name = "Chojna" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=38400000, vhf_high_hz=118000000, uhf_hz=225000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-175808.976344, -406374.839114, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield36_4')) + self.beacons.append(AirportBeacon(id='airfield36_6')) + self.beacons.append(AirportBeacon(id='airfield36_7')) + self.beacons.append(AirportBeacon(id='airfield36_8')) + self.beacons.append(AirportBeacon(id='airfield36_0')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield36_2', runway_name='09-27', runway_id=1, runway_side='27'), RunwayBeacon(id='airfield36_5', runway_name='09-27', runway_id=1, runway_side='27')]), opposite=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield36_1', runway_name='09-27', runway_id=1, runway_side='09'), RunwayBeacon(id='airfield36_3', runway_name='09-27', runway_id=1, runway_side='09')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-175286.25, -406432.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-175136.15625, -406421.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-174979.27488926, -406509.27488926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-175939.78125, -407293.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-175886.5625, -407224.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-175532.25, -405600.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-175512.140625, -405753.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-175394.71875, -407774.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-175433.375, -407842.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-175459.53125, -407917.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-175309.921875, -406061.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-175311.328125, -406928.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-175083.8125, -406454.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-175053.1875, -406683.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-174976.14988926, -406532.46238926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-175260.59375, -406679.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-175546.03125, -405488.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-175315.734375, -406840.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-175057.578125, -406507.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-175046.28125, -406623.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-175315.21875, -406864.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-175559.859375, -405380.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-175030.390625, -406893.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-176097.171875, -407078.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-176055.34375, -406888.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='98', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-175509.859375, -405775.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-175548.828125, -405467.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-175462.640625, -407682.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-175552.21875, -405444.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-175405.234375, -406084.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-175694.671875, -405094.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-174995.68113926, -406385.27488926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-174993.46238926, -406405.21238926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-175227.046875, -407110.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-175283.703125, -407354.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-175543.59375, -405511.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-175310.328125, -406952.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-175588.21875, -405162.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-175126.703125, -406912.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-174990.57176426, -406428.58738926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-176138.4375, -406965.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='95', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-175506.671875, -405796.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-175240.5, -407157.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-175555.046875, -405423.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-175368.421875, -406560.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-174988.38426426, -406450.58738926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-175234.515625, -406452.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-175687.953125, -405147.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-175335.5625, -406687.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-175086.25, -407018, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-175526.65625, -405643.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-175990.078125, -407089.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-175105.546875, -406860.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-175274.453125, -407283.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-175540.671875, -405532.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-175523.84375, -405664.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-175314.484375, -406884.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-175973.1875, -407256.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-175436.5625, -405978.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-175529.46875, -405619.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-176140.65625, -406914.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='97', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-174967.63426426, -406598.33738926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-175186.9375, -406429.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-175624.640625, -405109.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-175248.21875, -406833.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-175557.046875, -405401.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-175517.875, -405708.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-175116.09375, -407066.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-174973.72801426, -406552.93113926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-175916.84375, -407186.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-175520.34375, -405688.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-175256.203125, -407209.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-175535.46875, -405577.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-175309.21875, -406972.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-175143.859375, -406324.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-175316.484375, -406820.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-175312.8125, -406908.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-174986.5625, -406820.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-175253.03125, -406753.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-176053.15625, -406939.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='96', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-175497.265625, -405864.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-175500.140625, -405840.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-174970.44676426, -406576.11863926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-175332.921875, -406468.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-175318.65625, -406798.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-176068.515625, -407118.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-175160.1875, -407000.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-175538.28125, -405555.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-175415.1875, -407614.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-175515.046875, -405731.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-175308.796875, -406996.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-175073.203125, -406564.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-174998.578125, -406361.55613926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-175442.328125, -406044.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-176011.921875, -407053.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-175503.234375, -405819.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-175197.03125, -407071.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-175369.5625, -407529.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=8.0, shelter=False)) + + +class Cologne(Airport): + id = 37 + name = "Cologne" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3925000, vhf_low_hz=42300000, vhf_high_hz=119700000, uhf_hz=255200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-334471.21875, -937340.15625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield37_1')) + self.beacons.append(AirportBeacon(id='airfield37_2')) + self.beacons.append(AirportBeacon(id='airfield37_3')) + self.beacons.append(AirportBeacon(id='airfield37_4')) + self.beacons.append(AirportBeacon(id='airfield37_5')) + self.beacons.append(AirportBeacon(id='airfield37_8')) + self.beacons.append(AirportBeacon(id='airfield37_9')) + self.runways.append(Runway(id=2, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[RunwayBeacon(id='airfield37_0', runway_name='07-25', runway_id=2, runway_side='25')]))) + self.runways.append(Runway(id=3, name='14R-32L', main=RunwayApproach(name='14R', heading=140, beacons=[]), opposite=RunwayApproach(name='32L', heading=320, beacons=[]))) + self.runways.append(Runway(id=1, name='14L-32R', main=RunwayApproach(name='14L', heading=140, beacons=[RunwayBeacon(id='airfield37_7', runway_name='14L-32R', runway_id=1, runway_side='14L')]), opposite=RunwayApproach(name='32R', heading=320, beacons=[RunwayBeacon(id='airfield37_6', runway_name='14L-32R', runway_id=1, runway_side='32R')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-333649.1875, -938390.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-335444.03125, -938525.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-335667.96875, -938248.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-335289.09375, -938863, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-335641.15625, -938474.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-332869.0625, -938682.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-335556.03125, -938519.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-335275.5, -939187.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-334657.46875, -939368.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-333181.15625, -939058.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-333733.9375, -938738.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-334295.96875, -937969.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-335450.5, -939111.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-333787.96875, -938737.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-333663.8125, -938761.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-334025.0625, -939321.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-335239.53125, -938881.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-334654.15625, -939322.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-335666.65625, -938303.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-334491.53125, -939236.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-333707.1875, -938353.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-334638.5, -939223.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-333105.59375, -938754.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-335580.96875, -938469.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-335104.71875, -937873.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-333541.46875, -938975.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-335003.03125, -938190.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-333308.34375, -938970.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-334561.4375, -939229.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-334965.3125, -937888.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-335338.1875, -939212.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-334750.1875, -939224.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-334746.4375, -939307.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-333030.4375, -938715.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-334233.625, -938009, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-333158.125, -938793.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-334929.75, -937998.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-335385.09375, -938916.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-334748, -939351.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-334748.34375, -939266.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-335709.59375, -938388.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-335719.25, -938327, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-335417.84375, -939168.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-334058.375, -936670.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-332959.34375, -938678.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-334340.84375, -939245.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-333206.21875, -938847.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-333941.46875, -938205.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-334278.625, -939242.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-333709.84375, -938772.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-333784.53125, -939307.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-333883.78125, -938242.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-334954.59375, -938141.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-334428.21875, -939235.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-335505.5, -938508.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-335372.9375, -939160.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-334164.5, -939313.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-334997.96875, -937987.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-332830.46875, -938726.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-334050.71875, -936890.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-335664.21875, -938420.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-333367.65625, -938897.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-334090.59375, -939272.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-335136.09375, -937919.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-333826.03125, -938278.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-335065.78125, -938154.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-334107.5625, -936964.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-334166.84375, -936970.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-334929.34375, -938061.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-334159.71875, -939257.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-335411.40625, -938474.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-335600.84375, -938237.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-334028.25, -936758.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-335191.25, -937899.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-335429.0625, -939003.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-333999.71875, -938167.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-333622.46875, -938805.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-333277.3125, -939008.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-333795.0625, -938811.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-334116.46875, -936646.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-335324.8125, -938904.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-335375.3125, -938978.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-333765.75, -938316.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-333794.09375, -938624.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-335426.875, -939061.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-334978.46875, -938083.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Dusseldorf(Airport): + id = 38 + name = "Dusseldorf" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4100000, vhf_low_hz=42400000, vhf_high_hz=118300000, uhf_hz=255250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-283045.234375, -954761.59375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield38_2')) + self.beacons.append(AirportBeacon(id='airfield38_3')) + self.beacons.append(AirportBeacon(id='airfield38_4')) + self.beacons.append(AirportBeacon(id='airfield38_5')) + self.beacons.append(AirportBeacon(id='airfield38_6')) + self.runways.append(Runway(id=1, name='05-23', main=RunwayApproach(name='05', heading=50, beacons=[RunwayBeacon(id='airfield38_1', runway_name='05-23', runway_id=1, runway_side='05')]), opposite=RunwayApproach(name='23', heading=230, beacons=[RunwayBeacon(id='airfield38_0', runway_name='05-23', runway_id=1, runway_side='23')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-283876.09375, -955217.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-284056.59375, -956007.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-283510.6875, -954656.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-283570.1875, -955006.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-284230.71875, -955751.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-283072.03125, -953753.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-283406.53125, -954434.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-283715.0625, -955473.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-284187.46875, -955763.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-283275.59375, -954176.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-283321.53125, -954264.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-284151.34375, -955985.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-283244.3125, -954108.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-283387.875, -954390.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-283343.96875, -954308.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-284192.15625, -955549.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-283300.6875, -954219.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-283655.625, -955042.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-283210.59375, -954039.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-283696.84375, -955259.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-283133.625, -953879.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-284213.71875, -955232.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-284146.875, -955560.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-284103.875, -955997.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-283367.3125, -954349.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-283041.25, -953690.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-283010.71875, -953628.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-284254.53125, -955532.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-283739.40625, -954912.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-284244.78125, -956072.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-284285.125, -956034.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-283865.28125, -955514.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-283811.75, -955500.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-283445.375, -954519.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-283190.25, -953966.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-283902.375, -955178.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-284226.75, -955299, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-284096.09375, -955791.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-283700.90625, -955049.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-284038.75, -955564.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-283679.625, -954896.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-283753.125, -955485.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-284136.75, -956104.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-283532.6875, -954870.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-284200.125, -955164.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-283918.8125, -955531.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-284284.625, -956004.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-284064.8125, -956107.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-284032.25, -956108.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-284284.5625, -955975.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-284099.90625, -955564.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-283424.25, -954477.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-283633.75, -954872.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-284013.34375, -956017.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-283103.1875, -953817.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-284141.78125, -955777.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-283672.46875, -955204.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-283202.8125, -953991.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-283170.375, -953929.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-283475.96875, -954585.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-283790.3125, -955328.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Falkenberg(Airport): + id = 39 + name = "Falkenberg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4100000, vhf_low_hz=42350000, vhf_high_hz=118400000, uhf_hz=255300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-322265.6875, -503944.78125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield39_1')) + self.beacons.append(AirportBeacon(id='airfield39_2')) + self.beacons.append(AirportBeacon(id='airfield39_3')) + self.beacons.append(AirportBeacon(id='airfield39_4')) + self.beacons.append(AirportBeacon(id='airfield39_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-321672.15625, -502275, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-322091.5625, -504944.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-322070.59375, -504314.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-322076.1875, -504402.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-322070.6875, -504643.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-321994.5625, -505337.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-322509.53125, -504785.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-321915.84375, -502310.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-322073.375, -504358.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-322059.09375, -504161, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-322083.21875, -504490.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-322561.25, -504465.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-322561.5, -504278.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-321635.28125, -504396.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-321763.375, -504407.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-322063.59375, -504226.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-321928.03125, -502674.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-322077.84375, -504424.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-322565.03125, -504751.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-322075, -504380.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-321614.8125, -504300.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-321483.875, -502638.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-322065.21875, -504248.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-321698.5, -504227.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-321616.90625, -502431.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-322062.40625, -504205, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-322037.9375, -505454.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-322066.90625, -504270.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-321951.1875, -504465.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-322060.78125, -504182.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-322073.125, -505371.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-321564.46875, -502462.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-321612.6875, -502326.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-321933.75, -502743.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-322068.46875, -504292.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-322516.9375, -504663.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-322514.96875, -504611.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-321949.90625, -502215.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-321738.21875, -502234.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-321925.65625, -502622.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-321882.5, -504015.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-322081.09375, -504468.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-321789.4375, -502212.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-322087.0625, -504835.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-321954.875, -503037.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-321946.78125, -502919.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-321836.625, -503801.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-322518.8125, -504328.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-321660.84375, -504446.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-321706.53125, -502374.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-321871.0625, -503907.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-322079.5, -504446.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-321778.28125, -504158.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-321840.375, -504449.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-322602.5, -504377.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-322057.8125, -504139.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-321495.4375, -502545.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-322519.34375, -504534.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-321539.03125, -502512.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-321808.84375, -504549.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-321745.59375, -504362.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-321942.28125, -502861.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-321938.0625, -502802.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-322056.71875, -504700.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-321931.0625, -502367.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-321975.6875, -505426.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-322596.84375, -504328.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-321951.15625, -502978.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-321891.34375, -504546.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-321901.25, -502431.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-322071.6875, -504336.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-321974.21875, -504555.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-322517.0625, -504416.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-321493.3125, -502708.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-322567.8125, -504705.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Heidelberg(Airport): + id = 40 + name = "Heidelberg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3850000, vhf_low_hz=42000000, vhf_high_hz=142200000, uhf_hz=257800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-516690.9375, -859486.78125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield40_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-516980.55851159, -859293.64500992, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-516963, -859246.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-516798.09375, -859486.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-516944.09375, -859254.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-516832.85853239, -859528.86470419, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-516776.82460872, -859334.70287197, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-516961.00775772, -859300.02363575, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-516942.55887417, -859308.67879801, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-516832.2913267, -859503.58381678, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-516772.8125, -859485.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-516746.90989974, -859346.02383095, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-516831.84375, -859283, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-516924.50555831, -859316.20968542, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-516925.0625, -859261.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-516788.20956586, -859548.93382634, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-516762.89386634, -859549.89486645, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-516907.15625, -859270.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-516857.90625, -859272.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Kastrup(Airport): + id = 41 + name = "Kastrup" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4150000, vhf_low_hz=39650000, vhf_high_hz=118100000, uhf_hz=255400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(133728.828125, -489624.703125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield41_5')) + self.beacons.append(AirportBeacon(id='airfield41_7')) + self.beacons.append(AirportBeacon(id='airfield41_12')) + self.beacons.append(AirportBeacon(id='airfield41_15')) + self.beacons.append(AirportBeacon(id='airfield41_16')) + self.beacons.append(AirportBeacon(id='airfield41_17')) + self.beacons.append(AirportBeacon(id='airfield41_18')) + self.beacons.append(AirportBeacon(id='airfield41_19')) + self.beacons.append(AirportBeacon(id='airfield41_20')) + self.runways.append(Runway(id=2, name='04R-22L', main=RunwayApproach(name='04R', heading=40, beacons=[RunwayBeacon(id='airfield41_9', runway_name='04R-22L', runway_id=2, runway_side='04R'), RunwayBeacon(id='airfield41_14', runway_name='04R-22L', runway_id=2, runway_side='04R')]), opposite=RunwayApproach(name='22L', heading=220, beacons=[RunwayBeacon(id='airfield41_8', runway_name='04R-22L', runway_id=2, runway_side='22L'), RunwayBeacon(id='airfield41_0', runway_name='04R-22L', runway_id=2, runway_side='22L')]))) + self.runways.append(Runway(id=1, name='04L-22R', main=RunwayApproach(name='04L', heading=40, beacons=[RunwayBeacon(id='airfield41_2', runway_name='04L-22R', runway_id=1, runway_side='04L'), RunwayBeacon(id='airfield41_10', runway_name='04L-22R', runway_id=1, runway_side='04L')]), opposite=RunwayApproach(name='22R', heading=220, beacons=[RunwayBeacon(id='airfield41_1', runway_name='04L-22R', runway_id=1, runway_side='22R'), RunwayBeacon(id='airfield41_3', runway_name='04L-22R', runway_id=1, runway_side='22R')]))) + self.runways.append(Runway(id=3, name='30-12', main=RunwayApproach(name='30', heading=300, beacons=[RunwayBeacon(id='airfield41_4', runway_name='12-30', runway_id=3, runway_side='30'), RunwayBeacon(id='airfield41_11', runway_name='12-30', runway_id=3, runway_side='30')]), opposite=RunwayApproach(name='12', heading=120, beacons=[RunwayBeacon(id='airfield41_6', runway_name='12-30', runway_id=3, runway_side='12'), RunwayBeacon(id='airfield41_13', runway_name='12-30', runway_id=3, runway_side='12')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(134931.109375, -490498.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(134367.53125, -489361.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(134378.921875, -489113.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(134367.90625, -489425.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(132865.109375, -489500.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(133774.859375, -488157.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(134695.3125, -488772.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(134957.1875, -488663.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(134728.046875, -488735.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(134361.46875, -489293.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(132794.8125, -489594.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(134767, -490190.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(133769.625, -488223.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(134935.265625, -490618.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(134799.875, -488809.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(134713.484375, -488953.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(132797.046875, -489197.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(132777.203125, -489502.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(132869.125, -489548.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(134357.109375, -489246.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(132732.625, -489319.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(134618.46875, -490021.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(132360.6875, -489144.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(134926.59375, -490662.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(134872.90625, -490752.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(134633.4375, -490159.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(134659.09375, -490011.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(135007.734375, -488810.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(134462.65625, -489663.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(134698.59375, -490235.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(134458.921875, -489760.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(132424.09375, -488952.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(134893.296875, -490710.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(134513.734375, -489758.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(132621, -489620.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='107', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(134927.4375, -490435.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(134393.1875, -489670.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(134630.640625, -488868.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(134895.265625, -490299.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(132551.921875, -489204.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(134537.453125, -488973.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(134764.15625, -490082.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(134573.109375, -490039.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(132703.984375, -489186.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(134787.140625, -489085.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(132711.9375, -489236.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(134578.109375, -489098.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(133477.171875, -488335.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(134624.375, -489728.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(134645.65625, -489929.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(134452.421875, -490879.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='108', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(134623.4375, -489527.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(132431.34375, -489388.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='104', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(134935.96875, -490560.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(134595.875, -489624.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(134326.75, -489149.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(134902.109375, -490781.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(134694.75, -489910.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(134413.03125, -489052.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(134608.953125, -489483.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(134846.71875, -488757.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(134735.140625, -490108, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(132969.453125, -489279.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(134727.671875, -490269.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(132417.53125, -489321.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='103', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(134760.4375, -488699.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(134908.625, -490339.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(134610.421875, -489062.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(134305.671875, -489679.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(134675.390625, -489698.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(134239.65625, -489686.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(134354.5625, -489201.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(134679.625, -488989.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(133537.546875, -488451.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(134446.015625, -489097.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(134537.890625, -489966.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(132373.390625, -489255.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(134798.625, -490040.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(134598.9375, -488903.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(134883.140625, -490259.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(132421.0625, -489544.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='105', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(134567.84375, -488937.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(132951.125, -489456.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(134569.109375, -489199.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(132576.34375, -489625.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(134579.03125, -489440.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(135008.109375, -488708.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(134752.0625, -488862.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(134536.359375, -490881.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='109', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(134704.28125, -489996.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(134699.0625, -490127.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(134644.3125, -489028.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(134836.828125, -489032.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(134417.953125, -489413.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(134537.421875, -489649.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(132335.8125, -489010.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='100', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(132453.203125, -488994.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(133604.421875, -488454.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(134789.3125, -490145.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(134747.953125, -489979.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(134630.984375, -489572.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Kiel(Airport): + id = 42 + name = "Kiel" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4625000, vhf_low_hz=41850000, vhf_high_hz=119900000, uhf_hz=255450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(18576.151367, -668269.625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield42_1')) + self.beacons.append(AirportBeacon(id='airfield42_3')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[RunwayBeacon(id='airfield42_5', runway_name='08-26', runway_id=1, runway_side='08'), RunwayBeacon(id='airfield42_0', runway_name='08-26', runway_id=1, runway_side='08')]), opposite=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield42_2', runway_name='08-26', runway_id=1, runway_side='26'), RunwayBeacon(id='airfield42_4', runway_name='08-26', runway_id=1, runway_side='26')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(18229.666015625, -667788.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(18909.349609375, -668200.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(18282.39453125, -668337.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(18997.724609375, -668436.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(18908.076171875, -668265.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(18266.107421875, -668202.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(19024.765625, -668431.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(19111.384765625, -668352.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(18908.81640625, -668232.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(18266.04296875, -668272.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(19062.37109375, -668418.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(18125.55078125, -668246.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(18314.77734375, -667828.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(18337.046875, -667804.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(19018.59765625, -668179.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(18293.69140625, -667850.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(18907.76171875, -668297.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(18192.9609375, -668289.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(18289.150390625, -668258.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(19107.77734375, -668326.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(18688.458984375, -667783.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(19014.466796875, -668151.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(18310.30078125, -668334.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(18118.21484375, -668221.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(18907.400390625, -668359.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(18200.96875, -668315.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(18907.69140625, -668329.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(18212.228515625, -667770.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Landstuhl(Airport): + id = 43 + name = "Landstuhl" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3750000, vhf_low_hz=38450000, vhf_high_hz=138600000, uhf_hz=266650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-501604.859375, -939923.5, terrain), terrain) + + self.runways.append(Runway(id=1, name='31-13', main=RunwayApproach(name='31', heading=310, beacons=[]), opposite=RunwayApproach(name='13', heading=130, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-501482.1875, -940021.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-501644.65625, -940025.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-501560.96875, -939828.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-501634.59375, -940050.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-501665.53125, -939977.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-501512.5625, -939946.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-501502.46875, -939972.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-501591.21875, -939755.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-501581, -939779.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-501713.625, -939807.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-501492.53125, -939997.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-501551.8125, -939853.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-501571.53125, -939804, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-501471.5625, -940045.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-501654.21875, -940001.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-501702.875, -939899.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Mainz_Finthen(Airport): + id = 44 + name = "Mainz Finthen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4100000, vhf_low_hz=38800000, vhf_high_hz=124000000, uhf_hz=230000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-446790.75, -884848.3125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield44_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-446588.375, -884676.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-446433.90625, -885045.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-446480.5, -885010.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-446490.8125, -885058.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-446438.25, -885068.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-446579.09375, -885158.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-446600.3125, -884476.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-446546.84375, -884582.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-446422.71875, -884953.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-446433.85585872, -885258.47868322, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-446613, -885291.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-446467.59375, -885264.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-446544.4375, -885025.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-446562.125, -885092.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-446443.5, -885094.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-446679.65625, -884825.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-446606.75, -884560.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-446595.9375, -885224.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-446397.40625, -884958.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-446429.28125, -885233.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-446499.78125, -885107.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-446127.9375, -885036.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-446485.625, -885035.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-446544.96875, -884501.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-446447.84375, -885117.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-446557, -884679.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-446568.75, -884800.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-446428.96875, -885020.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-446584.65625, -884632.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-446577.625, -884572.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-446463.15262417, -885215.12572517, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-446467.29930353, -885239.71911258, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-446375.75, -885037.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-446504.46875, -885133.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-446457.66364514, -885188.92865453, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-446453.15625, -885140.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-446630.75, -885358, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-446424.1271755, -885209.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-446552.65625, -884634.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-446573.6875, -884490.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-446597.40625, -884749.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-446495, -885084.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-446601.15625, -884797.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-446629.125, -884464.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-446646.34375, -885424.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-446565.8125, -884752.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Sturup(Airport): + id = 45 + name = "Sturup" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=39900000, vhf_high_hz=118800000, uhf_hz=255600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(119196.261719, -445211.09375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield45_1')) + self.beacons.append(AirportBeacon(id='airfield45_2')) + self.beacons.append(AirportBeacon(id='airfield45_3')) + self.beacons.append(AirportBeacon(id='airfield45_5')) + self.beacons.append(AirportBeacon(id='airfield45_6')) + self.runways.append(Runway(id=1, name='17-35', main=RunwayApproach(name='17', heading=170, beacons=[RunwayBeacon(id='airfield45_0', runway_name='17-35', runway_id=1, runway_side='17')]), opposite=RunwayApproach(name='35', heading=350, beacons=[RunwayBeacon(id='airfield45_4', runway_name='17-35', runway_id=1, runway_side='35')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(119783.5078125, -445523.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(119995.0859375, -445805.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(119740.90625, -445689.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(119866.2890625, -445524.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(119034.8671875, -445495.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(119213.5703125, -445805.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(119276.4921875, -445987.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(119606.8515625, -445746.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(119838.4609375, -445524.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(119811.0390625, -445524.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(119994.359375, -445761.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(119755.6484375, -445523.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(119307.78125, -445658.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(119606.59375, -445794.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(119860.1875, -445632.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(119307.8515625, -445684.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(119741.2421875, -445630.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(119993.6484375, -445673.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(119734.953125, -445746.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(119728.609375, -445523.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(119993.2265625, -445717.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(119611.3359375, -445572.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(119607.84375, -445687.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(119858.40625, -445689.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(119993.765625, -445629.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(119608.828125, -445630.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(119205.5, -445850.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(119224.2578125, -446014.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(119246.8515625, -445723.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(119156.9765625, -445917.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Marxwalde(Airport): + id = 46 + name = "Marxwalde" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=41850000, vhf_high_hz=120500000, uhf_hz=255650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-210947.421875, -421819.984375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield46_1')) + self.beacons.append(AirportBeacon(id='airfield46_2')) + self.beacons.append(AirportBeacon(id='airfield46_3')) + self.beacons.append(AirportBeacon(id='airfield46_4')) + self.beacons.append(AirportBeacon(id='airfield46_5')) + self.beacons.append(AirportBeacon(id='airfield46_6')) + self.beacons.append(AirportBeacon(id='airfield46_7')) + self.beacons.append(AirportBeacon(id='airfield46_8')) + self.beacons.append(AirportBeacon(id='airfield46_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-210684.71875, -421832.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-211412.921875, -422869.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='100', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-210093.65625, -421161.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-211559.125, -422510.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-211730.421875, -421907.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-210686.125, -421530.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-211519.53125, -421831.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-211676.21875, -422056.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-210685.109375, -421757.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-210685.515625, -421720.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-210763.734375, -422648.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-210289.78125, -421198.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-210687.515625, -421247.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-210415.828125, -421351.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-210686.671875, -421436.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-211259.359375, -422809.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='104', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-211321.1875, -422733.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='98', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-211380.5, -421806.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='76', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-210348.140625, -421163.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-211692.9375, -422008.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-210637.0625, -421861.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-211464.21875, -423017.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-211623.40625, -422184.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-211679.71875, -422299.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-211408.421875, -421864.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-210501.046875, -422281.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-211405.546875, -421749.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='77', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-211706.734375, -422252.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-211484.921875, -422688.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='96', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-210685.734375, -421568.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-210545.796875, -421328.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-210685.890625, -421663.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-211416.734375, -422568.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-210502.546875, -421323, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-210546.453125, -421984, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-210687.4375, -421266.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-210685.125, -421795.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-210674.1875, -420987.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-210671.65625, -422661.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-211470.828125, -421871.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-211801.4375, -422050.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-210687.328125, -421228.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-210575.171875, -421219.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-210673.984375, -422830.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-210686.96875, -421361.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-210687, -421417.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-211442.5625, -422901.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-211174.25, -422988.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='107', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-211567.78125, -423080.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='103', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-210756.734375, -422881.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-210685.53125, -421701.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-210687.828125, -421191.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-210685.171875, -421739.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-210671.921875, -422585.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-211358.859375, -422581.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='95', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-211838.046875, -421952.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-210555.859375, -421960.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-210373.359375, -421298.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-211494, -423077.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-210686.859375, -421379.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-211199.46875, -422853.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='105', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-210686.1875, -421512.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-211532.4375, -422577.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-210225.96875, -421269.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-210652.65625, -422389.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-210687.390625, -421342.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-210650.359375, -422781.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-210686.109375, -421549.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-210734.40625, -420631.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-210665.515625, -420690.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-211711.078125, -421957.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-210685.828125, -421682.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-210757.921875, -422734.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-211239.71875, -422950.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='106', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-210670.171875, -420879.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-210150.390625, -421126.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-210687.9375, -421171.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-210668.234375, -422737.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-210686.375, -421474.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-210687.671875, -421323.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-210685.59375, -421587.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-211765.5625, -422155.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-211350.671875, -422681.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='97', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-210685.859375, -421644.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-210717.46875, -423001.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-211515.421875, -421772.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-210668.15625, -422246.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-210686, -421493.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-211657.9375, -422105.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-211464.53125, -421734.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-210581.546875, -421087.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-211537.796875, -421737.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-210634.828125, -420954.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-211381.203125, -422831.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='99', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-210686.0625, -421606.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-210688.125, -421115.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-210688.234375, -421153.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-210200.265625, -421136.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-210687.703125, -421210, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-210684.78125, -421814.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-210643.59375, -420806.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-210686.296875, -421625.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-210573.078125, -421137.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-211820.21875, -422000.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-211526.890625, -422644.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-210688.015625, -421133.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-210489.109375, -421233.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-210685.203125, -421776.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-210686.46875, -421455.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-210687.125, -421398.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class Nordholz(Airport): + id = 47 + name = "Nordholz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4750000, vhf_low_hz=40850000, vhf_high_hz=142900000, uhf_hz=315700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-33000.5625, -776114.96875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield47_1')) + self.beacons.append(AirportBeacon(id='airfield47_2')) + self.beacons.append(AirportBeacon(id='airfield47_3')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield47_0', runway_name='08-26', runway_id=1, runway_side='26')]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-32414.634765625, -775765.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-32161.977342151, -775450.84098148, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-32257.587890625, -775563.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-33331.921875, -776762.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-33369.19921875, -776934.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-32455.515625, -775814.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-33369.4140625, -777045.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-32327.954557235, -775180.12283189, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-32549.7109375, -775228.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-33486.59375, -776832.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-33443.303499245, -777250.52610598, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-32406.791713363, -775503.95766258, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-33332.71888694, -775461.94098235, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-33843.11328125, -775321.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-33380.0703125, -775943.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-32501.087890625, -775687.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-32287.646484375, -775913.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-33358.799874262, -774974.06658807, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-32558.738589852, -775538.2826274, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-33344.508505649, -775167.49604424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-33526.2421875, -777023.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-33496.33203125, -775165.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-33528.515625, -776924.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-33403.109375, -776803.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-33680.984375, -776337.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-32385.642872993, -775656.46734872, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-33596.609375, -776525.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-33660.78515625, -775904.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-32773.828125, -775657.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-33379.9453125, -777097.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-32642.671875, -775263.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-33764.15625, -776335.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-33668.6796875, -776078.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-33475.38671875, -775960.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-33399.93359375, -776544.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-33734.6171875, -776505.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-32280.23046875, -775374.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-32611.008757462, -775370.93196295, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-33335.410404651, -775307.98971536, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-33458.072750924, -775309.5767404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-33367.3359375, -776782.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-33773.75390625, -775323.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-33560.5390625, -776010.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-33559.06640625, -776635.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-33659.13671875, -775651.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-32443.092323575, -775332.58269553, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-33425.546875, -776641.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-32213.360191504, -775278.20349045, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=61.0, width=61.0, height=20.0, shelter=False)) + + +class Norvenich(Airport): + id = 48 + name = "Norvenich" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=41200000, vhf_high_hz=123000000, uhf_hz=365000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-331860.8125, -972317.96875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield48_0')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-331620.58082046, -973605.3989266, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-332267.3125, -973340.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-332014.21875, -971020.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-331492.25, -971194.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-332270.34375, -973360.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-331693.5625, -973727.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-332173.46875, -971030.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-331726.27572357, -973450.21478083, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-331984.11753185, -973558.50636074, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-331164.47180203, -971203.8957241, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-331008.875, -971468.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-332120.6875, -970863.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-331173.15031121, -971502.59299512, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-331237.77020512, -971153.18382634, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-331609.57719463, -973387.30698951, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-331307.9375, -973101.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-332007.93003185, -973552.69386074, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-331581.8125, -973542.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-331921.3125, -970716.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-331515.75, -971189.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-331094.25, -971318, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-331964.8125, -971275.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-331829.1875, -970701.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-331468.78125, -971200.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-331106.57217125, -971826.22133756, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-331192.77352902, -971788.50292057, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-331144.0625, -971686.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-331642.2092544, -972952.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-331358.125, -971156.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-331642.12608775, -973713.30292936, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-332295.5625, -973489.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-331545.375, -972883.74493804, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-331926.28125, -970956.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-331244.11305264, -971522.03860529, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-331593.875, -973125.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-332032.8125, -971104.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-331792.65625, -970789.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-331980.125, -971580.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-331996.5625, -971456.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-331539.40625, -971184.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-331981.875, -970781.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-331196.96875, -971893.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-331433.21875, -973072.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-331891, -973667.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-331936.68003185, -973567.44386074, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-331103.19743322, -971262.08309161, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-331023.95060829, -971378.07354429, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-331894.84375, -973688.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-332082.46875, -971405.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-331510.15625, -972990.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-332273.6875, -973380.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-331348.96875, -971114.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-332031.83628185, -973547.88136074, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-331909, -971003, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-331226.87142276, -971412.75828098, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-331670.83090814, -973125.17002621, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-332006.125, -970902.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-331917.53125, -971104.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-331881.90625, -973626.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-332168.53125, -971198.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-331507.18475561, -973040.84761334, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-331886.21875, -973646.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-331773.97348426, -970836.40662157, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-331042.58456586, -971342.770237, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-331353.49448951, -973095.43382634, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-331245.875, -971975, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-331039.02206586, -971797.27942114, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-331476.25, -973136.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-331304.53125, -973192.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-332000.46875, -971505.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-331494.25, -973522.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-332112.125, -972019.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-331353, -971135.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-331434.28125, -973294.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-332101.90625, -971807.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-331214.9375, -971655.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-331277, -971823.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-331349.46875, -973274.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-331148.66359731, -971601.98897903, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-332094.09375, -971278.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-331319.28125, -972028.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-331448.65625, -973375.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-332096.15625, -971779.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-331344.1875, -971093.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-332115.0625, -971319.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-332069.34375, -971474.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-331241.4992413, -971789.58448074, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-331007.76300554, -971622.64251176, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-331444.8125, -971205.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-331960.49253185, -973563.38136074, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Oranienburg(Airport): + id = 49 + name = "Oranienburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4650000, vhf_low_hz=41200000, vhf_high_hz=124000000, uhf_hz=365500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-191502.890625, -489781.796875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield49_1')) + self.beacons.append(AirportBeacon(id='airfield49_0')) + self.runways.append(Runway(id=1, name='34-16', main=RunwayApproach(name='34', heading=340, beacons=[]), opposite=RunwayApproach(name='16', heading=160, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-191045.765625, -489130.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-191319.96875, -489271.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-191556.453125, -489170.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-191522.78125, -489052.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-191745.890625, -488970.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-191432.453125, -489107.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-191381.09375, -489094.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-190632.671875, -489683.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-191905.859375, -488928.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-191646.171875, -489041.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-190351.21875, -489814.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-190896.28125, -489587.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-192425.75, -489169.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-191284.15625, -489087.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-192274.046875, -489244.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-191294.21875, -488979.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-191084.359375, -489328.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-191328.03125, -488987.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-192253.765625, -489089.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='76', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-191025.640625, -489161.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-190161.109375, -489361.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-190709.109375, -489596.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-190521.484375, -489840.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-192084.359375, -489385.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-190370.265625, -489736.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-191254.8125, -488949.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-192196.703125, -489017.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='75', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-191014, -489400.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-192172.546875, -489195.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='77', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-190915.046875, -489244.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-190986.53125, -489224.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-191178.90625, -489320.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-190553.4375, -489665.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-190345.34375, -489864.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-190385.171875, -489540.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-190299.5, -489647.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-191265.890625, -489354.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-192039.265625, -489327.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='70', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-191241.5, -489158.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-191851.640625, -489108.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-191918.203125, -489362.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='69', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-190253.5, -489624.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-191211.046875, -489438.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-191983.1875, -489229.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-191085.734375, -489069.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-191208.734375, -488952.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-191586.4375, -489000.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-192011.21875, -489145.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-190930.890625, -489491.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-191064.953125, -489099.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-191264.140625, -489054.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-191274.015625, -489273.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-190483.171875, -489805.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-191105.234375, -489038.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-191886.765625, -489441.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-191228.828125, -489040.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-192354.109375, -489146.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-191679.828125, -489160.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-191220.03125, -489301.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-191332.328125, -489108.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-191363.28125, -489227.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-190049.203125, -489274.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-191239.9375, -489396.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-191126.828125, -489007.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-192055.1875, -489066.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-190815.15625, -489667.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-190907.71875, -489331.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-191005.859375, -489193.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-190107.421875, -489543, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-190787.625, -489517.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-190326.84375, -489686.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-191146.84375, -488975.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-191780.21875, -489119.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-190819.6875, -489418.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-192296.453125, -489326.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-191864.5, -489264.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='68', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-191999.421875, -488906, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-191050.15625, -489365.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-192116.859375, -489117.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-191991.8125, -489076.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-190182.703125, -489584.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Szczecin_Goleniow(Airport): + id = 50 + name = "Szczecin-Goleniow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4700000, vhf_low_hz=42000000, vhf_high_hz=121250000, uhf_hz=256100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-107005.611384, -368017.985956, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield50_1')) + self.beacons.append(AirportBeacon(id='airfield50_2')) + self.beacons.append(AirportBeacon(id='airfield50_3')) + self.beacons.append(AirportBeacon(id='airfield50_0')) + self.runways.append(Runway(id=1, name='31-13', main=RunwayApproach(name='31', heading=310, beacons=[]), opposite=RunwayApproach(name='13', heading=130, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-106632.8359375, -367802.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-106580.4375, -367844.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-107392.03125, -366939.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-107577.9140625, -367121.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-106957.6640625, -367417.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-107365.90625, -367136.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-106959.1640625, -367530.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-107165.3359375, -367194.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-107645.75, -367190.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-106141, -368639.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-107105.7578125, -367260.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-107295.4453125, -367207.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-107474.4296875, -367023.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-107018.9140625, -367471.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-106156.4140625, -368322.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-107133.734375, -367343, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-107210.78125, -367260.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-107327.6796875, -367173.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-106048.984375, -368541.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-106530.859375, -367963.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-107336.265625, -366997.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-107262.484375, -367238.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-106094.5234375, -368590.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-107527.65625, -366988.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-107544.109375, -367090.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-106900.1015625, -367472.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-107610.1015625, -367155.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-106673.9921875, -367783.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-106189.578125, -368289.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-106222.03125, -368258.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-106254.3359375, -368225.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-106287.1640625, -368193.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-106321.7109375, -368161.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-106353.90625, -368130, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-106385.8828125, -368096.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-106420.2421875, -368065.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-106454.15625, -368032.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Obermehler_Schlotheim(Airport): + id = 51 + name = "Obermehler Schlotheim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4775000, vhf_low_hz=40450000, vhf_high_hz=122900000, uhf_hz=252050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-330821.625, -686827.375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield51_1')) + self.beacons.append(AirportBeacon(id='airfield51_0')) + self.runways.append(Runway(id=1, name='29-11', main=RunwayApproach(name='29', heading=290, beacons=[]), opposite=RunwayApproach(name='11', heading=110, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-331014.125, -686788.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-330814.90625, -686971.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-331097.34375, -686856.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-331083.125, -686808.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-330998.34375, -686818.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-330833.46875, -686937.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-331074.8125, -686824.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-331108.53125, -686760.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-331104.5, -686843.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-330796.25, -687007.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-331146.53125, -686763.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-331091.5, -686792.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-331118.375, -686816.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-331132.5, -686790.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-331208.125, -686768.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-331066.375, -686840.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-331026.625, -686764.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-331043.03125, -686733.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-331100.03125, -686776.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-331111.53125, -686829.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-331125.4375, -686803.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-331139.46875, -686776.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Adelsheim(Airport): + id = 52 + name = "Adelsheim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=256150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-528546.8125, -802927.9375, terrain), terrain) + + self.runways.append(Runway(id=1, name='5-23', main=RunwayApproach(name='5', heading=50, beacons=[]), opposite=RunwayApproach(name='23', heading=230, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-529000.5625, -804007.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-528072.0625, -801832.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-528093.8125, -801874.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-529021.8125, -804048.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class H_FRG_01(Airport): + id = 53 + name = "H FRG 01" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-220040.828125, -672240.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-220049.09375, -672269.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-220032.5625, -672211.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_02(Airport): + id = 54 + name = "H FRG 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-41757.199219, -644331.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-41777.78125, -644391.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-41785.3203125, -644254.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-41827, -644374.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-41735.32421875, -644272.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-41687.375, -644289.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-41729.4921875, -644408.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_03(Airport): + id = 55 + name = "H FRG 03" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-62719.328125, -681190.25, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-62756.79296875, -681117.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-62783.04296875, -681240.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-62733.26171875, -681251.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-62655.640625, -681138.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-62681.3671875, -681262.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-62706.640625, -681128.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_04(Airport): + id = 56 + name = "H FRG 04" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-88846.867188, -659675.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-88888.0390625, -659628.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-88766.375, -659690.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-88848.796875, -659594.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-88806.859375, -659724.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-88845.8125, -659757.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-88927.3671875, -659661.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_05(Airport): + id = 57 + name = "H FRG 05" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-124321.507813, -635677.4375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-124333.09375, -635649.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-124309.921875, -635705.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_06(Airport): + id = 58 + name = "H FRG 06" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-112638.125, -773002, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-112691.2109375, -773064, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-112567.1328125, -773042.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-112575.59375, -772992.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-112709.140625, -772962.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-112584.578125, -772940, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-112699.6953125, -773013.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_07(Airport): + id = 59 + name = "H FRG 07" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-131374.28125, -620658, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-131386.484375, -620630.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-131362.0625, -620685.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_08(Airport): + id = 60 + name = "H FRG 08" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-182536.375, -665769, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-182566.046875, -665764.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-182506.703125, -665773.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_09(Airport): + id = 61 + name = "H FRG 09" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-194336.15625, -652736.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-194331.96875, -652798.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-194391.65625, -652675.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-194383.828125, -652802, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-194338.671875, -652672.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-194287.8125, -652670.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-194280.640625, -652795.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_10(Airport): + id = 62 + name = "H FRG 10" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-198084.71875, -727524.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-198071.890625, -727605.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-198008.203125, -727496.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-198052, -727470.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-198161.21875, -727553.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-198097.75, -727443.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-198116.078125, -727579.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_12(Airport): + id = 64 + name = "H FRG 12" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-65731.929688, -637241.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-65782.265625, -637204.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-65650.2109375, -637238.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-65751.1953125, -637162.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-65682.4609375, -637280.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-65713.5390625, -637321.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-65813.6484375, -637244.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_13(Airport): + id = 65 + name = "H FRG 13" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-223972.9375, -814741.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-223934.015625, -814813.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-223910.28125, -814690.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-223960.265625, -814680.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-224035.5625, -814794.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-224012.34375, -814670.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-223984.390625, -814803.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_14(Airport): + id = 66 + name = "H FRG 14" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-220416.953125, -492494.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-220394.703125, -492474.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-220439.203125, -492514.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_01(Airport): + id = 67 + name = "H GDR 01" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-95275.078125, -618294.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-95305.953125, -618315.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-95244.203125, -618273.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-95275.1953125, -618294.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_02(Airport): + id = 68 + name = "H GDR 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-196614.140625, -549177.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-196604.40625, -549213.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-196623.875, -549141.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-196614.140625, -549177.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_03(Airport): + id = 69 + name = "H GDR 03" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-150750.3125, -464421.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-150769.453125, -464453.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-150731.171875, -464388.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-150750.3125, -464421.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_04(Airport): + id = 70 + name = "H GDR 04" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-103572.546875, -473247.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-103588.4140625, -473281.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-103556.671875, -473213.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-103572.546875, -473247.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_05(Airport): + id = 71 + name = "H GDR 05" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-94852.921875, -433827.40625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-94852.921875, -433827.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_06(Airport): + id = 72 + name = "H GDR 06" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-220710.375, -539810.4375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-220710.375, -539810.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_07(Airport): + id = 73 + name = "H GDR 07" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-150546.171875, -587952.9375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-150546.171875, -587952.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_08(Airport): + id = 74 + name = "H GDR 08" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-195805.015625, -467992.40625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-195805.015625, -467992.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_09(Airport): + id = 75 + name = "H GDR 09" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-64018.929688, -482535.15625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-64018.9296875, -482535.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_10(Airport): + id = 76 + name = "H GDR 10" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-218167.90625, -471591.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-218164.21875, -471554.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-218171.609375, -471629.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-218167.90625, -471591.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_11(Airport): + id = 77 + name = "H GDR 11" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-232004.671875, -467087.03125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-232004.671875, -467087.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_15(Airport): + id = 78 + name = "H FRG 15" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-205692.1875, -484623.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-205664, -484690.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-205642.34375, -484651.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-205620.859375, -484612.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-205720.34375, -484556.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-205742.015625, -484595.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-205763.5, -484634.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Revinge(Airport): + id = 79 + name = "Revinge" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4775000, vhf_low_hz=40250000, vhf_high_hz=142900000, uhf_hz=315700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(140271.851563, -439655.53125, terrain), terrain) + + self.runways.append(Runway(id=1, name='29-11', main=RunwayApproach(name='29', heading=290, beacons=[]), opposite=RunwayApproach(name='11', heading=110, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(140664.421875, -440685.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(140672.359375, -440704.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(139810.27281093, -438446.66046953, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(139821.625, -438476.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(140771.109375, -440839.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(140656.796875, -440666.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Gross_Mohrdorf(Airport): + id = 80 + name = "Gross Mohrdorf" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4700000, vhf_low_hz=40350000, vhf_high_hz=127000000, uhf_hz=254250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-5286.263184, -489272.125, terrain), terrain) + + self.runways.append(Runway(id=1, name='13-31', main=RunwayApproach(name='13', heading=130, beacons=[]), opposite=RunwayApproach(name='31', heading=310, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-5568.98046875, -488568.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-5759.1748046875, -488361.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-5484.1259765625, -488658.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-5542.6245117188, -488599.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-5731.6733398438, -488396.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-5773.3081054688, -488344.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-5718.0502929688, -488412.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-5800.9926757812, -488309.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-5828.130859375, -488275.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-5516.7919921875, -488629.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-5857.1708984375, -488233.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-5786.5336914062, -488327.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-5454.7060546875, -488693.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-5813.958984375, -488292.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-5703.5805664062, -488430.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-5745.5864257812, -488379, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class Lubeck(Airport): + id = 81 + name = "Lubeck" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4825000, vhf_low_hz=41600000, vhf_high_hz=128700000, uhf_hz=254300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-50634.525391, -640659.28125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield81_0')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-51163.96484375, -641605.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-51174.80859375, -641506.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-51004.46484375, -641135.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-50380.626483622, -641548.69778464, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-50991.96875, -641114.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-51017.00390625, -641154.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-51079.8828125, -641257.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-51177.72265625, -641483.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-51162.03125, -641388.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-50569.5234375, -641787.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-50347.778234093, -641503.77452504, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-51054.2890625, -641216.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-51171.38671875, -641532.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-51179.58203125, -641459.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-51149.453125, -641366.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-51028.6171875, -641176.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-51093.12109375, -641278.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-51169.05859375, -641555.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-50245.109375, -641364.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-50334.76171875, -641340.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-51174.18359375, -641409.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-50526.5390625, -641734.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-51067.0078125, -641236.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-51166.82421875, -641580.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-50377.0546875, -641396.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-51041.9375, -641197.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-50314.7421875, -641313.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-51132.3828125, -641341.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-50355.62109375, -641368.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-51106.28515625, -641299.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-51119.3984375, -641319.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-51181.30859375, -641433.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-50320.763400415, -641468.64556928, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-51164.18359375, -641636.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-50523.75, -641673.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=30.0, width=30.0, height=15.0, shelter=False)) + + +class Kothen(Airport): + id = 82 + name = "Kothen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4250000, vhf_low_hz=39800000, vhf_high_hz=125900000, uhf_hz=254350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-292820.788589, -588302.626583, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield82_1')) + self.beacons.append(AirportBeacon(id='airfield82_2')) + self.beacons.append(AirportBeacon(id='airfield82_3')) + self.beacons.append(AirportBeacon(id='airfield82_4')) + self.beacons.append(AirportBeacon(id='airfield82_0')) + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-292657.96875, -587030.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-292962.46875, -588916.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-292609.28125, -587185.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='98', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-293147.25, -589251.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-292320.5625, -587153.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-292307.21875, -587304.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-292485.03125, -587099.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='93', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-292472.6875, -587740.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-292424.75, -588401.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-292355.8125, -587698.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-292393.21875, -587117.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-292309.96875, -587466.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-292601.5625, -587013.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-292510.40625, -587235.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='99', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-292704.52847186, -586961.94322001, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-292323.4375, -587560.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-292966.1875, -589344.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-292608.25, -587234.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='100', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-292304.375, -587010.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-292371.5, -587849.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-293008.28125, -588960.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-292321.25, -587541.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-292623.40625, -587337.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='103', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-292533.03125, -587407.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='106', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-292312.03125, -587247.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-292488.59375, -588315.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-292360.78125, -587736.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-292544.09375, -587482, self._terrain), large=False, heli=True, + airplanes=False, slot_name='109', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-292928.09375, -589454.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-292304.84375, -587323.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-292648.8125, -586950.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-292405.75, -588739.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-293013.28125, -589205.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-292404.125, -588604.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-292435.84375, -588307.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-292113.26177504, -587073.28941042, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-292445, -588896.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-292318.3125, -587819.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-292313.21875, -587228.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-292324.84375, -587578.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-292350.1875, -587661.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-292740.15625, -586970.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-292315.40625, -587210.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-292282.625, -588608.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-292407.875, -587342, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-292666.4692979, -586955.07441486, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-292503.34375, -588408.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-292967.375, -589126.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-292345.5, -588924.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-292580.28125, -587096.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-292226.25080324, -587119.99669508, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-292299.79041023, -587360.99816317, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-292721.375, -586966.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-292456.71875, -587852.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-292317.15625, -587503.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-292319.46875, -587172.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-292078.79344573, -587452.07180386, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-292577.03125, -586904, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-293079.59375, -589146.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-292447.15625, -588954.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-292379.4375, -587867.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-292483.6875, -587799.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-292557.96875, -587055, self._terrain), large=False, heli=True, + airplanes=False, slot_name='92', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-292433.71875, -587615.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-292497.65625, -587145.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='95', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-292088.93577335, -587063.18120416, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-292358.5, -587717.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-292382.03125, -589088.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-292509.375, -587184.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='97', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-292623.6875, -587429.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='107', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-292628.96875, -587474.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='108', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-292303.03125, -587342.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-292408.5625, -587468.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-292895.78125, -589512.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-292583.0625, -587142.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='96', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-292630.3125, -587384.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='105', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-292599.35663171, -586937.79041023, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-292684.62876667, -586959.41001667, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-293095.5, -589301.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-292279.3125, -588673, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-292216.8125, -587400.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-293031.4375, -589011.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-292994.625, -589520.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-292538.4375, -587277.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='101', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-292416.3125, -588540.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-292315.52859995, -587190.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-292306.3125, -587641.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-292629.09375, -586917.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-293260.78125, -587349.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-292451.375, -587005.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-292102.0625, -587443.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-292758.97077534, -586973.68927408, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-292656.3125, -587291.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='102', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-292352.37868942, -587679.74479511, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-292317.78125, -587484.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-292412.875, -587046.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-292240.84504615, -587392.43184918, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-292344.67278943, -587623.25365772, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-292544.5625, -587356.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='104', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-292912.40625, -589599.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-292307.46875, -587285.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-292370.46875, -587810.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-292367.03125, -587773.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-292319.59375, -587522.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-292251.11021802, -587130.07810546, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-292368.0625, -587830.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-292364.84375, -587754.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-292310.71875, -587266.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-292990.21875, -589286.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Dessau(Airport): + id = 83 + name = "Dessau" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3825000, vhf_low_hz=41300000, vhf_high_hz=127500000, uhf_hz=254400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-282548.53125, -570865.21875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield83_1')) + self.beacons.append(AirportBeacon(id='airfield83_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-283085.9375, -570826.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-282582.96875, -569698.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-282363.90252852, -569704.89429467, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-283079.5625, -570804.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-283160.6875, -571032.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-282951.72047527, -570360.83312511, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-283116.3821202, -570929.24083576, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-282510.87731097, -569709.67470993, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-282934.15368958, -570299.62195586, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-282978.8125, -571690.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-282532.06649242, -569709.78764503, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-282366.09375, -569848.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-282490.19107801, -569708.70219463, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-283133.06241236, -570989.07502714, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-283121.70595993, -570948.9857596, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-283045.53125, -571651.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-283207.34375, -571551.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-283111.00784537, -570909.7927212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-282957.15616236, -570381.86829822, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-283078.38528464, -571111.87895576, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-283060.34375, -570738.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-282425.34109041, -569706.96415793, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-282384.45956586, -569705.56066317, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-282456.4375, -569887.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-282553.47619297, -569710.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-282945.98159505, -570340.11231991, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-282605.25, -569886.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-282928.96367384, -570257.73085872, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-283137.4375, -571606, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-283073.0625, -570782.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-282404.9147568, -569706.24816317, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-282940.39355874, -570319.67594031, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-283066.78125, -570760.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-283127.38951534, -570969.00481324, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Parchim(Airport): + id = 84 + name = "Parchim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4775000, vhf_low_hz=39850000, vhf_high_hz=129000000, uhf_hz=254450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-102139.058594, -575984.6875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield84_1')) + self.beacons.append(AirportBeacon(id='airfield84_2')) + self.beacons.append(AirportBeacon(id='airfield84_3')) + self.beacons.append(AirportBeacon(id='airfield84_4')) + self.beacons.append(AirportBeacon(id='airfield84_0')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-101674.53125, -575995.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-101710.609375, -576099.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-101918.734375, -576743.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-101962.1640625, -576910.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-101457.046875, -575591.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-101332.3515625, -575510.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-101525.4375, -575797.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-101371.6171875, -575205.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-101733.2734375, -576161.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-101760.7890625, -576245.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-101649.5078125, -575934.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-101977.640625, -574568.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-101502.7421875, -575733.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-101559.9453125, -575939.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-101747.1640625, -576203.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-101509.9921875, -575754.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-101575.5078125, -575982.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-102088.4296875, -574630.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-101620.8515625, -575848.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-101740.234375, -576182.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-101754.1171875, -576224.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-101681.0390625, -576016.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-102137.6875, -576857.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-101508.5390625, -575554, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-101911.859375, -574519.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-102175.078125, -574602.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-101614.03125, -575828.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-101567.6328125, -575961.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-101351.0078125, -575503.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-101428.6171875, -574969.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-101718.3515625, -576120.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-102006.453125, -574726.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-101909.2109375, -574611.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-101519.4140625, -575606.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-101489.828125, -574784.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-101445.375, -575108.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-101575.9921875, -575291.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-101570.6015625, -575410.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-101572.390625, -575716.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-102204.9140625, -577210.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-101496.984375, -575521.31170885, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-101552.171875, -575918.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-101703.515625, -576078.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-101517.4453125, -575774.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-101605.640625, -575807.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-101688.84375, -576037.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-102152.015625, -574680.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-101598.484375, -575786.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-101532.3125, -575816.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-102066.1171875, -577143.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-101725.53125, -576140.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-101273.3984375, -575322.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-101404.5546875, -575301.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-101974.53125, -574658, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-101289.4296875, -575242, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-101581.0625, -575741.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-102038.3203125, -576756.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-101696.1015625, -576058.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class H_GDR_12(Airport): + id = 85 + name = "H GDR 12" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-204987.5, -602388.6875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-204998.78125, -602314.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-204976.203125, -602463.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-204987.4375, -602389.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Uetersen(Airport): + id = 86 + name = "Uetersen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4500000, vhf_low_hz=41550000, vhf_high_hz=119000000, uhf_hz=254500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-57945.89999, -709813.561559, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-57732.828125, -709348.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-58086.0390625, -709777.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-57706.0859375, -709060.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-58064.63671875, -710704.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-57594.92578125, -709692.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-57738.05859375, -709388.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-58006.72265625, -710521.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-58134.26953125, -709762.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-58031.67578125, -710570.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-57715.60546875, -709341.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-58155.70703125, -709736.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-57696.61328125, -709443.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-58042.35546875, -710694.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-58038.23828125, -710555.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-57578.71484375, -709750.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-58220.5625, -710174.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-57696.5078125, -709368.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-58150.014607799, -710206.22686399, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-58060.9140625, -710592.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-58050.26171875, -710525.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-58148.7109375, -709769.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-58002.2578125, -710629.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-58118.6328125, -709831.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-58127.58984375, -709797.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-58111.97265625, -709931.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-57724.390625, -709382.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-57699.72265625, -709083.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-57731.37890625, -709423.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-58113.28515625, -709716, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-57710.8125, -709450.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-58104.43359375, -709824, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-58084.91796875, -710714.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-57712.74609375, -709037.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-57717.80859375, -709417.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-58163.890625, -710159.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-58203.078822778, -710238.09923657, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-58077.26953125, -710599.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-57419.33203125, -710136.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-58043.81640625, -710540.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-58116.63671875, -709902.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-58106.2890625, -709749.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-58120.48828125, -709756.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-57426.16796875, -710113.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-58114.45703125, -709917.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-58113.80859375, -709791.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-58012.16796875, -710507.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-57703.609375, -709410.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-58142.03125, -709804.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-58090.65234375, -709817.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-58133.3984375, -710259.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-57432.4296875, -710089.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-57710.2890625, -709375.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-58099.609375, -709784.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-58157.4140625, -710183.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-58127.484375, -709723.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-57689.828125, -709403.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-58024.27734375, -710687, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-58210.7578125, -710212.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-58092.66015625, -709742.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Tagra(Airport): + id = 87 + name = "Tagra" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=255900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(124137.800781, -423198.84375, terrain), terrain) + + self.runways.append(Runway(id=1, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[]), opposite=RunwayApproach(name='15', heading=150, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(123302.234375, -422762.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(124997.265625, -423883.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(123319.5625, -422774.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(123248.6796875, -422725.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(123267.0546875, -422738.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(123336.6171875, -422786.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(123285.109375, -422750.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(123353.984375, -422798.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Luneburg(Airport): + id = 89 + name = "Luneburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4350000, vhf_low_hz=41450000, vhf_high_hz=136500000, uhf_hz=254550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-109711.792969, -666734.3125, terrain), terrain) + + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-109582.46875, -666857.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-109772.40625, -666904.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-109626.2109375, -666963.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-109608.34375, -666965.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-109565.890625, -666888.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-109609.5234375, -667013.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-109618.359375, -666855.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-109583.7578125, -666888.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-109601.765625, -666886.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-109615.53125, -666933.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-109631.234375, -667061.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-109619.765625, -666885.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-109627.9609375, -667012.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-109564.6328125, -666859.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-109695.0859375, -667082.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-109781.546875, -666964.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-109600.5, -666856.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Northeim(Airport): + id = 90 + name = "Northeim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4150000, vhf_low_hz=41250000, vhf_high_hz=134600000, uhf_hz=254650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-146391.65625, -619116.46875, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-146198.453125, -618709.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-146178.09375, -618927.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-146126.109375, -618778, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-146136.078125, -618763.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-146178.734375, -618718.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-146179.0625, -618987.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-146186.359375, -618757.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-146193.765625, -618729.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-146157.15625, -618736.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-146171.9375, -618746.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class H_GDR_13(Airport): + id = 91 + name = "H GDR 13" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-85573.085938, -545707.4375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-85626.4453125, -545654.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-85573.375, -545707.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-85519.7265625, -545760.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_14(Airport): + id = 92 + name = "H GDR 14" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-157286.125, -474879.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-157352.234375, -474915.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-157286.53125, -474880.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-157220, -474843.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_15(Airport): + id = 93 + name = "H GDR 15" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-243124, -567018.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-243121.09375, -567094.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-243123.984375, -567019.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-243126.921875, -566943.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_16(Airport): + id = 94 + name = "H GDR 16" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-235841.765625, -593646.375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-235841.765625, -593646.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_17(Airport): + id = 95 + name = "H GDR 17" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-46310.859375, -595276.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-46345.88671875, -595290.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-46275.83203125, -595262.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-46310.953125, -595276.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_16(Airport): + id = 96 + name = "H FRG 16" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-225079.515625, -754555.25, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-225078.375, -754585.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-225080.65625, -754525.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_17(Airport): + id = 97 + name = "H FRG 17" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-110358.28125, -733413.1875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-110340.7734375, -733388.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-110375.7890625, -733437.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_18(Airport): + id = 98 + name = "H FRG 18" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-10776.265625, -645730.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-10758.817382812, -645706.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-10793.712890625, -645755.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_19(Airport): + id = 99 + name = "H FRG 19" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-80211.296875, -699572.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-80238.328125, -699559.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-80184.2578125, -699585.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_11(Airport): + id = 100 + name = "H FRG 11" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-154631.5625, -701429.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-154658.171875, -701443.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-154604.96875, -701416.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Sperenberg(Airport): + id = 101 + name = "Sperenberg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3800000, vhf_low_hz=38500000, vhf_high_hz=123100000, uhf_hz=250100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-257400.226563, -490766.8125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield101_1')) + self.beacons.append(AirportBeacon(id='airfield101_2')) + self.beacons.append(AirportBeacon(id='airfield101_3')) + self.beacons.append(AirportBeacon(id='airfield101_4')) + self.beacons.append(AirportBeacon(id='airfield101_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-256828.46875, -490824.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-256940.421875, -491101.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-256952.546875, -491042.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='49', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-256960.796875, -490983.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='50', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-256972.515625, -490924.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-256980.984375, -490864.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-257002.96875, -490745.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-257012.859375, -490687.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-257031.796875, -490567.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-257038.65625, -490497.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='57', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-257063.90625, -490389.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-257075.9375, -490329.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-257110.296875, -490183.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-257116.5, -490144.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-257125.3125, -490100.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-257132.90625, -490060.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-257140.171875, -490018.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-257148.4375, -489965.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-257156.171875, -489923.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-257164.390625, -489880.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-257171.953125, -489837.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-257179.46875, -489794.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-257193.109375, -489735.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-257200.546875, -489692.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-257208.703125, -489648.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-257213, -489610.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-257219.265625, -489572.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-257227.75, -489528.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-256495, -492316.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-256521.546875, -492217.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-256538.84375, -492121.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-256567.3125, -492003.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-256606.390625, -491777.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-256650.703125, -491694.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-256650.5, -491566.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-256666.40625, -491445.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-256562.515625, -491289.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-256549.78125, -491388.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-256496.390625, -491607.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-256484.953125, -491732.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-256472.828125, -491815.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-256453.203125, -491906.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-256426.265625, -492066.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-256408.859375, -492163.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-256388.796875, -492258.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-256568.09375, -491191.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-256590.234375, -491069.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-256603.3125, -490950.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-256658.03125, -490794.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-256947.6875, -490241.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-256897, -490346.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-256914.5, -490411.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-256990.640625, -491420.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-257001.203125, -491357.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-257011.21875, -491301.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-257022.828125, -491237.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-257033.71875, -491178.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-257055.40625, -491060.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-257044.140625, -491119.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-257076.390625, -490942.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-257065.453125, -491001.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-257246.953125, -489458.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-257216.125, -489453.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-257054.015625, -490449.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='58', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-257022.765625, -490627.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-256693.703125, -491276.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-256714.25, -491158.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-256739.15625, -491035.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-256524.375, -491484.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-256960.484375, -490244.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-256935.484375, -490239.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-256851.03125, -491671.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-256881.046875, -491474.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-256873.71875, -491514.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-256865.9375, -491556.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-256810.1875, -491862.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-256818.015625, -491821.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-256825.9375, -491779.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=36.0, width=36.0, height=15.0, shelter=False)) + + +class Uelzen(Airport): + id = 102 + name = "Uelzen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3825000, vhf_low_hz=38550000, vhf_high_hz=119100000, uhf_hz=250150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-139088.351563, -670768.34375, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-139217.359375, -670523.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-139255.375, -670537.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-139214.5625, -670762.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-139208.90625, -670582.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-139214.40625, -670546.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-139217.046875, -670736.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-139266.1875, -670447.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-139211.5625, -670565.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-139247.953125, -670591.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-139219.40625, -670711.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-139250.671875, -670573, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-139253.09375, -670555.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-139221.3125, -670500.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-139224.546875, -670476, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Dedelow(Airport): + id = 103 + name = "Dedelow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3850000, vhf_low_hz=38600000, vhf_high_hz=119000000, uhf_hz=250200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-125516.867892, -444415.265698, terrain), terrain) + + self.runways.append(Runway(id=1, name='10-28', main=RunwayApproach(name='10', heading=100, beacons=[]), opposite=RunwayApproach(name='28', heading=280, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-125291.6875, -444075.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-125344.8046875, -444403.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-125350.0625, -444440.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-125315.18672137, -444463.22686399, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-125784.5078125, -444817.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-125234.8125, -444062.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-125378.1640625, -444453.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-125250.984375, -443997.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-125336.125, -444434.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-126020.0859375, -444125.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-125883.484375, -444469.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-125398.15625, -443692.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-125346.4609375, -444318, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-125782.671875, -445138.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-125321.5, -444428.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-125343.81785077, -444476.86568006, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-126025.734375, -444101.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-125437.421875, -443602.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-125868.765625, -444528.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-125750.390625, -444839.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-125430.65625, -443724, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-125403.3515625, -443676.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-125323.2879753, -443975.59794321, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-125741.9921875, -444871.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-125298.0234375, -444052, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-125373.1171875, -444416.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-125776.6796875, -444778.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-125769.75, -444809.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-125329.61899753, -444470.86443346, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-125435.734375, -443710.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-125392.1171875, -443707.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-125386.8515625, -444422.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-125415.3671875, -443545.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-125374.015625, -443528.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-125358.75, -444409.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-125243.390625, -444024.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-125304.5078125, -444028.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-125764.78125, -444846.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-125756.0859375, -444877.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-125364.9921875, -444447.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-125762.3046875, -444771.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-125349.1484375, -444300.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-125352.5234375, -444515.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-125395.2734375, -443537.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-125770.984375, -445184.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-125343.46875, -444334.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-125727.984375, -444865.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-125409.515625, -443661.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-125363.203125, -443634.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-125330.203125, -444397.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-125338.15625, -444509.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-125736.671875, -444833.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-125323.7862953, -444504.00002391, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-125756.1796875, -444804.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-125353.9296875, -443519.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-125778.71875, -444852.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-125770.03125, -444883.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-125379.71875, -443639.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-125372.8336315, -444487.89153943, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-125776.5390625, -445160.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-126031.9765625, -444078.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-125742.4453125, -444798.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-125358.30008347, -444482.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Kammermark(Airport): + id = 104 + name = "Kammermark" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3875000, vhf_low_hz=38650000, vhf_high_hz=119000000, uhf_hz=250250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-131043.110843, -554135.601261, terrain), terrain) + + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-130894.2578125, -554242.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-130863.484375, -554237.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-131379.46875, -554446.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-130734.5234375, -553470.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-131451.6875, -553695.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-130674.4921875, -553872.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-130851.234375, -554071.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-131415.09375, -554146.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-130920.6796875, -554179, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-131383.578125, -554513.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-130665.1328125, -553319.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-130643.765625, -553316.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-130732.8984375, -553487.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-131452.78125, -553719.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-131383.5, -554481.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-130875.21875, -554204.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-130879.203125, -554240, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-130737.0703125, -553438.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-130672.40625, -553806.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-130875.125, -554172.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-131410.3125, -554450.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-131413.421875, -554086.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-131364.640625, -554444.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-130920.828125, -554211.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-130853.609375, -554088.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-131399.203125, -554484.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-131497.859375, -554758.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-130909.96875, -554244.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-130855.78125, -554104.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-130913.203125, -554278.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-130731.5078125, -553845.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-130859.5, -554202.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-130690.21875, -553323.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-130905.8515625, -554177.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-130685.15625, -553424.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-130882.3671875, -554273.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-130890.125, -554174.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-131395.203125, -554448.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-130859.421875, -554170.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-131399.28125, -554516.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-131368.765625, -554511.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-131369.359375, -554479.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-130735.4296875, -553454.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-130732.453125, -553765.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-130732.75, -553821.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-130906.4609375, -554209.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-130774.5, -553492.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-130927.9921875, -554280.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-131361.421875, -554410.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-130709.59375, -553324.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-130672.578125, -553834.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-131414.203125, -554486.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-131451.34375, -553671.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-130775.6953125, -553477.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-130733.0234375, -553870.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-131391.984375, -554414.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-130890.296875, -554206.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-130702.546875, -553425.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-130924.796875, -554246.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-131414.390625, -554518.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-131498.109375, -554782.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-131499.4375, -554807.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-130747.8046875, -553373.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + + +class Weser_Wumme(Airport): + id = 106 + name = "Weser Wumme" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3900000, vhf_low_hz=38700000, vhf_high_hz=119000000, uhf_hz=250300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-117857.128906, -753310.71875, terrain), terrain) + + self.runways.append(Runway(id=1, name='19-01', main=RunwayApproach(name='19', heading=190, beacons=[]), opposite=RunwayApproach(name='01', heading=10, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-117494.8046875, -753558.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-117935.1328125, -753479, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-116986.375, -753527.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-117945.171875, -753449.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-117131.984375, -753485.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-117899.828125, -753476.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-117508.0234375, -753481.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-117578.484375, -753573.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-117979.1640625, -753453.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-116978.546875, -753549.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-117963.8828125, -753496.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-117867.984375, -753470.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-117097.1015625, -753512.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-117968.9140625, -753482.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-117592, -753495.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-117092.7734375, -753529.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-117894.8046875, -753490.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-117542.8671875, -753487.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-117878.2578125, -753441.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-117147.4765625, -753489.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-117862.96875, -753484.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-117858.1796875, -753499.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-117873.4453125, -753455.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-117163.109375, -753494.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-117774.8671875, -753487.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-117054.6171875, -753457.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-117115.9921875, -753480.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-116993.203125, -753504.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-117759.3828125, -753486.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-117176.5078125, -753454.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-117889.859375, -753505.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-117436.6484375, -753547.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-117162.4375, -753450.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-117529.765625, -753566.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-117940.6875, -753464.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-117925.265625, -753508.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-117790.515625, -753488.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-117905.4765625, -753461.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-117910.0546875, -753447.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-117930.2265625, -753493.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-116999.59375, -753484.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Braunschweig(Airport): + id = 107 + name = "Braunschweig" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3925000, vhf_low_hz=38750000, vhf_high_hz=120050000, uhf_hz=250350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-213558.34375, -675577, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield107_1')) + self.beacons.append(AirportBeacon(id='airfield107_2')) + self.beacons.append(AirportBeacon(id='airfield107_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield107_3', runway_name='08-26', runway_id=1, runway_side='26')]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-213855.33182257, -675342.07352097, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-214006, -675534.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-213216.984375, -675503.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-213218.33735497, -675461.80116027, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-213968.046875, -676053.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-213967.078125, -675691.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-213978.640625, -675664.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-213982.234375, -675489.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-213938.953125, -676106.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-213867.84375, -675109.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-213219.03125, -675440.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-214050.28125, -675636.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-213835.34375, -675347.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-214074.328125, -674805.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-214061.171875, -674859.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-213210.89204867, -676164.744225, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-213843.25, -675182.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-213190.32000352, -676106.34850107, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-213833.92385542, -676172.58517947, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-213857.109375, -675243, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-213955.015625, -675719.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-213930.625, -675772.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-213232.27087254, -676225.02158539, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-213217.24687463, -676184.16946248, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-213217.484375, -675482.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-213942.953125, -675744.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-213989.734375, -675638.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-213846.43841443, -675106.00365772, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-213183.23083363, -676086.70692179, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-214052.890625, -674732.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-213849.375, -675054, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-213196.7462591, -676125.61745381, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-213986.60146348, -675403.92721536, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-213215.671875, -675544.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-213851.25, -675293.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-213870.3125, -675055.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-213216.140625, -675523.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-213224.57058247, -676204.78292513, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-214080.9375, -674780.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-213962.296875, -676077.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-213837.18948042, -676096.02267947, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-213203.77880397, -676144.67426771, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-213867.59470428, -675186.36948951, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-213238.82559291, -676245.30079136, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-213215.546875, -675565.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-213919.484375, -676106.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=18.0, width=15.0, height=8.0, shelter=False)) + + +class Wismar(Airport): + id = 108 + name = "Wismar" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3950000, vhf_low_hz=38800000, vhf_high_hz=134300000, uhf_hz=250400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-45741.773438, -587524.09375, terrain), terrain) + + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-45581.3046875, -587634.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-45635.01171875, -587637.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-45624.671875, -587840.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-45783.82421875, -587687.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-45685.890625, -587868.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-45599.1484375, -587635.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-45608.5234375, -587792.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-45612.9296875, -587742.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-45623.47265625, -587711.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-45786.6015625, -587747.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-45615.1484375, -587661.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-45630.9609375, -587742.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-45633.1953125, -587662.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-45617.0390625, -587636.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-45626.85546875, -587793.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-45579.3671875, -587659.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-45597.20703125, -587660.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Waren_Vielist(Airport): + id = 109 + name = "Waren Vielist" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3975000, vhf_low_hz=38850000, vhf_high_hz=134800000, uhf_hz=250450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-93950.511719, -516754.71875, terrain), terrain) + + self.runways.append(Runway(id=1, name='24-06', main=RunwayApproach(name='24', heading=240, beacons=[]), opposite=RunwayApproach(name='06', heading=60, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-93581.0078125, -516573.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-93569.53125, -516635.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-93726.9765625, -516800.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-93592.859375, -516557.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-93608.3125, -516604.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-93569.0703125, -516653.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-93590.453125, -516603.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-93599.578125, -516574.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-93693.6171875, -516750.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-93572.640625, -516602.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Bienenfarm(Airport): + id = 110 + name = "Bienenfarm" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4025000, vhf_low_hz=38950000, vhf_high_hz=134700000, uhf_hz=250550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-195306.921875, -522270.1875, terrain), terrain) + + self.runways.append(Runway(id=1, name='30-12', main=RunwayApproach(name='30', heading=300, beacons=[]), opposite=RunwayApproach(name='12', heading=120, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-195252.734375, -521990.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-195385.484375, -521842.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-195216.953125, -522038.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-195319.296875, -521834.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-195362.921875, -521860.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-195380.203125, -521825.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-195357.625, -521843.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-195401.234375, -521830.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-195352.296875, -521825.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-195302.375, -521840.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Pinnow(Airport): + id = 111 + name = "Pinnow" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4050000, vhf_low_hz=39000000, vhf_high_hz=119000000, uhf_hz=250600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-79282.343454, -587979.215082, terrain), terrain) + + self.runways.append(Runway(id=1, name='20-02', main=RunwayApproach(name='20', heading=200, beacons=[]), opposite=RunwayApproach(name='02', heading=20, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-79286.4921875, -588148.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-79336.25, -588133.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-79716, -587767.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-78571.921875, -587965.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-79699.5, -587793.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-79438.65625, -587643.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-79038.5, -587432, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-78563.4140625, -588008.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-79061.5078125, -587440.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-78405.9609375, -587966.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-79725.96875, -587816.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-78858.5859375, -588201.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-79016.4375, -587422.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-78585.0234375, -587972.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-79779.6875, -587790.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-78395.3984375, -587983.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-78534.8125, -587993.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-79304.5390625, -588185.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-79302.71875, -588122.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-79683.6953125, -587757.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-78464.671875, -587950.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-79335.6171875, -588196.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-79369.03125, -588143.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-78371.890625, -588024.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-79177, -588137.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-79265.375, -588122.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-78486.7890625, -588028.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-79659.5234375, -587796.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-79329.0703125, -588145.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-79320.515625, -588159.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-79771.8046875, -587803.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-79691.828125, -587806.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-80031.2578125, -587815.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-78383.96875, -588003.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-80076.3671875, -587833.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-79147.5703125, -588129.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-78827.21875, -588104.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-79240.8515625, -588162.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-78892.671875, -588151.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-79294.6640625, -588135.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-79742.0703125, -587790.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-79763.1796875, -587816.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-80053.3203125, -587825, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-78520.1796875, -587985.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-79755.515625, -587829.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-79272.984375, -588110, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-79749.953125, -587777.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-79312.6328125, -588172.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-79162.28125, -588133.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-78914.546875, -588160.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-79708.109375, -587780.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-79352.75, -588169.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-78832.7578125, -588191.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-79382.796875, -587620.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-78549.078125, -588000.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-78869.7265625, -588142.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-79733.453125, -587804.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-78494.625, -588012.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-78894.5078125, -588215.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-79270.5859375, -588175.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-79256.6875, -588136.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-79278.5546875, -588161.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-79248.9453125, -588149.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Gardelegen(Airport): + id = 112 + name = "Gardelegen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4075000, vhf_low_hz=39050000, vhf_high_hz=119000000, uhf_hz=250650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-197818.570313, -618380.875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield112_0')) + self.runways.append(Runway(id=1, name='29-11', main=RunwayApproach(name='29', heading=290, beacons=[]), opposite=RunwayApproach(name='11', heading=110, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-197977.9375, -618347.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-197698.578125, -617861.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-197773.328125, -617569.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-197760.625, -619175, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-197710.46875, -619082.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-198002.265625, -618366.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-197688.296875, -617981.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-197691.296875, -617941.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-197721.28125, -619274.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-197705.984375, -617909.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-197687.328125, -619247.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-197895.609375, -618858.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-197963.609375, -618379.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-197948.828125, -618768.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-197751.859375, -619096.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-197722.5625, -617881.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-198014.0625, -618376, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-197652.640625, -617952.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-197761.859375, -617590.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-197693.90625, -617899.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-197999.296875, -618408.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-197710.484375, -617871.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-197739.859375, -619289.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-197924.359375, -618810.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-197749.78125, -617611.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-197506.703125, -618179.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='59', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-197680.625, -619186.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-197937.671875, -618789.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-197990.109375, -618356.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-197733.09375, -619123.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-197230.78125, -618569.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-198028.640625, -618345.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-197254.484375, -618526.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='61', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-197995.21875, -618445.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-198011.78125, -618418.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-197958.84375, -618416.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-197717.8125, -617918.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-198016.875, -618335.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-197723.125, -619136.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-197982.796875, -618435.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-197702.984375, -619260.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-197746.234375, -619165.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-197974.96875, -618387.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-197947.09375, -618406.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-197987.46875, -618398.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-197682.125, -617889.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-197477.171875, -618232.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-197667.28125, -617921.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-197970.953125, -618426.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-198004.734375, -618325.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-197949.5625, -618533.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-197742.046875, -619110.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-197983.09375, -618829.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-197242.78125, -618548.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-198026.46875, -618385.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-198000.578125, -618796.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-197955.734375, -618519.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-197961.6875, -618505, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-197967.765625, -618855.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-197679.15625, -617931.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-197734.203125, -617891.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-197703, -617951.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-197719.0625, -619070.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Glindbruchkippe(Airport): + id = 113 + name = "Glindbruchkippe" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4100000, vhf_low_hz=39100000, vhf_high_hz=119000000, uhf_hz=250700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-209267.53125, -700839.28125, terrain), terrain) + + self.runways.append(Runway(id=1, name='10-28', main=RunwayApproach(name='10', heading=100, beacons=[]), opposite=RunwayApproach(name='28', heading=280, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-209105.734375, -700900.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-209070.9375, -700844.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-209103.984375, -700733.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-209106.703125, -700717.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-209095.375, -700820.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-209085.265625, -700850.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-209070.484375, -700919.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-209185.96875, -699955.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-209123.125, -700834.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-209149.40625, -700051.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-209168.703125, -700305.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-209063.6875, -700879.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-209223.75, -700325.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-209224.9375, -700022.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-209165.71875, -700057.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-209212.9375, -700143.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-209098.984375, -700858.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-209101.140625, -700748.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-209175.15625, -700125.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-209218.625, -700130.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-209237.359375, -700286.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-209078, -700886.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-209080.921875, -700813.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-209210.125, -700365.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-209165.3125, -699945, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-209136.53125, -700841.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-209143.828125, -699935, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-209181.859375, -700110.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-209119.28125, -700906.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-209194.546875, -700080.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-209109, -700827.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-209087, -700390.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-209091.6875, -700892.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-209113.09375, -700865.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-209182.203125, -700266.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-209126.515625, -700872.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-209187.546875, -700095.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-209056.15625, -700912.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-209205.4375, -699964.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-209111.71875, -700939.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-209155.078125, -700345.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Ummern(Airport): + id = 114 + name = "Ummern" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4125000, vhf_low_hz=39150000, vhf_high_hz=134200000, uhf_hz=250750000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-178762.054688, -680327.90625, terrain), terrain) + + self.runways.append(Runway(id=1, name='31-13', main=RunwayApproach(name='31', heading=310, beacons=[]), opposite=RunwayApproach(name='13', heading=130, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-178951.09375, -680364.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-178993.53125, -680251.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-179066.59375, -680185.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-178914.265625, -680325.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-178936.640625, -680305.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-179042.359375, -680122.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-179042.65625, -680232.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-179030.234375, -680219.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-179007.640625, -680262.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-178948.90625, -680318.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-178926.5625, -680338.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-178938.5, -680351.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-178976.625, -680278.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-178973.078125, -680345.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-178961.359375, -680331.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-178854.28125, -680164.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-178894.65625, -680119.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Hildesheim(Airport): + id = 115 + name = "Hildesheim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4150000, vhf_low_hz=39200000, vhf_high_hz=118300000, uhf_hz=250800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-222776.427375, -719219.858595, terrain), terrain) + + self.runways.append(Runway(id=1, name='25-07', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='07', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-223015.51695002, -718799.63964989, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-223074.59408499, -718813.82181994, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-223042.92120503, -718804.67156986, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-222897.484375, -718711.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-223016.734375, -719207.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='6', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-223223.296875, -718922.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-222917.625, -719457.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='4', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-223010.953125, -719230.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='5', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-223204.703125, -718919.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-223031.734375, -719118.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-222929.25, -719571.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='2', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-223028, -719141.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='9', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-222913.921875, -719476, self._terrain), large=False, heli=False, + airplanes=True, slot_name='3', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-223024.515625, -719163.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='8', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-223137.578125, -718908.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-223044.15625, -719049.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-223038.4375, -719083.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-222925.359375, -719599.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='1', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-223247.296875, -719049.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-223250.53125, -719028.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-222893.890625, -718732.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-223020.453125, -719185.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='7', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-223156.953125, -718911.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Verden_Scharnhorst(Airport): + id = 116 + name = "Verden-Scharnhorst" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4175000, vhf_low_hz=39250000, vhf_high_hz=127700000, uhf_hz=250850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-128647.410156, -750148.5, terrain), terrain) + + self.runways.append(Runway(id=None, name='13-31', main=RunwayApproach(name='13', heading=130, beacons=[]), opposite=RunwayApproach(name='31', heading=310, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-128483.390625, -750198.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand01', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-128470.65625, -750212.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand02', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-128488.2578125, -750254.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand03', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-128500.78125, -750242, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand04', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-128581.7578125, -750093.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Stand05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-128675.7578125, -749994.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand07', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-128513.5, -750228.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-128703.4375, -749966.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand09', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-128525.953125, -750216.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-128731.2109375, -749938.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand11', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-128554.1015625, -750120.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Stand12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-128474.4921875, -750267.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-128495.875, -750186.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-128568.0546875, -750106.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Stand15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-128458.046875, -750224.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand16', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-128444, -750237.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand18', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Rinteln(Airport): + id = 117 + name = "Rinteln" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4200000, vhf_low_hz=39300000, vhf_high_hz=134800000, uhf_hz=250900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-213579.046875, -780047.6875, terrain), terrain) + + self.runways.append(Runway(id=1, name='12-30', main=RunwayApproach(name='12', heading=120, beacons=[]), opposite=RunwayApproach(name='30', heading=300, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-213368.828125, -780073.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-213386.375, -780050.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-213323.625, -780197.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-213353.109375, -780160, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-213498.484375, -780269.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-213399.640625, -780062.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-213412.609375, -780105.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-213397.90625, -780094.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-213338.59375, -780208.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-213378.921875, -780139.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-213383.0625, -780084.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-213368, -780170, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-213430.453125, -780081.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-213346.3125, -780305.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-213309.796875, -780248.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-213529.5625, -780218.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-213415.765625, -780070.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Holzdorf(Airport): + id = 118 + name = "Holzdorf" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4225000, vhf_low_hz=39350000, vhf_high_hz=118200000, uhf_hz=250950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-297359.430718, -504505.719744, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield118_1')) + self.beacons.append(AirportBeacon(id='airfield118_2')) + self.beacons.append(AirportBeacon(id='airfield118_4')) + self.beacons.append(AirportBeacon(id='airfield118_7')) + self.beacons.append(AirportBeacon(id='airfield118_8')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield118_6', runway_name='09-27', runway_id=1, runway_side='27'), RunwayBeacon(id='airfield118_0', runway_name='09-27', runway_id=1, runway_side='27')]), opposite=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield118_3', runway_name='09-27', runway_id=1, runway_side='09'), RunwayBeacon(id='airfield118_5', runway_name='09-27', runway_id=1, runway_side='09')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-297344.84375, -503256.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-296903.6875, -505302.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-296846.71875, -503284.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-296728.875, -505501.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-298041.40625, -504075.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-297033.46875, -503177.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-297134.8125, -504181.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-296678.125, -505666.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-296525.125, -505802.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-298087.5, -503781.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-296746.5, -505714.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-297308.1875, -503454.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-296913.28125, -505238.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-297939.8125, -504153.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-296927.375, -503109.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-296598.03125, -503166.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-296552.46875, -505890.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-296587.59375, -505522.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-297045.21875, -504796.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-296902.125, -504818.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-296686.15625, -505937.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-297129.5, -504214.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-296980.5, -505111.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-298013.5625, -503674.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-297974.9375, -503907.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-296468.625, -505741.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-296921.375, -505751.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-297341, -503277, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-296878.25, -503004.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-296920.53125, -503246.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-296808.78125, -505437.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-296795.375, -505810.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-297145.8125, -504217.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-297882.875, -503905.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-297916.125, -503602.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-296779.625, -505670.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-297360.09375, -503159.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-296723.25, -503282.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-296916.46875, -505777.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-297020.65625, -504793.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-296970.375, -504804.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-297349.65625, -503227.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-297945.28125, -503654.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-296638.90625, -503027.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-296678.0625, -505522.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-297094.40625, -504192.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-296897.90625, -504846.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-296952.21875, -504801.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-298024.4375, -503761.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-297792.4375, -504061.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-296967.78125, -505186.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-297313.09375, -503424.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-297168.0625, -504187.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-296708.125, -502996.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-296751.90625, -505919.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-296871.46875, -503141.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-297353.28125, -503206.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-297151.5, -504184.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-297356.90625, -503179.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-298019.5625, -504135.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-296656.84375, -503261.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-297790.6875, -503852.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-297162.5625, -504220.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-296526.0625, -505656.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-296597.71875, -503108.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-296828.375, -502972.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-297889.125, -503791.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-298086.875, -504000.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class H_Med_GDR_01(Airport): + id = 119 + name = "H Med GDR 01" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-30940.554688, -546656.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-30940.765625, -546657.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_02(Airport): + id = 120 + name = "H Med GDR 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-15433.609375, -479944.1875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-15433.34765625, -479943.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_03(Airport): + id = 121 + name = "H Med GDR 03" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-41087.226563, -462763.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-41086.7890625, -462763.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_33(Airport): + id = 122 + name = "H GDR 33" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-377164.34375, -685670.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-377178.53125, -685635.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-377163.8125, -685670, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-377149.15625, -685704.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Airracing_Koblenz(Airport): + id = 123 + name = "Airracing Koblenz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4275000, vhf_low_hz=39450000, vhf_high_hz=118250000, uhf_hz=251050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-407058.671875, -901092.65625, terrain), terrain) + + self.runways.append(Runway(id=None, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[]), opposite=RunwayApproach(name='15', heading=150, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-407202.5625, -900863.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-407290.75, -900836.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-407067.1875, -900872.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-407120.03125, -900913.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-407249.6875, -900846.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-407100.1875, -900925.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-407080.71875, -900938.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-407228.9375, -900853, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-407027.40625, -900898.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-407184.59375, -900778.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-407086.9375, -900860.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-407046.78125, -900885.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-407288.875, -900748.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-407061.46875, -900950.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-407160.03125, -900776.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-407042.15625, -900963.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-407270, -900840.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class H_GDR_34(Airport): + id = 124 + name = "H GDR 34" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-148483.0625, -524805.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-148451.84375, -524784.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-148513.65625, -524827.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-148482.84375, -524805.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Perwenitz(Airport): + id = 125 + name = "Perwenitz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=255850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-195408.585938, -504533.03125, terrain), terrain) + + self.runways.append(Runway(id=1, name='01-19', main=RunwayApproach(name='01', heading=10, beacons=[]), opposite=RunwayApproach(name='19', heading=190, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-196442.5, -504891.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-196463.28125, -504895.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-196484.203125, -504898.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-196505.28125, -504903.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-196422.03125, -504887.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-194312.828125, -504173.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-194386.921875, -504185.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-194366.640625, -504181.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-194407, -504189.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-194345.84375, -504177.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class H_Med_GDR_08(Airport): + id = 126 + name = "H Med GDR 08" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-231164.015625, -586332.9375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-231164.015625, -586332.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_09(Airport): + id = 127 + name = "H Med GDR 09" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-241050.734375, -604574.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-241050.296875, -604574.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_10(Airport): + id = 128 + name = "H Med GDR 10" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-267572.5625, -575447.4375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-267572.5625, -575447.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_01(Airport): + id = 129 + name = "H Med FRG 01" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-45588.691406, -641827.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-45589.16015625, -641828, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_02(Airport): + id = 130 + name = "H Med FRG 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-70712.4375, -690217.4375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-70712.9765625, -690217.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Sittensen(Airport): + id = 131 + name = "Sittensen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=255900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-92659.714844, -723614.71875, terrain), terrain) + + self.runways.append(Runway(id=1, name='06-24', main=RunwayApproach(name='06', heading=60, beacons=[]), opposite=RunwayApproach(name='24', heading=240, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-92880.8203125, -724224.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-92870.7890625, -724204.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-92436, -722995.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-92426.4609375, -722976.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-92890.609375, -724257.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-92416.7734375, -722956.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-92446.1953125, -723015.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class H_Med_FRG_04(Airport): + id = 132 + name = "H Med FRG 04" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-108681.234375, -670744.25, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-108681.2734375, -670743.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_06(Airport): + id = 134 + name = "H Med FRG 06" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-198269.875, -788763.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-198269.40625, -788763.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Sprendlingen(Airport): + id = 135 + name = "Sprendlingen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=255950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-455289.203022, -900188.058434, terrain), terrain) + + self.runways.append(Runway(id=1, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[]), opposite=RunwayApproach(name='15', heading=150, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-455996.65625, -899989.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-454699.625, -900334.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-456035.34375, -899973.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-456055.15625, -899966.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-454647.71875, -900347, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-456016.34375, -899981.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-454679.96875, -900342.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Thurland(Airport): + id = 136 + name = "Thurland" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=256000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-297702.234375, -571508.90625, terrain), terrain) + + self.runways.append(Runway(id=1, name='36-18', main=RunwayApproach(name='36', heading=360, beacons=[]), opposite=RunwayApproach(name='18', heading=180, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-298815.96875, -571869.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-296562.71875, -571153.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-296608.59375, -571164.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-298861.1875, -571880.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Zollschen(Airport): + id = 137 + name = "Zollschen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=5000000, vhf_low_hz=42000000, vhf_high_hz=118000000, uhf_hz=256050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-344465.220233, -584951.001717, terrain), terrain) + + self.runways.append(Runway(id=1, name='05-23', main=RunwayApproach(name='05', heading=50, beacons=[]), opposite=RunwayApproach(name='23', heading=230, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-344904.18817742, -585651.54970268, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-344891.91173342, -585633.66297813, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-344928.58260924, -585686.95023491, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-344916.58642501, -585669.83771163, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-344940.70263875, -585704.38440102, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class H_Med_FRG_11(Airport): + id = 139 + name = "H Med FRG 11" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-259561.671875, -807106.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-259561.75, -807106.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Hasselfelde(Airport): + id = 140 + name = "Hasselfelde" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4350000, vhf_low_hz=39600000, vhf_high_hz=119000000, uhf_hz=251200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-284714.421875, -663099.5, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-284932.65625, -663750, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-284860, -663042.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-284953.8125, -663815.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-284929.59375, -663766.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-284882.4375, -662945.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-284845.625, -663038.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-284912.375, -662954.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-284843.25, -663602.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-284921.4375, -663797.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-284930.65625, -663914.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-284852.84375, -662936.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-284901.03125, -663611.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-284971, -663818.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-284907.53125, -663571.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-284864.46875, -663010.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-284897.25, -663138.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-284889.03125, -663752.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-284879.84375, -663015.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-284889.78125, -663051.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-284894.375, -663019.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-284849.8125, -663561.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-284909.6875, -663023.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-284973.15625, -663926.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-284895.46875, -662983.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-284925.65625, -663781.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-284851.21875, -662970.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-284996.40625, -663931.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-284892.25, -663738.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-284880.8125, -662979.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-284865.6875, -662974.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-284901.625, -663860.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-284913.9375, -663529.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-284972.96875, -663473.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-284895.71875, -663154.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-284910.6875, -662988.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-284875.1875, -663047.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-284950.5625, -663919.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-284850.125, -663006.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-284856.28125, -663519.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-284897.03125, -663123.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-284905.1875, -663055.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Grosse_Wiese(Airport): + id = 141 + name = "Grosse Wiese" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4375000, vhf_low_hz=39650000, vhf_high_hz=134600000, uhf_hz=251250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-233904.875, -677369.375, terrain), terrain) + + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-233664.59375, -677078.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-233603.78125, -677137.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-233611.609375, -677121.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-233628.15625, -677093.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-233648.171875, -677070.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-233676.3125, -677277.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-233644.109375, -677101.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-233685.75, -677336.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-233665.15625, -677061.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-233659.65625, -677110.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class H_GDR_18(Airport): + id = 142 + name = "H GDR 18" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-267812.5625, -668572.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-267812.53125, -668572.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-267809.5, -668535, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-267815.59375, -668609.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_20(Airport): + id = 143 + name = "H FRG 20" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-281004.0625, -682905.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-281029.59375, -682961.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-281025.09375, -682827.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-281076.9375, -682939.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-280977.15625, -682850.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-280931.125, -682872.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-280983.3125, -682983.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_12(Airport): + id = 144 + name = "H Med FRG 12" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-266955.5625, -698609.375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-266955.9375, -698609.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_19(Airport): + id = 145 + name = "H GDR 19" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-273065.25, -632426.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-273097.8125, -632445.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-273032.6875, -632407.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-273065.21875, -632426.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_30(Airport): + id = 146 + name = "H GDR 30" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(3790.750244, -442071.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(3759.7993164062, -442093.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(3822.3049316406, -442051.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(3790.9672851562, -442072.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_11(Airport): + id = 147 + name = "H Med GDR 11" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-276599.875, -668144.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-276599.875, -668144.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_21(Airport): + id = 148 + name = "H FRG 21" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-212554.40625, -669507.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-212626.21875, -669529.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-212554.8125, -669507.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-212482.609375, -669484.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_50(Airport): + id = 149 + name = "H FRG 50" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-148824.875, -719459.3125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-148786.765625, -719392.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-148770.640625, -719442, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-148754.515625, -719492.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-148861.984375, -719526.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-148894.203125, -719425.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-148878.078125, -719476.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_23(Airport): + id = 150 + name = "H FRG 23" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-139513.765625, -694687.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-139587.59375, -694672.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-139514.125, -694687, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-139439.9375, -694701.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_39(Airport): + id = 151 + name = "H FRG 39" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-397540.125, -763954, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-397558.625, -763976, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-397520.96875, -763932.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_21(Airport): + id = 152 + name = "H GDR 21" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-13600.076172, -516123.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-13627.46875, -516193.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-13600.232421875, -516123.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-13572.682617188, -516053.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_22(Airport): + id = 153 + name = "H GDR 22" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-263161.8125, -506378.1875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-263234.21875, -506399, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-263162.21875, -506378.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-263089.4375, -506357.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Fritzlar(Airport): + id = 154 + name = "Fritzlar" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4425000, vhf_low_hz=39750000, vhf_high_hz=126500000, uhf_hz=251350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-333506.515625, -783281.6875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield154_0')) + self.runways.append(Runway(id=1, name='30-12', main=RunwayApproach(name='30', heading=300, beacons=[]), opposite=RunwayApproach(name='12', heading=120, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-333405.125, -782835.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-333284.40625, -782851.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-333164.78125, -783059.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-333109.71875, -783267.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-333213.875, -782840.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-333225.90625, -782819.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-332972.46875, -783117.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-333112.625, -783237.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-333254.875, -783168, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-333071.4375, -782891.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-333201.65625, -782862.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-333103.625, -783327.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-333091.625, -783446.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-333209.84375, -782981.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-333270.53125, -782877.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-332967.125, -783248.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-333016.8125, -782998.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-333224.8125, -782955.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-333495.09375, -782851.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-333189.09375, -782883.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-333100.8125, -783357.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-333255.40625, -782903.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-333239.96875, -782929.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-333360.5, -782828.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-333106.59375, -783297.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-333115.53125, -783208, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-333179.3125, -783032.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-333450.03125, -782843.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-333097.78125, -783387.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-333194.28125, -783006.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-333094.75, -783417.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Hahn(Airport): + id = 155 + name = "Hahn" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4450000, vhf_low_hz=39800000, vhf_high_hz=119500000, uhf_hz=251400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-437665.296875, -948351.1875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield155_1')) + self.beacons.append(AirportBeacon(id='airfield155_3')) + self.beacons.append(AirportBeacon(id='airfield155_5')) + self.beacons.append(AirportBeacon(id='airfield155_6')) + self.beacons.append(AirportBeacon(id='airfield155_0')) + self.runways.append(Runway(id=1, name='21-03', main=RunwayApproach(name='21', heading=210, beacons=[RunwayBeacon(id='airfield155_2', runway_name='03-21', runway_id=1, runway_side='21')]), opposite=RunwayApproach(name='03', heading=30, beacons=[RunwayBeacon(id='airfield155_4', runway_name='03-21', runway_id=1, runway_side='03')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-439049, -949245.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-438836.46875, -949029.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-437057, -946920.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-437093.15625, -946712.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-438315.0625, -948445.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-437273.40625, -946717.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-437807.875, -947936.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-437386.0625, -946882.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-437081.625, -947103.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-437190.28125, -946889.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-438981.1875, -949162.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-439144.625, -948686.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-437000, -946762.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-437255.28125, -946806.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-436819.65625, -946614.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-437113.0625, -946835, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-437729.90625, -947863.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-439263.625, -949130.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-438356.90625, -948484.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-439270.65625, -948876.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-437132.8125, -946804.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-437027.71875, -946504.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-438219.71875, -948353.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-437312.21875, -947030.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-436998.59375, -946574.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-438887.40625, -948843.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-437260.09375, -946928.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-439161.375, -949246.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-437269.71875, -947088.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-437651.75, -947790.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-437574.90625, -947719.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-438377.84375, -948503.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-437909.6875, -948098.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-436976.5625, -947129, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-436917.3125, -946416.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-437362.6875, -946957.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-436947.125, -947027.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-437847.3125, -948039.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-437904.03125, -947980.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-439072.375, -948640.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-438789.46875, -949068.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-439290.125, -949104.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-438669.90625, -948671.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-439101.9375, -948792.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-436887.1875, -946928.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-438240.59375, -948372.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-437964.28125, -948037.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-437193.53125, -947174.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-437875.71875, -948010.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-436997.34375, -946429.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-439055.28125, -948753.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-436829.71875, -946459.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-438807.375, -948770.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-438722.4375, -948806.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='26', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-437188.21875, -946992.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-438884.5, -948741.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-438319.5625, -948388, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-436819.21875, -946362.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-438198.78125, -948333.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-439070.1875, -948829.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-436928.5625, -946632.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-436899.71875, -946549.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-437186.1875, -946754.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-437171.90625, -947083.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-439115.6875, -948873.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-439191.8125, -948860.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-438336, -948465.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-439261.0625, -949020.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-438435.21875, -948524.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-439081.59375, -949339.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-437344.9375, -946782.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-437062.84375, -947194.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-439335.90625, -948956.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-438064.59375, -948374.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-439226.625, -949175.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-437937, -948067.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-438261.53125, -948391.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-438959.875, -948689.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-436991.59375, -946856.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-439280.25, -948797.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-438990.53125, -948834.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Sembach(Airport): + id = 156 + name = "Sembach" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4475000, vhf_low_hz=39850000, vhf_high_hz=121500000, uhf_hz=251450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-494436.796875, -914275.78125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield156_1')) + self.beacons.append(AirportBeacon(id='airfield156_0')) + self.runways.append(Runway(id=1, name='25-07', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='07', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-494522.15625, -915281, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-493924.59375, -913531.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-494347.40625, -915353.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-494490.03125, -915161.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-494093.8125, -913832.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-493711.84375, -913448.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-493724.09375, -913511.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-494154.71875, -914424.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-494555.71875, -915381.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-494459.9375, -915347.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-494448.03125, -915232.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-494303.78125, -915201.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-494231.40625, -915267.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-494315.65625, -915117.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-494205.40625, -915188.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-494259.4375, -915055, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-494182.96875, -915110.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-494434.25, -915133.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-494469.125, -915076.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-494433.5625, -914995.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-494273.40625, -914972.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-494216.5625, -914908.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-494145.21875, -915031.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-494130.59375, -914911.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-494161.46875, -914825.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-494170.15625, -914735.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-494263.8125, -914836.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-494281.875, -914729.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-494217.34375, -914659, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-494142.09375, -914617.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-494347.21875, -914665.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-494321.6875, -914579.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-494274.53125, -914511.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-494276.78125, -914426.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-494253.0625, -914343.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-494198.6875, -914274.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-494207.46875, -914188.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-494153.15625, -914120, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-494162.8125, -914035, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-494014.78125, -914017.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-493987.21875, -914101.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-493951.0625, -914185.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-493974.1875, -914290.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-493983.03125, -914382.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-494019.9375, -914415.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-494025.6875, -914466.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-494045.90625, -914502.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-494046.09375, -914578.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-494189.09375, -914544.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-494069.25, -914133.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-494113.9375, -914207.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-494081.09375, -914347.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-494106.34375, -914433.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-493971.09375, -913688.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-493945.875, -913602.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-493865.21875, -913568.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-493838.5625, -913656.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-493776.96875, -913631.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-493751.5625, -913585.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-493828.15625, -913490.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-493742.71875, -913344.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-493674.375, -913224.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-493826.34375, -913222.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-493896.71875, -913438.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-493979.625, -913413.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-493940.125, -913279.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-493915.03125, -913194.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-493856.59375, -913304.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-493819.4375, -913396.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-493752, -913263.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-493731.53125, -913165.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-494369.28125, -914839.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-494237.65625, -914305.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-494024.875, -913580.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-494049.0625, -913665.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-493963.28125, -913373.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-493949.21875, -913325.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-494012.40625, -913538.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-494065.9375, -913723.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Allstedt(Airport): + id = 157 + name = "Allstedt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4500000, vhf_low_hz=39900000, vhf_high_hz=132500000, uhf_hz=251500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-326041.65625, -628749.34375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield157_1')) + self.beacons.append(AirportBeacon(id='airfield157_2')) + self.beacons.append(AirportBeacon(id='airfield157_3')) + self.beacons.append(AirportBeacon(id='airfield157_4')) + self.beacons.append(AirportBeacon(id='airfield157_5')) + self.beacons.append(AirportBeacon(id='airfield157_0')) + self.runways.append(Runway(id=1, name='25-07', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='07', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-325589.375, -628344.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-325662.8125, -628250.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-325476.9375, -628470.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='66', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-325683.65625, -628350.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-326366.34375, -628928, self._terrain), large=False, heli=True, + airplanes=False, slot_name='116', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-325704.90625, -628459.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-325584.9375, -627901.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-326089.5625, -629933.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-325967.78125, -629758.21911258, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-325689.25, -629773.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-325877.78125, -630010.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-325558.46875, -628125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-325715.59375, -628512.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-325619.75, -628028.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-326295.9375, -629078.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='134', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-325952.25, -629677.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-325669.5, -628281.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-325737.46875, -629553.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-325704.6875, -627888.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-326517.53125, -629283, self._terrain), large=False, heli=True, + airplanes=False, slot_name='124', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-325588.75, -627123, self._terrain), large=False, heli=True, + airplanes=False, slot_name='107', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-325979.69389503, -629818.5361947, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-325733.125, -628609.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-326001, -629926.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-325613.1875, -627324.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='112', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-325638.21875, -627359.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='113', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-325903.75, -629536.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-325944.3125, -629637.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-325656.4375, -628217.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-325576.6875, -628199.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-325514.5625, -628357, self._terrain), large=False, heli=True, + airplanes=False, slot_name='62', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-325516.84375, -628383.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='63', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-326454.96875, -629406.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='126', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-325642.625, -627408.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='114', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-326486.46875, -629236.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='123', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-325487.15625, -627232.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='101', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-325699.75, -628432.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-325637, -628123.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-325930.1875, -630042.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-325617.125, -627591.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-326421.75, -629116.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='120', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-326399.9375, -629059.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='119', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-325720.625, -628543.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-325545.65625, -627002.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='106', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-326429.0625, -629171.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='121', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-326312.40625, -629034.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='135', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-325519.03125, -628408.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='64', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-325671.25, -627916.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-326402.09375, -628970.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='117', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-325935.5625, -629593.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-326535.5, -629434.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='125', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-325647.34375, -629668.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-325828.09375, -628677.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-325786.75, -628387.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-325649.75, -627456.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='115', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-325636.34375, -628293.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-325972.04190839, -629778.22868322, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-325864.1875, -628833.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-325692.15625, -627992.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-325668.34375, -627857.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='87', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-325948.375, -629657.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-325746.09375, -629629.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-326365.90625, -629324.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='128', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-325721.40625, -627876.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-326423.21875, -629362.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='127', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-326126.6875, -629949.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-325552.65625, -627474.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='96', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-325817.6875, -628519.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-325740.78125, -628194.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-325571.5625, -627521.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='95', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-325975.91264503, -629798.5986947, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-325565.40625, -627856.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-326274.53125, -628995.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='136', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-325741.4375, -629461.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-325794.65625, -629011, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-326314.8125, -629230.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='131', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-325882.625, -629408.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-326276.125, -629295.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='130', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-325796.6875, -629944.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-325689.03125, -628377.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-325956.3125, -629697.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-325843.40625, -629518.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-325914.65625, -629072.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-325757.90625, -628732, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-325446.21875, -628449.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='67', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-325940.28125, -629616.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-326071.59375, -629923.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-325596.53125, -627167.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='108', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-325588.15625, -629617.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-325487.21875, -627098.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='104', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-325516.65625, -627393.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='98', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-325787.9375, -629536.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-325592.4375, -627214.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='109', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-325978, -629429.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-325514.71875, -627661.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-325950.6875, -629838.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-325724.625, -628576.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-326108.25, -629941.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-325687.4375, -627902.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-325532.84375, -628047.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-326433.375, -629233.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='122', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-325963.90625, -629737.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-325960.15625, -629717.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-325482.78125, -627770.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='91', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-325786.5, -628908.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-325655.96875, -629724.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-326304.28125, -629130.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='133', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-325710.25, -628486.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-325493.75, -628499.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='65', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-325487.78125, -627324, self._terrain), large=False, heli=True, + airplanes=False, slot_name='99', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-325542.25, -627432.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='97', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-325951.625, -629318.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-325490.78125, -627279.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='100', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-325631.9375, -628092.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-325752.78125, -628706.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-325824.40625, -628591.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-325471.1875, -627050.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='105', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-325844.65625, -629965.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-325607.96875, -628344.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-326293.96875, -629180.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='132', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-325737.78125, -628642.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-325624.8125, -628059.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-325524.75, -627720.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-325649.03125, -628186.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-325511.09375, -628009.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-325493.59375, -627189.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='102', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-325745.9375, -628674.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-325627.78125, -628345.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-325694.46875, -628405.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-326425.90625, -629015.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='118', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-325557.53125, -627798.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-325600.8125, -627257.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='110', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-325710.84375, -628761.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-326284.03125, -629332, self._terrain), large=False, heli=True, + airplanes=False, slot_name='129', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-325490.1875, -627141.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='103', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-325599.6875, -627297.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='111', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Zweibrucken(Airport): + id = 158 + name = "Zweibrucken" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4525000, vhf_low_hz=39950000, vhf_high_hz=123000000, uhf_hz=251550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-521232.609375, -953633.09375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield158_2')) + self.beacons.append(AirportBeacon(id='airfield158_0')) + self.runways.append(Runway(id=1, name='03-21', main=RunwayApproach(name='03', heading=30, beacons=[RunwayBeacon(id='airfield158_1', runway_name='03-21', runway_id=1, runway_side='03')]), opposite=RunwayApproach(name='21', heading=210, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-520486.34375, -953380.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-519945.75, -953210.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-519820, -953251.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-520209.75, -953213.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-519992.46875, -953194.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-521160.4375, -954205.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-520315.1875, -953243.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-520507.59375, -953397.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-520228.34375, -953330, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-519674.125, -953085.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-521164.40625, -954080.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-520129.65625, -953122, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-519794.8125, -953072.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-519673.90625, -953148.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-520464.46875, -953363.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-520218.90625, -953268.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-519760.15625, -953340.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-520612.90625, -953529, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-519965.5625, -953099.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-520242, -953186.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-520223.53125, -953295.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-520117.0625, -953046.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-519878.375, -953192.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-520070.65625, -953166.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-519785.125, -953331.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-520413.96875, -953387.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-520214.375, -953241.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-519859.96875, -953128.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-520041.46875, -953071.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-520350.125, -953327.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-519746.21875, -953059.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-519903.46875, -953225.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-519786.6875, -953216.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-519810.9375, -953322.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-520277.875, -953214.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-520565.5, -953489.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-520521.625, -953452.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=60.0, width=52.0, height=18.0, shelter=False)) + + +class Giebelstadt(Airport): + id = 159 + name = "Giebelstadt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4550000, vhf_low_hz=40000000, vhf_high_hz=135900000, uhf_hz=251600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-503410.551531, -760379.359385, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield159_1')) + self.beacons.append(AirportBeacon(id='airfield159_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-503233.8852305, -761095.14828451, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-503166.5992884, -759948.03024989, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-502609.25, -759453.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='81', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-502715.45221854, -759258.06066317, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-502962.69546507, -759345.99733503, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-503079.54407814, -759627.27244835, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-503167.5625, -759974.64525294, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-502877.72614514, -759312.09468436, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-503190.21875, -760483.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-503076.28125, -759558.22296953, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-502829.21875, -760155.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-503022.93512688, -759284.90624915, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-503187.11805556, -760378.17283951, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-503760.45484038, -761147.70101523, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-502920.84921394, -759255.59840997, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-502803.75, -760535.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-502860.5340451, -759231.6005654, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-502617.09375, -759484.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='83', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-502578.78125, -759373.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='79', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-503224.59131158, -760893.82601523, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-503186.04872184, -760234.52149206, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-503630.54298412, -760485.7236947, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-503727.93710561, -760616.37104424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-503208.43506158, -760623.6513053, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-503544.3125, -759749.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-503162.87132634, -759883.89525294, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-503196.0625, -760574.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='34', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-503149.625, -759599.88312031, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-503153.96258609, -759671.33599228, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-503063.27479913, -759451.31177483, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-503690.02781547, -760054.72974706, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-503087.66618322, -759809.83671744, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-502944.94043887, -759265.42265363, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-502644.75, -759714.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='90', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-502592.65625, -759489.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='82', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-502629.625, -759538.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='85', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-502644.78989513, -759269.84416719, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-502631.3125, -759653.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='88', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-503213.43750085, -760714.83069616, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-502578.71875, -759709.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='94', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-503671.69556447, -761123.04721567, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-503619.20562916, -760307.33236644, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-503161.50621278, -759857.63376545, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-503158.09742366, -759788.7867844, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-503085.08309161, -759745.33164128, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-502585.9375, -759459.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='80', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-503608.37584862, -760119.8492844, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-503722.46835561, -760525.68354424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-503657.85693446, -760941.23648477, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-502592.34375, -759320.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='78', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-502853.40990772, -759302.44668414, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-502676.96875, -759801.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-502795.64885886, -759280.86974054, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-502522.3125, -759470.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='92', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-503562.34375, -759851.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-503218.17444701, -760803.63779007, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-503231.42517217, -760994.8004351, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-503672.2766799, -759892.56757616, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-503243.02610853, -761178.14517404, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-503156.79050588, -759761.88780997, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-502606.3125, -759544.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-503646.60693446, -760759.04898477, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-503155.17684161, -759697.82062031, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-502612.3125, -759573.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='86', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-503123.52371138, -760674.34338742, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-502786.25, -760074.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-503127.08621138, -760762.40588742, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-503651.73193446, -760850.61148477, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-503613.27452419, -760211.2741298, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-502550.6875, -759589.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='93', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-502694.4375, -759859.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-503756.79859038, -761076.13851523, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-503635.3526711, -760576.66729488, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-502689.40069169, -759256.55515269, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-503081.19950779, -759653.86679205, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-503083.36470419, -759718.90951325, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-503074.99433013, -759531.56612583, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-503716.56210561, -760433.99604424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-503624.44460818, -760394.04045806, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-503196.70071801, -760437.52004173, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-503684.9564978, -759555.43721304, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-503189.42372184, -760317.64649206, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-502771.45954194, -759270.94668414, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-502655.625, -759646.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='89', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-502836.22829301, -759221.95256943, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-503116.61746138, -760583.96838742, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-502792.15625, -759158.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-503110.96121138, -760492.84338742, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-502636.71875, -759567.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='87', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-502938.54868393, -759336.30697357, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-502670.15625, -759707.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='91', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-502621.06889702, -759282.08964503, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-503202.74044138, -760532.7883702, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-503088.9375, -759836.92430353, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-503154.60654091, -759495.97982596, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-502708.53125, -759920.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-502749.53125, -760580.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-503148.17469003, -759572.58082046, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-503598.9375, -759486, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-503605.125, -759449.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Schweinfurt(Airport): + id = 160 + name = "Schweinfurt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4600000, vhf_low_hz=40100000, vhf_high_hz=119950000, uhf_hz=251700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-461144.1875, -739132.5625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield160_0')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-460810.40625, -739285.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-460763.1875, -739268.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-461020.71875, -739355.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-460517.19145576, -739179.79865484, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-460541.66020576, -739188.11115484, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-460949.17642404, -739338.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-460717.28125, -739251.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-460973.625, -739338.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-460739.90625, -739260.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-460670.28125, -739233, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-460693.28125, -739242.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-460925.6875, -739330, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-460902.59375, -739320.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-460833.25, -739295.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-460786.25, -739277.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-460856.3125, -739303.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-460879.71875, -739311.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Haina(Airport): + id = 161 + name = "Haina" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4625000, vhf_low_hz=40150000, vhf_high_hz=119750000, uhf_hz=251750000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-359857.3125, -702039.625, terrain), terrain) + + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-359272.0625, -702743.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-359877.53125, -701308.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-359843.90625, -701389.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-359778.375, -701548.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-359860.9375, -701349.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-359326.9375, -702614.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-359239.6875, -702820.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-359250.3125, -702795.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-359817.625, -701450.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-359895.3125, -701266.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-359903.53125, -701246.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-359337.6875, -702588.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-359956.5625, -701120.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-359827.25, -701430.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-359974.375, -701078.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-359912.40625, -701227.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-359315.4375, -702640.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-359260.96875, -702769.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-359920.40625, -701206.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-359794.6875, -701510.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-359296.875, -702956.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-359304.96875, -702666.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-359965.4375, -701100.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-359929.28125, -701185.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-359869.15625, -701328.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-359851.90625, -701369.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-360080.9375, -701000.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-359273.625, -702927.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-359785.5625, -701528.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-359294.625, -702691.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-359282.875, -702718.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-360120.84375, -700996.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-359983.03125, -701059, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-359938.34375, -701164.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-359810.0625, -701470.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-359802.84375, -701490.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-359886.5, -701287.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-359948.09375, -701142.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-359835.1875, -701409.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-359770.46875, -701567.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Spangdahlem(Airport): + id = 162 + name = "Spangdahlem" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4650000, vhf_low_hz=40200000, vhf_high_hz=122200000, uhf_hz=251800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-426851.90625, -988058.46875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield162_2')) + self.beacons.append(AirportBeacon(id='airfield162_3')) + self.beacons.append(AirportBeacon(id='airfield162_4')) + self.runways.append(Runway(id=1, name='23-05', main=RunwayApproach(name='23', heading=230, beacons=[RunwayBeacon(id='airfield162_1', runway_name='05-23', runway_id=1, runway_side='23')]), opposite=RunwayApproach(name='05', heading=50, beacons=[RunwayBeacon(id='airfield162_0', runway_name='05-23', runway_id=1, runway_side='05')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-426231.25, -988344.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-426223.40625, -988153.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-426570.875, -988596.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-426737.375, -988899.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-425462.625, -986867.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='84', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-426885.2167119, -989081.81484916, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-426155.0625, -988042.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-426440.15625, -988273.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-426489.1732596, -988467.18354424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-425447.78125, -986964.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-425733.09375, -986914.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-426912.43423345, -989000.18511172, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-426491.625, -988261.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-426453.46875, -988289.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-426918.207203, -988725.78341488, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-425413.6875, -986796.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='87', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-425481.9375, -986707.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='88', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-426408.9375, -988437.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-425419.75, -986911.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='85', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-427041.68500952, -988980.64428329, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-426589.59375, -988622.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-427126.59375, -989029.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-425475.53125, -986897.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='83', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-426786.15285552, -989043.48448837, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-425630.53125, -986807.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-426324.1875, -987885.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-425843.1875, -987404.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-426308.3125, -988268.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-426181.5, -987986.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-426131.21875, -987776.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-426678.0625, -988744.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-425621.9375, -987138.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-425867.3125, -987299.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-426313.125, -988379.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-426422.3125, -987870.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-426785.21875, -988843.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-426008.1875, -987388.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-426459.3678798, -988400.06052212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-426693.65124198, -988550.94685183, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-425538.1875, -987094.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-426455.44066444, -988492.00593364, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-425521.28125, -987048.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-426615, -988656.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-425589.375, -987166.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-426427.375, -988256.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-426466.28125, -988307.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-425441.6875, -987049, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-426472.40941444, -988479.75593364, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-425658.90625, -986966.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-426838.25078827, -988571.48175413, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-427055.12143282, -988893.31727904, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-425834.78125, -987037.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-426827.75567559, -988738.02368352, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-426087.46875, -987419.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-426397.21875, -988170.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='98', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-426505.1107596, -988455.05854424, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-425592.71875, -986828.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-426426.5625, -988424.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-426698.28125, -988772.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-426504.9375, -988278.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-426134.125, -988222.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-426505.3125, -988359.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-425523.03125, -986969.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-425671.84375, -986858.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-426602.125, -988640, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-426517.75, -988296, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-425638.8125, -986892.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-426230.71875, -988251.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-426095.625, -987687.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-426808.3125, -988917.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-426531.46875, -988313, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-426640.0625, -988692.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-426652.5625, -988709.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-426688.89811978, -989000.30623849, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-426544.11030537, -988329.29413171, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-426454.78125, -988172.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='99', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-426758.46175762, -988638.69548897, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-425620.09375, -987276.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-426916.10307762, -988825.80858721, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-426480, -988324.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-426665.5, -988726.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-426348.53125, -987763.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-425803.3125, -987093.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-427008.19796017, -988753.84713848, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-425706.84375, -987220, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-426493.21875, -988341.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-426046.21875, -987892.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-426157, -987835.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-426353.40625, -987965.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-425938.4375, -987357.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-426465.21875, -988224.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-426066.5625, -987861.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-426235.53125, -988073.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-426057.8125, -987768.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-426478.375, -988244.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-426980.9569688, -989065.64025682, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-426277, -987709.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-425730.5, -987044.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-426146.96875, -987922.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-425408.28125, -986636.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='90', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-425393.4375, -986822.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='86', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-426279.65625, -987829.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-426627.90625, -988674.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-425372.84375, -986700.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='89', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-426443.25, -988412.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Frankfurt(Airport): + id = 163 + name = "Frankfurt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4675000, vhf_low_hz=40250000, vhf_high_hz=127300000, uhf_hz=251850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-444041.21875, -853570.90625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield163_2')) + self.beacons.append(AirportBeacon(id='airfield163_5')) + self.beacons.append(AirportBeacon(id='airfield163_6')) + self.beacons.append(AirportBeacon(id='airfield163_11')) + self.runways.append(Runway(id=2, name='25L-07R', main=RunwayApproach(name='25L', heading=250, beacons=[RunwayBeacon(id='airfield163_3', runway_name='25L-07R', runway_id=2, runway_side='25L'), RunwayBeacon(id='airfield163_9', runway_name='25L-07R', runway_id=2, runway_side='25L')]), opposite=RunwayApproach(name='07R', heading=70, beacons=[RunwayBeacon(id='airfield163_4', runway_name='25L-07R', runway_id=2, runway_side='07R'), RunwayBeacon(id='airfield163_10', runway_name='25L-07R', runway_id=2, runway_side='07R')]))) + self.runways.append(Runway(id=1, name='25R-07L', main=RunwayApproach(name='25R', heading=250, beacons=[RunwayBeacon(id='airfield163_1', runway_name='25R-07L', runway_id=1, runway_side='25R'), RunwayBeacon(id='airfield163_8', runway_name='25R-07L', runway_id=1, runway_side='25R')]), opposite=RunwayApproach(name='07L', heading=70, beacons=[RunwayBeacon(id='airfield163_7', runway_name='25R-07L', runway_id=1, runway_side='07L'), RunwayBeacon(id='airfield163_0', runway_name='25R-07L', runway_id=1, runway_side='07L')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-444851.78125, -853102.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-443713.03125, -853579.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-444687.5625, -852432.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='122', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-444944.875, -853596.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-443315.65625, -853982.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-445006.40625, -853264.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='112', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-443314.15625, -851749.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-444715.3125, -852640.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='120', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-445066.25, -853577.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-443406.84375, -852217.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-443579.03125, -853816.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-443624.25, -854160.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-443784.25, -855227.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-443633.4375, -854203.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-443429.6875, -852352.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-443324.90625, -851822, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-443646.75, -854285.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-443391.90625, -852160.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-443660.1875, -854348.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-443834.4375, -854224.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-443539.75, -853627.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-445017.0625, -853320.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='111', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-443856.53125, -854348.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-443300.71875, -853902, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-443772.25, -855166.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-443450.09375, -852461.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-443601.78125, -853933.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-444935.15625, -852242.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='125', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-443742.5625, -853742.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-443665.1875, -853322.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-443346.71875, -851930.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-443594.53125, -853896.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-443562.71875, -853737.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-445288.4375, -854598, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-443389.15625, -853881.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-443753.21875, -853820, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-443821.375, -854161.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-445251.53125, -854384.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-444937.03125, -852948.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='117', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-443570.1875, -852822.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-444925.875, -853505.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-443634.84375, -853170.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-444917.59375, -853456.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-443554.65625, -852730, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-443760.4375, -855106.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-443406.59375, -853968.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-444829.46875, -852987, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-443869, -854416.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-443776.8125, -853931.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-444883.78125, -853291.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-445084.71875, -853690.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-445038, -853429.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='109', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-444992.5, -852212.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='126', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-443586.75, -853856.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-443537.5, -852637, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-445031.6875, -852310.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='124', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-444934.0625, -853548.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-443379.75, -852098, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-443814.25, -855374.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-443414.21875, -852272.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-444904.75, -853398.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-444906.78125, -852072.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='127', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-445076.875, -853632.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-445277.9375, -854527.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-444874.6875, -852009.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='128', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-444947.0625, -853001.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='116', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-444957.75, -853052.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='115', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-445264.46875, -854450.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-443797.5, -855292, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-444896.25, -853345.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-443763.6875, -853874.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-443649.71875, -853247.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-444954.9375, -853649.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-443728.90625, -853660.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-443553.46875, -853698.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-444868.65625, -852758.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='119', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-444976.46875, -852340.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='123', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-443639.09375, -854244, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-443440.09375, -852406.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-443545.5625, -853658.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-444966.6875, -853711, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-443622.5625, -853102.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-443335.125, -851879.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-443304.4375, -851696.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-443808.1875, -854097.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-445047.90625, -853481.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='108', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-444840.25, -853043.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-444966.53125, -853097.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='114', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-444997.71875, -853218.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='113', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-444890.59375, -852836.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='118', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-443844.34375, -854283.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-445056.53125, -853526.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='107', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-445025.90625, -853368.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='110', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-444755.5625, -852448.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='121', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-444874.375, -853243.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-443571.5, -853777.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-443088.46875, -853309.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-443218.6875, -853415.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-443193.875, -852573, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-443126.875, -852705.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-443171.5, -852916.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-443256.875, -852797, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-443392.78125, -853230.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-443464.53125, -853103.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-443298.46875, -852724.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-443420.3125, -853048.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-443271.375, -853454.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-443106.34375, -852769.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-443362.78125, -853358.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-443220.0625, -852382.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-443065.15625, -852906.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-443209.375, -852325.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-443375.03125, -852715.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-443239, -853110.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-443142.71875, -853135, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-443157.625, -853220.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-443270.9375, -853296.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-443390.15625, -852867.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-443365.59375, -853511.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-443159.15625, -852634.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-443337.21875, -853193, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-443416.875, -853393.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-443232, -852442.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-443610.8125, -853037.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-443198.53125, -852268.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-443208.71875, -853253.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-443151.5625, -853357.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-443356.3125, -852911, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Bindersleben(Airport): + id = 164 + name = "Bindersleben" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4700000, vhf_low_hz=40300000, vhf_high_hz=122100000, uhf_hz=251900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-365966.640625, -668461.6875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield164_2')) + self.beacons.append(AirportBeacon(id='airfield164_3')) + self.beacons.append(AirportBeacon(id='airfield164_4')) + self.beacons.append(AirportBeacon(id='airfield164_5')) + self.beacons.append(AirportBeacon(id='airfield164_0')) + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[RunwayBeacon(id='airfield164_1', runway_name='10-28', runway_id=1, runway_side='28')]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-366381.21875, -668727.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-366255.875, -668773.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-366316.65625, -668234.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-366206.28125, -668656.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-366329.15625, -668187.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-366352.96875, -668098.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-366277.1875, -668367.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-366220.5, -668606.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-366292.71875, -668322.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-366233.34375, -668554.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-366396.25, -668568, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-366266.0625, -668413.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-366423.65625, -668465.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-366303.09375, -668276.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-366364.875, -668053.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-366340.625, -668144.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-366404.9375, -668703, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=18.0, height=11.0, shelter=False)) + + +class Ramstein(Airport): + id = 165 + name = "Ramstein" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4725000, vhf_low_hz=40350000, vhf_high_hz=133200000, uhf_hz=251950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-498696.890625, -934641.75, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield165_1')) + self.beacons.append(AirportBeacon(id='airfield165_2')) + self.beacons.append(AirportBeacon(id='airfield165_0')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[RunwayBeacon(id='airfield165_3', runway_name='09-27', runway_id=1, runway_side='27')]), opposite=RunwayApproach(name='09', heading=90, beacons=[RunwayBeacon(id='airfield165_4', runway_name='09-27', runway_id=1, runway_side='09')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-498156.84375, -933792.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-499468.28125, -936250.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='180', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-498183.78125, -933299.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-499684.09375, -936828.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='158', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-498114.71875, -935486.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-499827.96875, -936400.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='169', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-498435.28125, -933301.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-499531.9375, -933867.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='105', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-498066.3125, -933594.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-498008.90625, -934514.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-499120.5625, -936068.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='136', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-498328.03125, -935847.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='130', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-498230.34375, -933295.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-499470.90625, -936642.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='144', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-499738.625, -936909.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='157', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-499333, -933708.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='98', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-499328.96875, -936926.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='149', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-499879.375, -936621.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='176', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-499579.59375, -933737, self._terrain), large=False, heli=False, + airplanes=True, slot_name='102', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-498334.75, -933290.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-498485.71875, -933307.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-499734.3125, -936293, self._terrain), large=False, heli=False, + airplanes=True, slot_name='167', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-499444.75, -933450.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='99', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-498025.1875, -933420.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-497825.3125, -933661.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-499463.21875, -933912, self._terrain), large=False, heli=False, + airplanes=True, slot_name='109', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-499778.96875, -936806.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='159', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-498045.53125, -933736.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-499786.78125, -936299.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='168', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-499501.75, -936573.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='142', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-499627.53125, -936332.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='164', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-499637.96875, -936520.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='163', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-497963.09375, -934027.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='60', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-498118.1875, -933450.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-499407.40625, -936512.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='141', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-498321.96875, -935901.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='126', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-498538.6875, -933313.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-498110.09375, -935603.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-499409.5625, -936741.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='146', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-498296.9375, -933386.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-498484.90625, -933605.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-499587.28125, -936263.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='181', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-499322.21875, -933558.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='97', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-499428.875, -937057.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='152', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-498126.15625, -934303.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-497774.625, -933417.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-499760.71875, -936512.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='172', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-499273.84375, -934084.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='116', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-498000.5625, -933516.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-498044.09375, -933752.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-499190.9375, -934024.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='118', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-499314.9375, -935985.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='140', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-499428.0625, -936955.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='151', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-499971.65625, -936226.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='196', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-498660.09375, -933357.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-498686.375, -935872.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='133', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-498169.1875, -933996.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-497999.4375, -935372.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-498151.90625, -933610.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-498047.46875, -933720.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-499533.96875, -936043.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='184', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-499775.5625, -935999.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='189', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-498213.59375, -935737.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-498699.75, -935873.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='134', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-499808.84375, -935946.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='190', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-497793.125, -933519.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-498052.5, -935354.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-499623.84375, -933632.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='101', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-499503.34375, -933696.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='100', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-499136.65625, -934235, self._terrain), large=False, heli=True, + airplanes=False, slot_name='124', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-499298, -933995.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='117', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-498673.34375, -933359.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-499761, -936055.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='188', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-498086.25, -933503.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-499675.0625, -936729.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='160', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-499620.59375, -936092.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='166', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-498221.40625, -933458.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-498080.3125, -933518.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-500035.5, -936204.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='197', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-498371.5625, -933468.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-498143.84375, -934244.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-499209.15625, -936201.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='138', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-498229.46875, -933632.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-498098.125, -934392.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-498061.71875, -933625.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-499251.625, -933818.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='120', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-498057.78125, -935631.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-499905.625, -936218.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='195', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-499304.6875, -937034.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='150', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-498700, -933362.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-499931.78125, -935965.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='192', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-497887.09375, -933453.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-498194.5625, -934585.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-499579.8125, -936077.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='185', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-499128.0625, -935962.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='137', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-498325, -935874.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='128', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-499302.59375, -934163.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='115', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-499463.15625, -936833.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='147', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-498713.28125, -933363.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-499529.78125, -937061.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='153', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-498229.75, -933957.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-499639.65625, -936902.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='156', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-498042.53125, -933767.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-498049.59375, -933705.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-499680.03125, -936450.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='165', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-499575.09375, -934006.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='107', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-499375.1875, -934211.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='114', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-499378.75, -933862.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='111', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-498686.6875, -933360.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-498298.90625, -933730.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-499363.40625, -936832.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='148', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-498076.4375, -933532.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-498385.125, -933294.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-498159.1875, -934700.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-498078.65625, -933779, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-499816.125, -936546.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='175', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-497947.375, -935400.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-498064.78125, -935514.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-499274.4375, -933911.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='119', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-498068.6875, -933579.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-499904.78125, -936116.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='193', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=123, position=mapping.Point(-499584.25, -933786.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=124, position=mapping.Point(-498211.96875, -934526.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-498163.40625, -935586.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-498266.34375, -933835.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-499778.1875, -936622.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='177', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-499134.8125, -934276.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='125', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-499854.34375, -936071.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='191', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-499640.28125, -936178.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='182', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-499545.78125, -936498, self._terrain), large=False, heli=False, + airplanes=True, slot_name='143', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-499150.84375, -933873.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='121', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-498673.03125, -935871.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='132', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-498122.65625, -933599.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-497905.0625, -933709.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-499893.75, -936542.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='174', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-499429.40625, -933988.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='110', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-499216.65625, -933339.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='94', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-498127.875, -933437.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=140, position=mapping.Point(-499600.5625, -936084.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='186', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=141, position=mapping.Point(-499683.6875, -936238.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='183', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=142, position=mapping.Point(-499881.375, -936407.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='170', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=143, position=mapping.Point(-499532.5, -934074.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='108', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=144, position=mapping.Point(-498064.65625, -933865.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=145, position=mapping.Point(-499944.53125, -936093.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='194', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=146, position=mapping.Point(-499399.9375, -934280.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='113', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=147, position=mapping.Point(-497855.71875, -933362.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=148, position=mapping.Point(-498659.625, -935870, self._terrain), large=False, heli=True, + airplanes=True, slot_name='131', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=149, position=mapping.Point(-498056.46875, -933659.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=150, position=mapping.Point(-499617.65625, -936596.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='162', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=151, position=mapping.Point(-498181.25, -934125.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=152, position=mapping.Point(-499658.40625, -933798.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='104', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=153, position=mapping.Point(-499715.40625, -936079.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='187', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=154, position=mapping.Point(-499760.9375, -936456.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='171', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=155, position=mapping.Point(-498198.5, -934072.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=156, position=mapping.Point(-498283.90625, -933782.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=157, position=mapping.Point(-499191.46875, -933443.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=158, position=mapping.Point(-498713.03125, -935875.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='135', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=159, position=mapping.Point(-498040.28125, -933783.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=160, position=mapping.Point(-499444.375, -934149.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='112', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=161, position=mapping.Point(-497806.5, -933609, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=162, position=mapping.Point(-499213.84375, -933740.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='122', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=163, position=mapping.Point(-498142, -934758.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=164, position=mapping.Point(-499904.9375, -936487.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='173', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=165, position=mapping.Point(-499811.1875, -936717.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='178', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=166, position=mapping.Point(-498100.8125, -933475.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=167, position=mapping.Point(-499561.53125, -936962.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='154', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=168, position=mapping.Point(-498138.28125, -933695.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=169, position=mapping.Point(-499298.28125, -936086.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='139', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=170, position=mapping.Point(-499208.3125, -933460.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=171, position=mapping.Point(-498163.25, -934183.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=172, position=mapping.Point(-498286.09375, -933283.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=173, position=mapping.Point(-498144.5, -935769.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=174, position=mapping.Point(-498198.6875, -933890.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=175, position=mapping.Point(-498121.6875, -933194.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=176, position=mapping.Point(-498051.28125, -933690.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=177, position=mapping.Point(-498092.71875, -933488.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=178, position=mapping.Point(-499501.96875, -936332.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='179', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=179, position=mapping.Point(-498063.59375, -933610.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=180, position=mapping.Point(-499559.21875, -933959.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='106', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=181, position=mapping.Point(-498326.53125, -935861.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='129', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=182, position=mapping.Point(-497947.21875, -933637.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=183, position=mapping.Point(-498107.15625, -933335.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=184, position=mapping.Point(-499546.40625, -936686.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='145', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=185, position=mapping.Point(-497968.6875, -933310.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=186, position=mapping.Point(-499656.34375, -937007.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='155', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=187, position=mapping.Point(-498399.28125, -933393.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=188, position=mapping.Point(-499138.28125, -934192.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='123', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=189, position=mapping.Point(-498175.03125, -934646.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=190, position=mapping.Point(-498023.75, -933916.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=191, position=mapping.Point(-499820.96875, -936194.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='198', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=192, position=mapping.Point(-499594, -936715.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='161', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=193, position=mapping.Point(-498494.96875, -933571.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=194, position=mapping.Point(-498109.40625, -933463.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=195, position=mapping.Point(-498323.5, -935887.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='127', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=196, position=mapping.Point(-498012.65625, -935539.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=197, position=mapping.Point(-498053.5625, -933674.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=198, position=mapping.Point(-497935.4375, -933767, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=199, position=mapping.Point(-497939.25, -933904.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Fulda(Airport): + id = 166 + name = "Fulda" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4750000, vhf_low_hz=40400000, vhf_high_hz=126000000, uhf_hz=252000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-401102.09375, -768302.59375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield166_0')) + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-400916.3125, -768198.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-400978.65625, -768457.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-400889.96875, -768539.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-400852, -768750.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-401000.90625, -768228.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-400853.53125, -768707.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-400857.6875, -768621.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-400893.75, -768791.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-400977.28125, -768501.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='24', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-400984.4375, -768307.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-400897.46875, -768346.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-400875.90625, -768241.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-400855.40625, -768664.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-400947.125, -768625.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-400898.875, -768303.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-400941.46875, -768754.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-400893.25, -768453.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-400975.46875, -768543.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='25', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-400979.96875, -768410.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='22', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-400945.6875, -768668.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-400943.78125, -768711.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-400891.375, -768496.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-400861.40625, -768405.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-400982.40625, -768350.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='21', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-400959.21875, -768226.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Mendig(Airport): + id = 168 + name = "Mendig" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4800000, vhf_low_hz=40500000, vhf_high_hz=122100000, uhf_hz=252100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-392182.984375, -936027.8125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield168_0')) + self.runways.append(Runway(id=1, name='26-08', main=RunwayApproach(name='26', heading=260, beacons=[]), opposite=RunwayApproach(name='08', heading=80, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-392682.30596324, -936555.21306873, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-392829.96875, -936562.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-392445.375, -936689.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-392008.09375, -936489.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-392012.15625, -936577.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-392012.25, -936668.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-392012.71875, -936757.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-392014.6875, -936849.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-392004.59375, -936389.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-392667.6875, -936772.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-392769, -936764.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-392871.875, -936757.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-392951.13703468, -936651.48460603, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-392678.72156352, -936513.69842112, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-392675.85054146, -936469.66060117, self._terrain), large=False, heli=True, + airplanes=False, slot_name='09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-392672.39928497, -936427.35385625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-392666.01379026, -936348.57211704, self._terrain), large=False, heli=True, + airplanes=False, slot_name='14', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-392664.83495343, -936305.58237857, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-392659.86763004, -936262.05696194, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-392656.26084778, -936220.01193293, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-392616.28032391, -936504.88445748, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-392613.17111505, -936459.77963388, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-392610.42052259, -936417.04999333, self._terrain), large=False, heli=True, + airplanes=False, slot_name='12', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-392606.88367278, -936370.31807114, self._terrain), large=False, heli=True, + airplanes=False, slot_name='13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-392603.69380672, -936326.41323806, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-392600.28649712, -936282.53988044, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-392086.60472566, -936502.71476159, self._terrain), large=False, heli=True, + airplanes=False, slot_name='33', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-392086.00213019, -936475.80075386, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-392084.81644311, -936450.01986644, self._terrain), large=False, heli=True, + airplanes=False, slot_name='31', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-392083.72450602, -936424.28311074, self._terrain), large=False, heli=True, + airplanes=False, slot_name='30', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-392083.44141919, -936398.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='29', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-392082.32855183, -936372.93822517, self._terrain), large=False, heli=True, + airplanes=False, slot_name='28', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-392081.71312247, -936346.21461811, self._terrain), large=False, heli=True, + airplanes=False, slot_name='27', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Merseburg(Airport): + id = 169 + name = "Merseburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4825000, vhf_low_hz=40550000, vhf_high_hz=127200000, uhf_hz=252150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-332354.953125, -594040.375, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield169_1')) + self.beacons.append(AirportBeacon(id='airfield169_2')) + self.beacons.append(AirportBeacon(id='airfield169_3')) + self.beacons.append(AirportBeacon(id='airfield169_5')) + self.beacons.append(AirportBeacon(id='airfield169_7')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[RunwayBeacon(id='airfield169_6', runway_name='08-26', runway_id=1, runway_side='08'), RunwayBeacon(id='airfield169_8', runway_name='08-26', runway_id=1, runway_side='08')]), opposite=RunwayApproach(name='26', heading=260, beacons=[RunwayBeacon(id='airfield169_4', runway_name='08-26', runway_id=1, runway_side='26'), RunwayBeacon(id='airfield169_0', runway_name='08-26', runway_id=1, runway_side='26')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-332080.46875, -594158.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-332833.3125, -592989.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-333106.78125, -592723.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-332806.09375, -595167.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='83', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-332240.96875, -594738.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-332771.21875, -593756.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-332177.1875, -594339.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-332239.40625, -594666.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-332088.65625, -593900.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-332283.3125, -595079.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-332261.40625, -594861, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-332556.28125, -593543.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='52', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-332966.65625, -593081.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='36', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-332701.5625, -592697.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-332707.71875, -593290, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-332018.78125, -593008.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-332075.46875, -594114.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-332274.3125, -594994.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-332558.28125, -592823.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-332307.40625, -595158.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-332586.8125, -593584.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='53', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-332857.15625, -592839.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-333113.0625, -592699.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='30', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-332845.09375, -593906.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-332722.25, -593410.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-332736.8125, -593530.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-332688.25, -593137.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=30.0, width=30.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-332729.09375, -593467, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-332919.59375, -594763.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='75', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-332973.09375, -592782.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-332863.78125, -593178.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-332853.875, -593989.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='60', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-332714.9375, -593350.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-332732.25, -593495.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-332250.9375, -594801.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-332744.625, -594783.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='77', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-332128.0625, -594196, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-332259.9375, -594911.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-332691.9375, -593170.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-332761.0625, -593669.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-332054.40625, -594055.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-331986.15625, -593057.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-332890.09375, -592670.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-332836.5, -594144.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-332931.21875, -594713.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='74', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-332826.34375, -594069.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-332480.03125, -592624.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-332171.90625, -594259.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-332695.59375, -593200.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-332831.5625, -595100.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='82', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-332203.0625, -594461.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-332708.25, -594078.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='63', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-332894.09375, -594850, self._terrain), large=False, heli=False, + airplanes=True, slot_name='78', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-332704.03125, -593260.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-332761.78125, -594396.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-332820.96875, -594018, self._terrain), large=False, heli=False, + airplanes=True, slot_name='61', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-332170.15625, -594108.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-332943.75, -594871.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='79', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-332767.4375, -592785.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-332615.78125, -593623.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-332746.75, -594679.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='76', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-332766, -593712.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-332885.75, -594229.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='67', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-332844.625, -595037.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-332786.1875, -594587.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='73', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-332963.59375, -593057.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='35', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-332699.875, -594168.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-332699.5, -593230.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-332841.875, -594195.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='66', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-332811.125, -592677.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-332030.75, -592947.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-332894.40625, -594311.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-332908.1875, -594421.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='71', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-332932.09375, -594922.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='81', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-332777.40625, -593801, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-332725.53125, -593438.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-332019.84375, -593144.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-332711.125, -593320.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-331993.875, -593107.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-332718.65625, -593380, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-332917.3125, -594502.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='72', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-332867.28125, -594384.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-332317.6875, -595228.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-332877.1875, -594923.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='80', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Wiesbaden(Airport): + id = 170 + name = "Wiesbaden" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4875000, vhf_low_hz=40650000, vhf_high_hz=118100000, uhf_hz=252250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-440060.6875, -870624.90625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield170_1')) + self.beacons.append(AirportBeacon(id='airfield170_0')) + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-440532.46875, -870739.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-440465.96875, -870559.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='43', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-439739.46875, -870956.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-439688.1875, -870731.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-440502.28125, -870713.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-440504.59375, -871194.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-440487.9375, -871020.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-439815.5, -869713.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-440470.21875, -870581.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='44', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-440653.78125, -870732.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-439832.71875, -870596.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-440474.34375, -870602.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='45', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-439984.875, -871302, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-439683.0625, -870904.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-440596.03125, -870564, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-440483.59375, -871119.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-440521.09375, -870818.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-439689.125, -870479.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-440410.15625, -870430.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='35', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-440454.59375, -870496.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='39', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-440535.21875, -871295, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-440450.03125, -871328.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-439958.375, -871287.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-440544.75, -870850.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-440516.5, -870923, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-439730.8125, -870399.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-439756.1875, -871259.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-440560.1875, -871054.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-440515.625, -870953.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-440551.0625, -870705.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-440570.25, -870822.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-440569.09375, -870852, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-440495.25, -870848.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-440566.03125, -870924.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-440545.8125, -870819.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-440508.09375, -870743.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-440486.46875, -870443.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='47', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-440390.75, -871347.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-440557, -870736.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-440490.75, -870951.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-440540.25, -870954.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-440520.125, -870849.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-440445.1875, -870454.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='37', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-440500.6875, -870509.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='51', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-440461.78125, -870538.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='42', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-440535.78125, -871053.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-439765.46875, -870719.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-440509.09375, -870551.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-440604.625, -870581.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-440480.375, -871192.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-440408.28125, -871341.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-440511.53125, -870572.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-440529.34375, -871195.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-439800.125, -870697.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-440474.59375, -870425.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='46', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-440492.03125, -870921.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-439813.15625, -870452.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-440179.96875, -870516.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='32', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-439665.25, -871198.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-440505.03125, -870530.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-439752.9375, -870641.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-440457.875, -870517.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='41', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-440508.09375, -871120.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-439641.09375, -871305.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-439726.8125, -871367.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-440428.25, -871335.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-439751.21875, -870880.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-440490.65625, -870465, self._terrain), large=False, heli=True, + airplanes=False, slot_name='48', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-440427.96875, -870348.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-439755.53125, -870334.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-440541.1875, -870922.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-440537.03125, -871023, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-440398.84375, -870512.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-440511.09375, -871053, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-440478.21875, -870718.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-440028.96875, -869539, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-440564.71875, -870954.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-440526.75, -870709.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-439759.90625, -870466.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-440496.375, -870817.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-439753.625, -870539.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-440034.59375, -869553.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-440450.25, -870474.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='38', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-439812.90625, -869689.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-439777.53125, -870234.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-440539.59375, -870471, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-440040.1875, -869567.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-440483.84375, -870747.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-440486.40625, -871050.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-440554.09375, -871198.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-439790.84375, -870807.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-440561.78125, -871024.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-439854.6875, -870374, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-440447.96875, -870349.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-440529.71875, -870452.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-440533, -871120.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-440045.25, -869582.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-439722, -871031.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-440427.28125, -870443.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-439688.5625, -870837.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-440517.875, -871302.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='100', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-440657.4375, -870752.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-440557.53125, -871122.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-440512.3125, -871021.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Schkeuditz(Airport): + id = 171 + name = "Schkeuditz" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4900000, vhf_low_hz=40700000, vhf_high_hz=129000000, uhf_hz=252300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-329049.421875, -574115.28125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield171_1')) + self.beacons.append(AirportBeacon(id='airfield171_3')) + self.beacons.append(AirportBeacon(id='airfield171_4')) + self.beacons.append(AirportBeacon(id='airfield171_5')) + self.beacons.append(AirportBeacon(id='airfield171_0')) + self.runways.append(Runway(id=1, name='29-11', main=RunwayApproach(name='29', heading=290, beacons=[RunwayBeacon(id='airfield171_2', runway_name='11-29', runway_id=1, runway_side='29')]), opposite=RunwayApproach(name='11', heading=110, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-329284.28125, -575241.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-328587.875, -574473.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-328501.1875, -574677.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-328645.21875, -574335.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-328617.21875, -574404.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-329564.1555025, -575227.4276106, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-329420.75, -575230.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-329339.4375, -575233.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-329305.5, -575241.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-329252.75, -575234.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-329384.4375, -575231.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-329487.28125, -575229.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-329522.53125, -575230.1172861, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-328473.1875, -574746.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-328529.78125, -574610.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-329604.30818008, -575230.01847826, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-328561.1875, -574542, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=61.0, width=61.0, height=20.0, shelter=False)) + + +class H_Med_GDR_12(Airport): + id = 180 + name = "H Med GDR 12" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-358612.5, -713512, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-358612.5, -713512, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_13(Airport): + id = 181 + name = "H Med GDR 13" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-329507, -678944.375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-329507, -678944.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_14(Airport): + id = 182 + name = "H Med GDR 14" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-377418.90625, -723266.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-377418.90625, -723266.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_GDR_16(Airport): + id = 184 + name = "H Med GDR 16" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-382416.03125, -623949.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-382416.03125, -623949.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_24(Airport): + id = 185 + name = "H GDR 24" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-255385.28125, -478253.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-254762.28125, -478487.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-254722.375, -478459.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-256090.984375, -478111, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-254685.90625, -478433.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-256082.484375, -478062.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-256073.5625, -478017.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_13(Airport): + id = 186 + name = "H Med FRG 13" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-499112.6875, -922274.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-499112.625, -922273.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_14(Airport): + id = 187 + name = "H Med FRG 14" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-354707.03125, -749508.25, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-354706.53125, -749508.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_15(Airport): + id = 188 + name = "H Med FRG 15" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-318794.125, -774213.375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-318794.0625, -774213.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_16(Airport): + id = 189 + name = "H Med FRG 16" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-273869.25, -841198.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-273869.28125, -841199.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_17(Airport): + id = 190 + name = "H Med FRG 17" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-306133.96875, -752297.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-306133.96875, -752296.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_25(Airport): + id = 191 + name = "H FRG 25" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-383822.5625, -744826.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-383822.25, -744826.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_01(Airport): + id = 193 + name = "H Radar GDR 01" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-271654.8125, -679917.1875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-271639.625, -679901.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-271669.96875, -679933.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_02(Airport): + id = 194 + name = "H Radar GDR 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-402316.21875, -736558.6875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-402316.21875, -736558.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_03(Airport): + id = 195 + name = "H Radar GDR 03" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-344062.75, -720118.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-344062.75, -720118.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_04(Airport): + id = 196 + name = "H Radar GDR 04" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-292226.3125, -675013.8125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-292226.3125, -675013.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_05(Airport): + id = 197 + name = "H Radar GDR 05" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-249862.140625, -669029, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-249862.140625, -669029, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_06(Airport): + id = 198 + name = "H Radar GDR 06" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-221398.921875, -614268.375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-221398.921875, -614268.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_07(Airport): + id = 199 + name = "H Radar GDR 07" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-112177.804688, -624960.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-112177.8046875, -624960.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Bitburg(Airport): + id = 200 + name = "Bitburg" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4325000, vhf_low_hz=40950000, vhf_high_hz=118700000, uhf_hz=252550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-428496.140625, -998350.65625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield200_2')) + self.runways.append(Runway(id=1, name='24-06', main=RunwayApproach(name='24', heading=240, beacons=[RunwayBeacon(id='airfield200_1', runway_name='06-24', runway_id=1, runway_side='24'), RunwayBeacon(id='airfield200_0', runway_name='06-24', runway_id=1, runway_side='24')]), opposite=RunwayApproach(name='06', heading=60, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-428831.75, -999495.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-428464.75, -999016, self._terrain), large=False, heli=True, + airplanes=False, slot_name='52', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-428850.34375, -999560.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-428323.875, -998706.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='42', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-428303.34375, -998660.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-428283.625, -998616.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-428257.75, -998551.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-428237.1875, -998505.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-428217.1875, -998461.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-428170.125, -997189.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='65', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-428356.625, -998748.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-428364.34375, -998766, self._terrain), large=False, heli=True, + airplanes=True, slot_name='44', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-428372.03125, -998783.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='45', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-428379.53125, -998800.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-428386.96875, -998816.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='47', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-428394.46875, -998833.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-428402.03125, -998850.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-428409.90625, -998868.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-428417.8125, -998886.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-428197.84375, -998384.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-428190.4375, -998367.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-428183.4375, -998352, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-428176.40625, -998336.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-428169.34375, -998320.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-428162.375, -998304.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-428155.375, -998288.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-428148.40625, -998273.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-428141.25, -998257.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-428480.875, -999048.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='53', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-428493.75, -999077.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='54', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-428504.03125, -999100.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='55', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-428514.46875, -999123.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='56', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-427879.9375, -997824.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-427887.96875, -997842.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-427896, -997860.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-427904.03125, -997878.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-427912.0625, -997896.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-427920.4375, -997915.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-427929.15625, -997935.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-427938, -997954.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-428868.3125, -999551.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-428885.96875, -999547.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='59', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-428903.75, -999539.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-428921.8125, -999528.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-428939.34375, -999520.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='62', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-427655.65625, -997306.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-427645.75, -997284.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-427635.84375, -997262.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-427625.9375, -997240.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-427616.03125, -997217.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-427606.125, -997195.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-427596.28125, -997173.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-427602.28125, -997154.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-427608.28125, -997135.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-427614.28125, -997117.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-427844.43393863, -997295.98298955, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-427863.84018863, -997287.35798955, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-427883.24643863, -997278.73298955, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-427902.65268863, -997270.10798955, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-427922.05893863, -997261.48298955, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-427530.40625, -997135.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='76', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-427335.25, -997317.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='79', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-427296.65625, -997183.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='73', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-427329.90625, -997231, self._terrain), large=False, heli=True, + airplanes=True, slot_name='78', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-427247.5, -997241.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='80', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-427218.53125, -997105.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='72', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-427180.15625, -997182.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='74', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-427314.1875, -997103.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='70', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-427366.28125, -997178.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='71', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-427433.625, -997150.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='75', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-427522.40625, -997228.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='77', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-427373.0625, -997051.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='69', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-427486.34375, -997036.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='68', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-427439.25, -996947.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-427536.46875, -997002.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-427456.34375, -997438.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='83', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-427558.5625, -997380.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='81', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-427558.875, -997605.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='87', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-427587.96875, -997556.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='85', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-427631.0625, -997595.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='90', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-427730.1875, -997547.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='89', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-427756, -997762.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='93', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-427757.125, -997830.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='95', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-427671.4375, -997817.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='94', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-427712.4375, -997970.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='96', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-427741.8125, -998045.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='97', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-427871.65625, -998210.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='103', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-427953.28125, -998185.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='102', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-427840.53125, -998034.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='98', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-428010.75, -998339, self._terrain), large=False, heli=True, + airplanes=True, slot_name='114', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-427913.3125, -998378, self._terrain), large=False, heli=True, + airplanes=True, slot_name='106', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-427962.71875, -998425.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='118', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-428077.59375, -998497.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='116', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-428046.09375, -998376.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='117', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-428025.4375, -998213.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='112', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-427966.34375, -998261.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='104', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(-427881.84375, -998281.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='105', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(-427832.15625, -998403, self._terrain), large=False, heli=True, + airplanes=True, slot_name='107', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=98, position=mapping.Point(-427752.96875, -998371.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='108', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=99, position=mapping.Point(-428127.28125, -998696.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='121', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=100, position=mapping.Point(-427949.78125, -998685.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='120', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=101, position=mapping.Point(-428020.53125, -998787.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='123', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=102, position=mapping.Point(-428065.125, -998851.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='124', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=103, position=mapping.Point(-428773.09375, -999759.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='127', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=104, position=mapping.Point(-428782.65625, -999890.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='128', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=105, position=mapping.Point(-428725.09375, -999902.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='130', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=106, position=mapping.Point(-428683.0625, -1000055.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='144', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=107, position=mapping.Point(-428598.375, -1000085.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='141', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=108, position=mapping.Point(-428639.09375, -1000153.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='145', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=109, position=mapping.Point(-428768.5625, -1000187.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='146', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=110, position=mapping.Point(-428722.84375, -1000249.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='147', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=111, position=mapping.Point(-428530.375, -1000051.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='143', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=112, position=mapping.Point(-428456.46875, -1000005.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='140', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=113, position=mapping.Point(-428634.34375, -999858.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='129', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=114, position=mapping.Point(-428535.59375, -999805.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='137', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=115, position=mapping.Point(-428475.46875, -999754.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='136', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=116, position=mapping.Point(-428536.59375, -999679.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='135', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=117, position=mapping.Point(-428588.53125, -999600.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='133', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=118, position=mapping.Point(-428647.125, -999522.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='132', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=119, position=mapping.Point(-428737, -999634, self._terrain), large=False, heli=True, + airplanes=True, slot_name='125', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=120, position=mapping.Point(-428132.9375, -998788.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='122', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=121, position=mapping.Point(-427736.90625, -998306.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='109', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=122, position=mapping.Point(-428811.53125, -1000000.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='131', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=125, position=mapping.Point(-428586.1875, -1000115.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='142', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=126, position=mapping.Point(-428507.59375, -999894.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='139', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=127, position=mapping.Point(-428416.34375, -999830.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='138', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=128, position=mapping.Point(-428547.9375, -999501.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='134', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=129, position=mapping.Point(-428715.09375, -999695, self._terrain), large=False, heli=True, + airplanes=True, slot_name='126', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=130, position=mapping.Point(-427964.1875, -998316.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='115', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=131, position=mapping.Point(-428048.625, -998319.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='113', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=132, position=mapping.Point(-427884.64365925, -998132.5176033, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=133, position=mapping.Point(-427900.3125, -998109.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='99', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=134, position=mapping.Point(-427518.875, -997454.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='86', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=135, position=mapping.Point(-428074.59375, -998171.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='111', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=136, position=mapping.Point(-427729.71875, -997656.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='91', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=137, position=mapping.Point(-427649.0625, -997455.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='84', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=138, position=mapping.Point(-427612.6875, -997086.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=139, position=mapping.Point(-427600.78125, -997061.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=140, position=mapping.Point(-427607.90625, -997044.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=141, position=mapping.Point(-427633.53125, -997036.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=142, position=mapping.Point(-428951.78125, -1000046.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='64', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=143, position=mapping.Point(-427979.71875, -998148.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='110', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=144, position=mapping.Point(-427891.03125, -998479.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='119', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=145, position=mapping.Point(-427751.25, -997506.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='88', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=146, position=mapping.Point(-427542.09375, -997425.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='82', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=147, position=mapping.Point(-427656.90625, -997708.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='92', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Airracing_Lubeck(Airport): + id = 201 + name = "Airracing Lubeck" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4475000, vhf_low_hz=41000000, vhf_high_hz=118350000, uhf_hz=252600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-61429.269531, -638905.59375, terrain), terrain) + + self.runways.append(Runway(id=None, name='35-17', main=RunwayApproach(name='35', heading=350, beacons=[]), opposite=RunwayApproach(name='17', heading=170, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-61722.70703125, -638613.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-61615.435770577, -638621.09298677, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-61591.959968603, -638613.86267926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-61707.17578125, -638700.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-61665.04296875, -638701.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-61643.42578125, -638704.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-61615.47265625, -638709.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-61524.6796875, -638742.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-61502.8515625, -638750.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-61481.33203125, -638758.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-61459.9765625, -638767, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-61438.58203125, -638775.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-61502.75, -638683.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-61480.95703125, -638691.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-61458.45703125, -638700, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-61436.96484375, -638708.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-61686.08203125, -638700.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class H_FRG_27(Airport): + id = 202 + name = "H FRG 27" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-312523.5, -766281.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-312501.3125, -766338.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-312547.125, -766225, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-312548.53125, -766357.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-312594.84375, -766242.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-312452.15625, -766318.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-312498.4375, -766205.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Airracing_Frankfurt(Airport): + id = 204 + name = "Airracing Frankfurt" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4000000, vhf_low_hz=41050000, vhf_high_hz=118400000, uhf_hz=252650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-441852.21875, -887600.40625, terrain), terrain) + + self.runways.append(Runway(id=None, name='7-25', main=RunwayApproach(name='7', heading=70, beacons=[]), opposite=RunwayApproach(name='25', heading=250, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-442147, -887890.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-442136.91553775, -887782.60022573, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-442143.47802484, -887758.87490604, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-442060.21875, -887876.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-442058.65625, -887834, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-442055.90625, -887812.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-442050.40625, -887784.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-442016.625, -887694.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-442008.34375, -887672.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-441999.9375, -887650.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-441991.09375, -887629.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-441982.40625, -887608.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-442075.21875, -887671.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-442066.8125, -887649.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-442058.0625, -887627.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-442049.21875, -887606, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-442060.21875, -887855, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=22.0, width=15.0, height=8.0, shelter=False)) + + +class H_Med_FRG_21(Airport): + id = 208 + name = "H Med FRG 21" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-516712.34375, -955473.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-516712, -955473.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_30(Airport): + id = 211 + name = "H FRG 30" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-430928.875, -940813.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-430929.1875, -940874.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-430878.25, -940751.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-430981.6875, -940751.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-430930.6875, -940752.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-430980.09375, -940875.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-430876.125, -940873.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_31(Airport): + id = 212 + name = "H FRG 31" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-441193.25, -946858, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-441191.625, -946828, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-441195.9375, -946887.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_32(Airport): + id = 213 + name = "H FRG 32" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-498148.375, -913587.9375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-498154.0625, -913617.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-498141.65625, -913558.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_34(Airport): + id = 215 + name = "H FRG 34" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-388266.1875, -926071.125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-388283.8125, -926095.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-388249.4375, -926046.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_51(Airport): + id = 218 + name = "H FRG 51" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-476275.625, -946843.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-476266.25, -946903, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-476285.3125, -946785.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-476179.1875, -946822, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-476372.40625, -946866.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-476232.25, -946803.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-476338.59375, -946767.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-476319.53125, -946884.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-476213.125, -946921.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_38(Airport): + id = 219 + name = "H FRG 38" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-397841, -804564.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-397894.59375, -804593.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-397762.3125, -804579.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-397868.3125, -804639.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-397811.90625, -804488.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-397787.90625, -804533.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-397919.65625, -804549.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_48(Airport): + id = 220 + name = "H FRG 48" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-432577.59375, -990782.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-432626.34375, -990840.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-432578.09375, -990781.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-432529.6875, -990724.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_49(Airport): + id = 221 + name = "H FRG 49" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-440818.28125, -853129.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-440817.0625, -853129.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-440830.5625, -853055, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-440804.9375, -853203.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_24(Airport): + id = 222 + name = "H Med FRG 24" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-276567, -824883.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-276567.34375, -824883.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_FRG_02(Airport): + id = 223 + name = "H Radar FRG 02" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-421370.375, -857727.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-421369.9375, -857727.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_26(Airport): + id = 225 + name = "H Med FRG 26" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-434227.09375, -979057.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-434226.78125, -979057.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_25(Airport): + id = 226 + name = "H GDR 25" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-355786.5625, -609538.6875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-355757.40625, -609562.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-355786.53125, -609538.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-355815.75, -609515, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_26(Airport): + id = 227 + name = "H GDR 26" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-317575.59375, -595191.3125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-317576.09375, -595191.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_31(Airport): + id = 229 + name = "H GDR 31" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-8151.804688, -478226.53125, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-8149.5244140625, -478227.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-8082.521484375, -478256.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-8220.6494140625, -478195.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_GDR_32(Airport): + id = 230 + name = "H GDR 32" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-13186.318359, -454528.1875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-13185.879882812, -454527.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Med_FRG_27(Airport): + id = 231 + name = "H Med FRG 27" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-435667.15625, -877882.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-435667.15625, -877883.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Pferdsfeld(Airport): + id = 232 + name = "Pferdsfeld" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3850000, vhf_low_hz=41250000, vhf_high_hz=132650000, uhf_hz=252850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-452481.953125, -925909.0625, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield232_1')) + self.beacons.append(AirportBeacon(id='airfield232_0')) + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-452133.96875, -924935.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='63', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-451948.5, -925948.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-452021.03125, -925287.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-451863.15625, -926939.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-452094, -926474.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='70', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-451874, -926653.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-452167.0625, -925457.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='43', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-452176.85663171, -925605.10104152, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-451708.6875, -926772.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-451729.1875, -926137.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-452158.21875, -925970.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='36', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-452028.71875, -925914.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-451789.65625, -926604.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-452213.4375, -925047.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='64', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-451719.78125, -926222.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-452002.09375, -926062.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-452086.34375, -925830.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='40', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-451622.3125, -926870.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-451684.0625, -927070.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-452118.8125, -925078, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-451864.71875, -926051.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-451990.9375, -926699.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-452117.46875, -924908.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='62', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-451835.96875, -926772.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-452062.9375, -926058, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-451937.19456932, -926406.85790685, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-452095.1875, -926646.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='73', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-451942.75, -925194.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='51', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-451934.625, -925313.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='48', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-452179.77757634, -925577.98533725, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-451938.6875, -926265, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-452078.5625, -925000.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='60', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-451908.53125, -924973.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-452038.5, -925085.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-452139.3125, -925269.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-451581.84375, -926925.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-451589.5625, -926775.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-452102.25, -926584.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='71', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-451873.28125, -925249.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='50', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-451620.34375, -927001.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-451853.34375, -925092.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-451845.0625, -927058.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-451926.61472286, -926140.97182136, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-451945.53125, -926785.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-451696.71875, -926323.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-452097.5285107, -926386.25467975, self._terrain), large=False, heli=False, + airplanes=True, slot_name='68', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-451977.1875, -925032.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-452234.3125, -925131.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-452049.40625, -926174.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-452075.1875, -925334.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='46', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-452048.84375, -924918.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='61', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-452215.78125, -924845.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='65', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-451643.84375, -926171.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='23', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-451689.3125, -927157.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-452026.1875, -926274.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-452077.53125, -925166, self._terrain), large=False, heli=False, + airplanes=True, slot_name='57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-452180.0625, -924801.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='67', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-452216.75, -925411.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-452022.90625, -926622.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='74', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-451813.21875, -926121.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-451834.25, -925320.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='49', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-452098.75, -926615.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='72', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-451913.875, -927132.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-451990.0625, -926156.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-451532.65625, -926998.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-451974.46875, -926346.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-452104.1875, -924850.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='66', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-451929.41443378, -926113.59090183, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-451697.84375, -926942.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-452020.125, -925998.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-452094.70133998, -926413.65713653, self._terrain), large=False, heli=False, + airplanes=True, slot_name='69', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-451912.79470138, -926420.16761844, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-451895.71875, -926861.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-452105.125, -925032.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='59', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class H_Med_FRG_29(Airport): + id = 233 + name = "H Med FRG 29" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-501962, -938323.5, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-501961.46875, -938323.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_40(Airport): + id = 234 + name = "H FRG 40" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-394813.5, -916886.625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-394813.625, -916947.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-394866.46875, -916824.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-394815.46875, -916825.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-394760.5625, -916946.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-394864.5625, -916948.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-394763.03125, -916824.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Buchel(Airport): + id = 235 + name = "Buchel" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4575000, vhf_low_hz=41300000, vhf_high_hz=122100000, uhf_hz=252900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-410027.078125, -957879.1875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield235_0')) + self.runways.append(Runway(id=1, name='03-21', main=RunwayApproach(name='03', heading=30, beacons=[]), opposite=RunwayApproach(name='21', heading=210, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-409787.625, -958227.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='57', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-409754.4375, -958195.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='56', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-409720.40625, -958165.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='55', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-409652.96875, -958108.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='54', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-410933.8125, -958982.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-410814.15625, -959085.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-410762.6875, -959266.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-410672.78125, -959596.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='27', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-410712.03125, -959599.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='28', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-410892.3125, -959264.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='33', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-408882.0625, -957444.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-408990.0625, -957571.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-408874.90625, -957540.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-408937.6875, -957675.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-408824.75, -957632, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-408780.75, -957717, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-408892.03125, -957793.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-408796.875, -957861.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-408888.8125, -957921.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-409146.8125, -957798.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-409072.6875, -957717.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-409146.84375, -957665.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-409215.5, -957741.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-411111.0625, -958449.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=22.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-411169.71875, -958350.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-411342.5, -958285.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-411459.875, -958309.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='40', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-411472.53125, -958149, self._terrain), large=False, heli=False, + airplanes=True, slot_name='42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-411409.90625, -958112.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='43', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-411372.65625, -958034.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-411262.625, -958009.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='45', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-411151.0625, -957991.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='47', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-411065.375, -958015.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='49', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-410989.96875, -958068.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='50', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-411307.0625, -958215.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-411224.78125, -958203.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='46', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-411098.90625, -958251.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='52', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-411153.0625, -958162.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='48', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-410911.53125, -958188.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-410649.3125, -959403.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-410783.1875, -959524.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-410951.1875, -959166.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-410778.25, -959020.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-410737.65625, -959108.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-410623.3125, -959159.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-410573.71875, -959228.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-410588.375, -959326.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-410574.625, -959463.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-410619.6875, -959621.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-410366.3125, -959313.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-409000.1875, -957907.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-410500.78125, -959581.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='25', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-410670.96875, -959328, self._terrain), large=False, heli=False, + airplanes=True, slot_name='31', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-410909.5625, -958310.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-408980.15625, -957773, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-409340.5, -957927.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='16', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-410387.8125, -959455.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-409049.875, -957313, self._terrain), large=False, heli=True, + airplanes=True, slot_name='58', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Leipzig_Mockau(Airport): + id = 236 + name = "Leipzig Mockau" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4800000, vhf_low_hz=41350000, vhf_high_hz=119750000, uhf_hz=252950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-332903.453125, -561847.125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield236_1')) + self.beacons.append(AirportBeacon(id='airfield236_2')) + self.beacons.append(AirportBeacon(id='airfield236_0')) + self.runways.append(Runway(id=1, name='25-07', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='07', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-332722.1875, -562454.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='10', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-333515.40625, -562073.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-333390.71875, -561836.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-333417.34375, -561869.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-332558.9375, -562266.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='17', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-333464.21875, -561865.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-332797.34375, -562599.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='09', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-332947, -562532.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-333433.21875, -561868.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-332634.9375, -562455.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-333448.40625, -561867.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-332615.125, -562389.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='13', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-333395.59375, -561803.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-332578.3125, -562331.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-333405.90625, -561835.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-333437, -561833.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-332870.71875, -562606.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='06', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-332965.1875, -562487.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-332607.53125, -562206.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='18', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-333457.125, -561900.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-332822.5625, -562601.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='08', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-333441.21875, -561901.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-332846.5, -562604.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='07', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-332699.03125, -562390.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-333493.84375, -562129.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-332643.28125, -562265.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='16', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-333411.53125, -561802.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-333402.4375, -561870.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-332663.5, -562331.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='14', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-333426.03125, -561902.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-333452.75, -561831.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-333442.5, -561799.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-332521.15625, -562208.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=22.0, width=18.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-333050.5625, -562521.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-333421.8125, -561834.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class H_FRG_43(Airport): + id = 237 + name = "H FRG 43" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-485798.25, -792526.75, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-485826.625, -792536.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-485769.53125, -792518.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_44(Airport): + id = 238 + name = "H FRG 44" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-458853.875, -830446, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-458869.9375, -830471.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-458838.75, -830420.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_45(Airport): + id = 239 + name = "H FRG 45" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-482750.5, -822902.0625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-482689.1875, -822954.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-482811.78125, -822847.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-482741.75, -822963.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-482761.40625, -822841.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-482791.96875, -822971.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-482709.53125, -822832.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_46(Airport): + id = 240 + name = "H FRG 46" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-457237.3125, -763776.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-457182.65625, -763805.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-457316.65625, -763792.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-457158, -763759.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-457206.5625, -763851, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-457266.40625, -763702.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-457290.8125, -763747.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_47(Airport): + id = 241 + name = "H FRG 47" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-504603.5625, -805866.6875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-504539.53125, -805815.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-504542.625, -805920.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-504664.71875, -805865.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-504667.625, -805916.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-504541.34375, -805869.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-504663.0625, -805813, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Bad_Durkheim(Airport): + id = 242 + name = "Bad Durkheim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3975000, vhf_low_hz=41450000, vhf_high_hz=134500000, uhf_hz=253050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-502328.315832, -891018.369592, terrain), terrain) + + self.runways.append(Runway(id=1, name='08-26', main=RunwayApproach(name='08', heading=80, beacons=[]), opposite=RunwayApproach(name='26', heading=260, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-502229.03125, -891274.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-502192.75, -891168.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-502220.75, -891242.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-502289.65625, -891396.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-502173.82446999, -891192.66488504, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-502227.875, -891192.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-502210.88644817, -891371.57271806, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-502384.03125, -891282.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-502191.84375, -891192, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-502227.03125, -891325.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-502228.595745, -891168.529255, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-502378.75, -891223.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-502210.10704501, -891193.23935503, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-502208.6875, -891325.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-502210.65625, -891168.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-502210.96875, -891274.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-502174.875, -891167.56117498, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Gelnhausen(Airport): + id = 243 + name = "Gelnhausen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3950000, vhf_low_hz=41500000, vhf_high_hz=119000000, uhf_hz=253100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-433823.546875, -808033.03125, terrain), terrain) + + self.runways.append(Runway(id=1, name='09-27', main=RunwayApproach(name='09', heading=90, beacons=[]), opposite=RunwayApproach(name='27', heading=270, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-433638.3125, -807955.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-433615, -807705.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='15', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-433636.34375, -808055.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-433537.46875, -807588.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-433651.96875, -808058.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-433666.84375, -808061.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-433594.40625, -807611.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-433649.46875, -808090.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-433537.1875, -807701.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='18', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-433682.28125, -808065.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-433610.21875, -807790.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-433696.875, -808068.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-433651.3125, -808160.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='39', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-433680.0625, -808098.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='32', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-433475.75, -807616, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-433518.5625, -807597.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-433695.65625, -808136.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='38', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-433665.65625, -808129.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='36', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-433696.34375, -808170.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='41', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-433635.21875, -808123.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='34', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-433497.15625, -807607, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-433650.71875, -808126.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='35', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-433640.21875, -807986.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-433531.21875, -807785.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-433666.25, -808163.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='40', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-433633.96875, -808087.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-433612.8125, -807740.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-433639.125, -807971.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-433681.0625, -808133.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='37', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-433532.625, -807736.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='19', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-433664.29319736, -808094.77942114, self._terrain), large=False, heli=True, + airplanes=True, slot_name='31', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-433694.46875, -808101.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='33', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class Herrenteich(Airport): + id = 244 + name = "Herrenteich" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4300000, vhf_low_hz=41550000, vhf_high_hz=127400000, uhf_hz=253150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-520266.046875, -872150.03125, terrain), terrain) + + self.runways.append(Runway(id=1, name='06-24', main=RunwayApproach(name='06', heading=60, beacons=[]), opposite=RunwayApproach(name='24', heading=240, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-520023.5, -872196.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-519983.28125, -872151.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-519845.4375, -872055.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-519846.84375, -872073.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-519846.06659191, -871995.11484135, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-519864.43552517, -871992.92339169, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-519877.41809172, -872018.56340373, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-519841.89067321, -872022.59768678, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-519855.07246607, -871974.96555896, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-519859.61175864, -872020.43868255, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Hockenheim(Airport): + id = 245 + name = "Hockenheim" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4050000, vhf_low_hz=41600000, vhf_high_hz=134600000, uhf_hz=253200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-522743.364455, -869766.55648, terrain), terrain) + + self.runways.append(Runway(id=1, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[]), opposite=RunwayApproach(name='15', heading=150, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-522913.40625, -869388.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-522974.21875, -869404.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-522943.6875, -869412.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-522972.28125, -869423.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-522945.46875, -869393.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-522735.625, -869530.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-522788.15625, -869501.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-522895.625, -869386.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-522990.375, -869418.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-522940.4375, -869429.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Langenselbold(Airport): + id = 246 + name = "Langenselbold" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3875000, vhf_low_hz=41650000, vhf_high_hz=126100000, uhf_hz=253250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-435035.53125, -815795.40625, terrain), terrain) + + self.runways.append(Runway(id=1, name='24-06', main=RunwayApproach(name='24', heading=240, beacons=[]), opposite=RunwayApproach(name='06', heading=60, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-434764.34375, -815715.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-434789.9375, -815769.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-434701.34375, -815559.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-434684.1875, -815555.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-434666.15625, -815552.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-434679.125, -815523.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-434655.34375, -815600.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-434658.3125, -815583.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-434693.21875, -815508.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-434697.25, -815526.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Walldorf(Airport): + id = 247 + name = "Walldorf" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4925000, vhf_low_hz=41700000, vhf_high_hz=134600000, uhf_hz=253300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-526748.625, -860464.625, terrain), terrain) + + self.runways.append(Runway(id=1, name='01-19', main=RunwayApproach(name='01', heading=10, beacons=[]), opposite=RunwayApproach(name='19', heading=190, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-526573.5, -860652.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-526366.25, -860617.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-526395.6875, -860630.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-526417.875, -860679.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-526362.1875, -860597.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-526383.375, -860643.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-526632.5, -860661.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-526404.875, -860667.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-526378.9375, -860603.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-526408.9375, -860618.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Ober_Morlen(Airport): + id = 248 + name = "Ober-Morlen" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4400000, vhf_low_hz=41750000, vhf_high_hz=134600000, uhf_hz=253350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-410130.25, -837274.90625, terrain), terrain) + + self.runways.append(Runway(id=1, name='24-06', main=RunwayApproach(name='24', heading=240, beacons=[]), opposite=RunwayApproach(name='06', heading=60, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-409906.65625, -837320.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-409761.125, -837093.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-409779.6875, -837094.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-409749.46875, -837155, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-409752.75, -837123.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-409770.625, -837123.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-409749.03125, -837172.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='01', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-409772.9375, -837076.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-409873.40625, -837270.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-409788.5, -837124.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Pottschutthohe(Airport): + id = 249 + name = "Pottschutthohe" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4025000, vhf_low_hz=41800000, vhf_high_hz=134600000, uhf_hz=253400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-516318.078125, -946153.625, terrain), terrain) + + self.runways.append(Runway(id=1, name='06-24', main=RunwayApproach(name='06', heading=60, beacons=[]), opposite=RunwayApproach(name='24', heading=240, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-516375.625, -945962.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='10', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-516185.4375, -946020.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-516321.25, -945899.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='06', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-516328.59375, -945933.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='07', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-516356.6875, -946006.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='15', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-516153.65625, -945969.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-516391.6875, -945955.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='11', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-516343.5625, -945979.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='08', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-516306.75, -945910, self._terrain), large=False, heli=False, + airplanes=True, slot_name='05', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-516196.4375, -945828.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-516285.8125, -945866.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='04', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-516372.5, -945998.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='14', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-516359.625, -945971.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='09', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-516263.40625, -945822, self._terrain), large=False, heli=False, + airplanes=True, slot_name='02', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-516302.28125, -945857.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='03', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-516404.5, -945981.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='12', length=8.25, width=10.25, height=4.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-516388.71875, -945990.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='13', length=8.25, width=10.25, height=4.5, shelter=False)) + + +class Worms(Airport): + id = 250 + name = "Worms" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4950000, vhf_low_hz=41900000, vhf_high_hz=127100000, uhf_hz=253500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-489622.5625, -876191.59375, terrain), terrain) + + self.runways.append(Runway(id=None, name='25-7', main=RunwayApproach(name='25', heading=250, beacons=[]), opposite=RunwayApproach(name='7', heading=70, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-489591.71875, -876377.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand01', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-489542.625, -876222.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand02', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-489552.46875, -876259.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand03', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-489622.53125, -876331.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand05', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-489490.71875, -876053.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand06', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-489502.28125, -876092.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand07', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-489581.75, -876342.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand08', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-489632.5625, -876365.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand09', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-489601.15625, -876412.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand10', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-489596.34375, -876394.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand11', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-489480.21875, -876016.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Stand12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-489627.15625, -876348.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand13', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-489642.125, -876401, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand14', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-489547.1875, -876240.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand16', length=18.5, width=12.5, height=5.5, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-489637.125, -876382.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand17', length=15.25, width=10.25, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-489586.4375, -876359.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand18', length=15.25, width=10.25, height=8.0, shelter=False)) + + +class H_Radar_GDR_09(Airport): + id = 251 + name = "H Radar GDR 09" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-223165.40625, -433505.875, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-223165.390625, -433506.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_Radar_GDR_08(Airport): + id = 252 + name = "H Radar GDR 08" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-163706.40625, -650633, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-163706.421875, -650633.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_41(Airport): + id = 253 + name = "H FRG 41" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-487516.0625, -756529.9375, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-487511.53125, -756559.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-487519.5, -756500.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class H_FRG_42(Airport): + id = 254 + name = "H FRG 42" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-482601, -762950.5625, terrain), terrain) + + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-482665.28125, -762999.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-482660.09375, -762896.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-482538.5, -762953.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-482536.71875, -762900.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-482662.09375, -762949.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-482540.34375, -763004.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='04', length=42.0, width=34.0, height=14.0, shelter=False)) + + +ALL_AIRPORTS: List[Type[Airport]] = [ + Wittstock, + Altes_Lager, + Barth, + Zerbst, + Bremen, + Briest, + Buckeburg, + Celle, + Cochstedt, + Damgarten, + Fassberg, + Finow, + Garz, + Gatow, + Templin, + Gutersloh, + Hamburg, + Hamburg_Finkenwerder, + Hannover, + Laage, + Larz, + Mahlwinkel, + Neubrandenburg, + Neuruppin, + Peenemunde, + Schonefeld, + Stendal, + Tegel, + Tempelhof, + Tutow, + Werneuchen, + Wunstorf, + Bornholm, + Brand, + Brandis, + Chojna, + Cologne, + Dusseldorf, + Falkenberg, + Heidelberg, + Kastrup, + Kiel, + Landstuhl, + Mainz_Finthen, + Sturup, + Marxwalde, + Nordholz, + Norvenich, + Oranienburg, + Szczecin_Goleniow, + Obermehler_Schlotheim, + Adelsheim, + H_FRG_01, + H_FRG_02, + H_FRG_03, + H_FRG_04, + H_FRG_05, + H_FRG_06, + H_FRG_07, + H_FRG_08, + H_FRG_09, + H_FRG_10, + H_FRG_12, + H_FRG_13, + H_FRG_14, + H_GDR_01, + H_GDR_02, + H_GDR_03, + H_GDR_04, + H_GDR_05, + H_GDR_06, + H_GDR_07, + H_GDR_08, + H_GDR_09, + H_GDR_10, + H_GDR_11, + H_FRG_15, + Revinge, + Gross_Mohrdorf, + Lubeck, + Kothen, + Dessau, + Parchim, + H_GDR_12, + Uetersen, + Tagra, + Luneburg, + Northeim, + H_GDR_13, + H_GDR_14, + H_GDR_15, + H_GDR_16, + H_GDR_17, + H_FRG_16, + H_FRG_17, + H_FRG_18, + H_FRG_19, + H_FRG_11, + Sperenberg, + Uelzen, + Dedelow, + Kammermark, + Weser_Wumme, + Braunschweig, + Wismar, + Waren_Vielist, + Bienenfarm, + Pinnow, + Gardelegen, + Glindbruchkippe, + Ummern, + Hildesheim, + Verden_Scharnhorst, + Rinteln, + Holzdorf, + H_Med_GDR_01, + H_Med_GDR_02, + H_Med_GDR_03, + H_GDR_33, + Airracing_Koblenz, + H_GDR_34, + Perwenitz, + H_Med_GDR_08, + H_Med_GDR_09, + H_Med_GDR_10, + H_Med_FRG_01, + H_Med_FRG_02, + Sittensen, + H_Med_FRG_04, + H_Med_FRG_06, + Sprendlingen, + Thurland, + Zollschen, + H_Med_FRG_11, + Hasselfelde, + Grosse_Wiese, + H_GDR_18, + H_FRG_20, + H_Med_FRG_12, + H_GDR_19, + H_GDR_30, + H_Med_GDR_11, + H_FRG_21, + H_FRG_50, + H_FRG_23, + H_FRG_39, + H_GDR_21, + H_GDR_22, + Fritzlar, + Hahn, + Sembach, + Allstedt, + Zweibrucken, + Giebelstadt, + Schweinfurt, + Haina, + Spangdahlem, + Frankfurt, + Bindersleben, + Ramstein, + Fulda, + Mendig, + Merseburg, + Wiesbaden, + Schkeuditz, + H_Med_GDR_12, + H_Med_GDR_13, + H_Med_GDR_14, + H_Med_GDR_16, + H_GDR_24, + H_Med_FRG_13, + H_Med_FRG_14, + H_Med_FRG_15, + H_Med_FRG_16, + H_Med_FRG_17, + H_FRG_25, + H_Radar_GDR_01, + H_Radar_GDR_02, + H_Radar_GDR_03, + H_Radar_GDR_04, + H_Radar_GDR_05, + H_Radar_GDR_06, + H_Radar_GDR_07, + Bitburg, + Airracing_Lubeck, + H_FRG_27, + Airracing_Frankfurt, + H_Med_FRG_21, + H_FRG_30, + H_FRG_31, + H_FRG_32, + H_FRG_34, + H_FRG_51, + H_FRG_38, + H_FRG_48, + H_FRG_49, + H_Med_FRG_24, + H_Radar_FRG_02, + H_Med_FRG_26, + H_GDR_25, + H_GDR_26, + H_GDR_31, + H_GDR_32, + H_Med_FRG_27, + Pferdsfeld, + H_Med_FRG_29, + H_FRG_40, + Buchel, + Leipzig_Mockau, + H_FRG_43, + H_FRG_44, + H_FRG_45, + H_FRG_46, + H_FRG_47, + Bad_Durkheim, + Gelnhausen, + Herrenteich, + Hockenheim, + Langenselbold, + Walldorf, + Ober_Morlen, + Pottschutthohe, + Worms, + H_Radar_GDR_09, + H_Radar_GDR_08, + H_FRG_41, + H_FRG_42, +] + diff --git a/dcs/terrain/germany/germany.py b/dcs/terrain/germany/germany.py new file mode 100644 index 00000000..fbc2fb3b --- /dev/null +++ b/dcs/terrain/germany/germany.py @@ -0,0 +1,39 @@ +import datetime + +from dcs import mapping +from dcs.terrain import Terrain, MapView +from .airports import ALL_AIRPORTS +from .projection import PARAMETERS + + +class Germany(Terrain): + + temperature = [ + (-5, 5), + (-5, 5), + (0, 15), + (0, 15), + (0, 15), + (10, 30), + (10, 30), + (10, 30), + (0, 15), + (0, 15), + (0, 15), + (-5, 5) + ] + assert len(temperature) == 12 + + def __init__(self): + bounds = mapping.Rectangle(200000, -600000, -1100000, -300000, self) + super().__init__( + "GermanyCW", + PARAMETERS, + bounds=bounds, + map_view_default=MapView(bounds.center(), self, 1000000), + utc_offset=datetime.zoneinfo(datetime.timedelta(hours=2)) + ) + self.bullseye_blue = {"x": bounds.center().x, "y": bounds.center().y} + self.bullseye_red = {"x": bounds.center().x, "y": bounds.center().y} + + self.airports = {a.name: a(self) for a in ALL_AIRPORTS} diff --git a/dcs/terrain/germany/projection.py b/dcs/terrain/germany/projection.py new file mode 100644 index 00000000..f3500760 --- /dev/null +++ b/dcs/terrain/germany/projection.py @@ -0,0 +1,10 @@ +# DO NOT EDIT: +# This file is generated by tools/export_map_projection.py. +from dcs.terrain.projections import TransverseMercator + +PARAMETERS = TransverseMercator( + central_meridian=21, + false_easting=35427.619999985734, + false_northing=-6061633.128000011, + scale_factor=0.9996, +) diff --git a/dcs/terrain/kola/__init__.py b/dcs/terrain/kola/__init__.py new file mode 100644 index 00000000..1a61cf0b --- /dev/null +++ b/dcs/terrain/kola/__init__.py @@ -0,0 +1 @@ +from .kola import Kola diff --git a/dcs/terrain/kola/airports.py b/dcs/terrain/kola/airports.py new file mode 100644 index 00000000..b7314b13 --- /dev/null +++ b/dcs/terrain/kola/airports.py @@ -0,0 +1,4052 @@ +# flake8: noqa +from typing import List, Type + +from dcs import mapping +from dcs.atcradio import AtcRadio +from dcs.beacons import AirportBeacon, RunwayBeacon +from dcs.terrain import Airport, ParkingSlot, Runway, RunwayApproach, Terrain + + +class Banak(Airport): + id = 1 + name = "Banak" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4050000, vhf_low_hz=39000000, vhf_high_hz=118050000, uhf_hz=250550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(234850.039063, 88378.335938, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield1_2')) + self.beacons.append(AirportBeacon(id='airfield1_3')) + self.runways.append(Runway(id=1, name='34-16', main=RunwayApproach(name='34', heading=340, beacons=[]), opposite=RunwayApproach(name='16', heading=160, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(233864.84375, 88349.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(233847.78125, 88352.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(233830.71875, 88354.7890625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(233813.59375, 88357.0390625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(233796.28125, 88359.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(233779.109375, 88362.2734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(233762.171875, 88364.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(233745.09375, 88367.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(233728.203125, 88369.3828125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(233710.984375, 88371.7578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(233694.109375, 88374.1953125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(233677.1875, 88376.5234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(233660.0625, 88379.234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(233642.328125, 88381.5546875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(233625.125, 88384.1640625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(233607.953125, 88386.484375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(233590.71875, 88389.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(233635.8125, 88251.3671875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HC1', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(233698.5625, 88078.9140625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HC4', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(233680.34375, 88110.3984375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HC3', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(233661.15625, 88141.453125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HC2', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(234597.75, 88657.203125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='CIV02', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(234642.9375, 88650.8515625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='CIV03', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(234552.1875, 88664.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='CIV01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(233592.84375, 88164.0078125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(233566.046875, 88208.6484375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M18', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Rovaniemi(Airport): + id = 2 + name = "Rovaniemi" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4250000, vhf_low_hz=39400000, vhf_high_hz=118700000, uhf_hz=250950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-152462.09375, 151503.710938, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield2_1')) + self.runways.append(Runway(id=1, name='21-03', main=RunwayApproach(name='21', heading=210, beacons=[RunwayBeacon(id='airfield2_2', runway_name='21-03', runway_id=1, runway_side='21'), RunwayBeacon(id='airfield2_0', runway_name='21-03', runway_id=1, runway_side='21')]), opposite=RunwayApproach(name='03', heading=30, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-153437.71875, 151265.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-153182.484375, 151354.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S07', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-153086.90625, 151560.703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-153075.078125, 151602.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-153061.28125, 151652.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-153317.03125, 151282.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-153343.46875, 151265.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-153048.734375, 151698.765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-152931.765625, 151583.234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S09', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-152185.390625, 151334.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-152169.875, 151346.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-152152.578125, 151357.140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-152135.5, 151368.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-152118.203125, 151379.578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-152100.796875, 151390.796875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-152083.921875, 151401.796875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-152067.671875, 151412.484375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-151928.9375, 151535.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-151908.953125, 151530.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-151887.15625, 151525.390625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-151866.40625, 151520.671875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-151844.28125, 151515.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-151822.0625, 151511.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-151800.46875, 151506.203125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-151779.1875, 151501.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-151757.171875, 151496.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='M17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-151679.625, 151459.609375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-151557.296875, 151431.609375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-151284.296875, 151913.015625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-151302.453125, 151935.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-153665.640625, 150507.734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q1', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-153634.703125, 150504.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q2', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-152962.140625, 151502.234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S10', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-153099.875, 151516.015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-153827.546875, 150911.046875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Q4', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-153727.453125, 150993.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Q3', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-153122.359375, 151410.546875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-151191.953125, 151831.265625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-151138, 151805.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-151166.375, 151890.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-151111.96875, 151862.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-153250.078125, 151307.328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S08', length=60.0, width=60.0, height=18.0, shelter=False)) + + +class Kemi_Tornio(Airport): + id = 3 + name = "Kemi Tornio" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4275000, vhf_low_hz=39450000, vhf_high_hz=119400000, uhf_hz=251000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-243395.968891, 101204.631625, terrain), terrain) + + self.runways.append(Runway(id=1, name='18-36', main=RunwayApproach(name='18', heading=180, beacons=[]), opposite=RunwayApproach(name='36', heading=360, beacons=[RunwayBeacon(id='airfield3_1', runway_name='36-18', runway_id=1, runway_side='36'), RunwayBeacon(id='airfield3_0', runway_name='36-18', runway_id=1, runway_side='36')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-243722.24928481, 100891.70359519, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-243609.99166752, 100949.13069256, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-243575.53261063, 100950.33763344, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-243476.02836943, 100968.10209483, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-243387.4555893, 100970.34995285, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-243862.19937994, 100771.02116804, self._terrain), large=False, heli=False, + airplanes=True, slot_name='D01', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Vuojarvi(Airport): + id = 4 + name = "Vuojarvi" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4300000, vhf_low_hz=39500000, vhf_high_hz=118400000, uhf_hz=257100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-93814.804688, 177899.304688, terrain), terrain) + + self.runways.append(Runway(id=None, name='22-4', main=RunwayApproach(name='22', heading=220, beacons=[]), opposite=RunwayApproach(name='4', heading=40, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-95322.140625, 176289.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-95337.90625, 176321.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-95310.84375, 176141.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-95292.1640625, 176177.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-95273.28125, 176223.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-95382.65625, 176094.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-95349.2421875, 176098.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-91853.3046875, 179754.328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-91846.890625, 179666.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-91868.9453125, 179614.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N01', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Kiruna(Airport): + id = 5 + name = "Kiruna" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4325000, vhf_low_hz=39550000, vhf_high_hz=130150000, uhf_hz=251050000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-20455.625, -90638.921875, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield5_2')) + self.beacons.append(AirportBeacon(id='airfield5_0')) + self.runways.append(Runway(id=1, name='21-03', main=RunwayApproach(name='21', heading=210, beacons=[RunwayBeacon(id='airfield5_1', runway_name='21-03', runway_id=1, runway_side='21'), RunwayBeacon(id='airfield5_3', runway_name='03-21', runway_id=1, runway_side='21')]), opposite=RunwayApproach(name='03', heading=30, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-20098.654296875, -90651.5078125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B5', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-20166.421875, -90807.9765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B3', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-20297.822265625, -90813.8359375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F1', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-20283.078125, -90804.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F2', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-20268.76171875, -90794.5078125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F3', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-20254.142578125, -90784.921875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F4', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-20240.12890625, -90775.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F5', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-20226.115234375, -90765.6953125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F6', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-20237.404296875, -90748.0703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F7', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-20463.375, -91018.9921875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='H1', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-20114.484375, -90725.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B4', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-20419.1484375, -90913.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B1', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-20322.97265625, -90901.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B2', length=41.0, width=41.0, height=18.0, shelter=False)) + + +class Severomorsk_3(Airport): + id = 6 + name = "Severomorsk-3" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4350000, vhf_low_hz=39600000, vhf_high_hz=124300000, uhf_hz=251100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(148839.246577, 445897.988931, terrain), terrain) + + self.runways.append(Runway(id=1, name='35-17', main=RunwayApproach(name='35', heading=350, beacons=[]), opposite=RunwayApproach(name='17', heading=170, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(149944.75, 445795.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C03', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(148285.84375, 446432.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(148218.046875, 446411.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(147728.71875, 446163.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(147756.203125, 446158.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(147783.671875, 446154.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(147840.984375, 446129.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(147031.5, 445491.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(146912.25, 445510.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(147143.625, 445465.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(147262.65625, 445428.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(147355.375, 445467.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(147702.671875, 446167.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(146714.171875, 445278.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(146954.046875, 445226, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(147052.21875, 445258.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(147156.578125, 445291.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(146527.1875, 445336.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(148150.78125, 446391.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(147897.65625, 446122.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(147953.703125, 446112.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(147875.734375, 446400.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(147822.96875, 446403.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(147770.265625, 446406.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(147715.859375, 446409.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(146475.81548242, 445689.70594003, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(146652.90625, 445730.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(146269.03125, 445745.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(146751.625, 445756.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(147129.453125, 445855.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(147543.546875, 446424.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B50', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(147161.625, 445864.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(147193.484375, 445872.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(147224.625, 445881.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(147256.546875, 445889.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(148349.15625, 446350.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(148378.34375, 446339.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(148408.125, 446329.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(148437.046875, 446319.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(148466.21875, 446309.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(148496.171875, 446301.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(149875.71875, 446126.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(150134.484375, 446025.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(150211.859375, 446047.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(149881.59375, 445805.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C04', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(149819.265625, 445815.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C05', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(149755.359375, 445825.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C06', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(148526.296875, 446290.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(148556.859375, 446279.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(148586.984375, 446268.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(148617.3125, 446258.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(148739.609375, 446222.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(149904, 446121.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(149932.8125, 446117.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(149961.109375, 446112.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(148183.03125, 446401.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(148250, 446422.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(147900.265625, 446332.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(147938.5625, 446330.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(147977.671875, 446328.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(148015.96875, 446326.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(147743.1875, 446407.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(147796.65625, 446405.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(147849.578125, 446401.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(148835.203125, 446189.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(148930.5625, 446155.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(149565.3125, 446101.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(149464.28125, 446106.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(149727.15625, 446078.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(149827.1875, 446062.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(149930.25, 446046.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(149061.515625, 446126.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(149162.46875, 446121.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(149263.28125, 446116.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(149363.953125, 446111.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Bodo(Airport): + id = 7 + name = "Bodo" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4375000, vhf_low_hz=39650000, vhf_high_hz=118450000, uhf_hz=251150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-66958.882813, -348337.328125, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield7_1')) + self.beacons.append(AirportBeacon(id='airfield7_3')) + self.runways.append(Runway(id=1, name='07-25', main=RunwayApproach(name='07', heading=70, beacons=[RunwayBeacon(id='airfield7_4', runway_name='07-25', runway_id=1, runway_side='07'), RunwayBeacon(id='airfield7_0', runway_name='07-25', runway_id=1, runway_side='07')]), opposite=RunwayApproach(name='25', heading=250, beacons=[RunwayBeacon(id='airfield7_2', runway_name='25-07', runway_id=1, runway_side='25'), RunwayBeacon(id='airfield7_5', runway_name='25-07', runway_id=1, runway_side='25')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-66660.3515625, -348583.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA32', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-66653.4296875, -348694.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-66674.0625, -348553.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-66695.0703125, -348550.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-66721.546875, -348603.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA34', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-66694.2734375, -348607.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA33', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-66715.3125, -348548.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-66734.6953125, -348546.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-66753.109375, -348544.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='GA31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-67271.1015625, -348928.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-67477.546875, -350441.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-67597.625, -350495.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-66772.0859375, -349400.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-66783.171875, -348878.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-66627.5078125, -348101, self._terrain), large=False, heli=True, + airplanes=True, slot_name='12', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-66609.53125, -348032.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='11', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-67267.9453125, -348902.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-67264.90625, -348875.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-67329.984375, -348867.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-67333.0703125, -348894.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-67336.046875, -348921.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-67315.75, -348734.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-67318.84375, -348760.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-67321.8125, -348787.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-67256.875, -348795.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-67253.71875, -348768.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-67250.6796875, -348741.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-66607.7265625, -348479.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-66617.1484375, -348364.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='19', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-66732.75, -348155.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='15', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-67666.8515625, -350574.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-67804.375, -350472.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-67884.359375, -350571.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-67751.6953125, -350349.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-67633.9375, -350352.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-66819.578125, -349141.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-66803.171875, -349032.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-67944.6015625, -350469.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-67956.4453125, -350319.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-67925.4375, -350198.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-67405.4296875, -349966.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-67538.0390625, -349932.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-67528.234375, -350082, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-67594.78125, -349830.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-67797.2109375, -350119.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-67685.6015625, -350164.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-67774.328125, -349929.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='L13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-67668.3671875, -349954.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-67656.125, -349734.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-67399.1875, -349812.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K06', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-67459.2734375, -349735.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K09', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-66747.3671875, -348788.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-67603.84375, -349309.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-67412.8828125, -349484.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-67419, -349401.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(-67388.5546875, -349319.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(-67499.625, -349661.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(-67482.28125, -349301.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(-67655.9765625, -349559.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(-67588.84375, -349652, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(-67540.2421875, -349313.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K17', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(-67339.0078125, -349134.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(-67625.671875, -349195.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(-67630.7265625, -349093.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K23', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(-67544.40625, -349225.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(-67732.1875, -349335.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(-67764.234375, -349233.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(-67840.6171875, -348929.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(-67139.9765625, -347530.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(-67775.2109375, -348824.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(-67677.7734375, -348855.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='K26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(-67655.3359375, -348760.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K28', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(-67820.21875, -348757.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K29', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(-67618.5546875, -348461.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K30', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(-67438.65625, -348359.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K31', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(-67190.9296875, -347457, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(-67207.8984375, -347366.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(-67106.6640625, -347275.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(-67061.5546875, -347353.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(-66974.8359375, -346630.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(-66936.796875, -346466.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(-67102.5703125, -346793.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(-67174.6015625, -346865.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(-67073.921875, -346880.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(-67152.9375, -346973.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(-67239.5625, -346929.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(-67295.921875, -347008.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(-67342.0859375, -347096.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(-67307.75, -347198.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(-67206.1875, -347045.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(-67180.5546875, -347167.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='G06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(-66877.4609375, -349750.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(-66936.671875, -349819.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='Z01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(-66860.5234375, -349641.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='W02', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Severomorsk_1(Airport): + id = 8 + name = "Severomorsk-1" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4400000, vhf_low_hz=39700000, vhf_high_hz=127800000, uhf_hz=251200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(164318.273438, 430555.578125, terrain), terrain) + + self.runways.append(Runway(id=1, name='14-32', main=RunwayApproach(name='14', heading=140, beacons=[]), opposite=RunwayApproach(name='32', heading=320, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(166292.328125, 429242.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(166298.75, 429125.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(166284.34375, 429144.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(166270.9375, 429163.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(166257.015625, 429181.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(166171.703125, 429372.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(166243.203125, 429086.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(166228.625, 429104.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(166214.875, 429123.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(166201.4375, 429142.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(166187.5625, 429161.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(166227.53125, 429332.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(166100.71875, 429260.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(166139.03125, 429404.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(166105.09375, 429436.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(166072.296875, 429468.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(166006.5, 429532.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A06', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(166039.921875, 429501.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A05', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(165764.796875, 429578.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A07', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(165726.453125, 429581.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A08', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(165688.59375, 429585.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A09', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(165651.484375, 429589.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A10', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(165551.078125, 429595.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C04', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(163802.0625, 430311.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H6', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(163815.375, 430292.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H7', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(163828.546875, 430273.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H8', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(163842, 430254.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H9', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(163876.4375, 430363.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(163890.546875, 430344.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(163903.8125, 430325.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(163916.734375, 430305.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(163775.09375, 430350.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H4', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(163788.109375, 430330.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H5', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(163849.171875, 430400.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(163863.28125, 430382.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(164025.765625, 430314.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A19', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(164185.546875, 430233.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A18', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(165921.484375, 429631.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(165919.828125, 429669.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(165918.078125, 429709.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(165916.25, 429748.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(165852.875, 429746.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(165853.734375, 429706.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(165855.40625, 429666.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(165857.765625, 429628.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='W02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(166062.078125, 429320.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(166031.046875, 429349.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(165983.453125, 429361.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(165936.40625, 429445.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(165873.78125, 429458.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(164060.296875, 431391.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(164489.125, 431488.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(164571.296875, 431547.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F17', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(164669.203125, 431571.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(164631.234375, 431704.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F21', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(164728.3125, 431679.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F20', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(164772.703125, 431554.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F19', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(164388.15625, 431352.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F28', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(164541.609375, 431760.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F23', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(164446.625, 431803.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F24', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(164640.6875, 429660.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C06', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(164565.28125, 429695.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C07', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(164486.125, 429728.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C08', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(164608.109375, 430040.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C05', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(163684.734375, 430533.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H1', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(163712.53125, 430491.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H2', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(163744.5, 430444.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H3', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Olenya(Airport): + id = 9 + name = "Olenya" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4425000, vhf_low_hz=39750000, vhf_high_hz=131400000, uhf_hz=251250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(68386.710938, 451986.390625, terrain), terrain) + + self.runways.append(Runway(id=1, name='19-01', main=RunwayApproach(name='19', heading=190, beacons=[]), opposite=RunwayApproach(name='01', heading=10, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(66987.6875, 451434.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(67069.234375, 451445.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(67733.1875, 451562, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(67656.65625, 451551.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(67582.140625, 451540.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B05', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(67507.3359375, 451530.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(67428.921875, 451519.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(67355.3828125, 451508.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(67284.25, 451499.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(67816.7890625, 451606.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(67860.0234375, 451612.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(67903.15625, 451618.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(67946.390625, 451624.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(67988.5546875, 451630.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(68031.7890625, 451636.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(68074.921875, 451642.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(68118.15625, 451648.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(68160.921875, 451654.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(68204.15625, 451660.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(68247.2890625, 451666.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(68290.5234375, 451672.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(68332.6875, 451679.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(68375.9296875, 451685.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(68419.0546875, 451691.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(68462.296875, 451697.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(68505.5, 451702.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F17', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(68548.734375, 451708.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(68590.8984375, 451715.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F19', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(68634.140625, 451721.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F20', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(68677.265625, 451727.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F21', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(68720.5078125, 451733.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F22', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(68761.296875, 451739.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F23', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(68804.4296875, 451745.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F24', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(68887.2890625, 451699.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B08', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(68943.2421875, 451707.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B09', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(68995.6953125, 451715.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B10', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(69052.046875, 451723.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B11', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(69205.9140625, 451757.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B12', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(69251.9453125, 451765.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B13', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(69300.2421875, 451771.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B15', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(69347.484375, 451777.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B16', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(69393.8203125, 451784.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B17', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(69193.921875, 451642.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(69207.2734375, 451545.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(70262.65625, 451478.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E09', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(70168.59375, 451438.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E08', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(70054.4765625, 451432.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(69946.796875, 451430.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(69851.0546875, 451428.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E05', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(69728.5625, 451461.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(69680.59375, 451550.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(69623.0078125, 451656.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E02', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(69578.421875, 451738.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E01', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(69292.5234375, 451220.53014259, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(69284.445589352, 451277.43528518, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D06', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(69276.237163735, 451334.02484197, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D05', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(69268.31026497, 451390.6280858, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D04', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(69260.604628087, 451447.22017468, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D03', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(69699.953125, 450826.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D12', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(69787.0546875, 450728.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D13', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(69631.4296875, 450904.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D11', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(69520.4140625, 450958.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D10', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(69417.8046875, 450965.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D09', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(69316.8828125, 450972.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D08', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(69662.9140625, 451842.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B18', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(69793.3984375, 451861.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B19', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(69870.4921875, 451871.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand01', length=60.0, width=52.0, height=18.0, shelter=False)) + + +class Monchegorsk(Airport): + id = 10 + name = "Monchegorsk" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3800000, vhf_low_hz=38500000, vhf_high_hz=118250000, uhf_hz=250100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(46867.561851, 437312.674304, terrain), terrain) + + self.runways.append(Runway(id=1, name='01-19', main=RunwayApproach(name='01', heading=10, beacons=[]), opposite=RunwayApproach(name='19', heading=190, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(46124.52734375, 436935.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(46142.1015625, 436937.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(46106.88671875, 436934.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(46177.171875, 436939.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(46194.73828125, 436941.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(46159.42578125, 436938.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(46212.3125, 436942.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(46229.65625, 436943.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(46264.7109375, 436945.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(46247.07421875, 436944.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='K02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(45864.591392535, 437242.44888839, self._terrain), large=False, heli=True, + airplanes=True, slot_name='J01', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(46736.31640625, 436790.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B15', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(46765.0703125, 436807, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(46707.96484375, 436774.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(46794.51953125, 436824.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(46823.29296875, 436840.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(46857.22265625, 436858.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(47731.046875, 437289.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(47725.20703125, 437308.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(47718.65234375, 437329.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(47712.453125, 437350.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(47706.06640625, 437369.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(47700.15234375, 437390.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(47693.25390625, 437412.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(47687.1328125, 437432.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(47829.71875, 437203.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(47793.59375, 437279.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(48064.234375, 437398.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(48050.82421875, 437382.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(46053.23046875, 436738.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(46024.15625, 436738.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(46911.05078125, 436996.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(46992.6015625, 437044.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(47628.09765625, 437281.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(46914.52734375, 436902.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(46944.18359375, 436919.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(46972.08984375, 436935.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(47002.4921875, 436953.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(47030.703125, 436969.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(47060.3046875, 436986.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(47088.01953125, 437004.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(47116.1953125, 437020.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(47145.0078125, 437037.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(46886.28125, 436885.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(45849.109375, 436660.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(45799.615872456, 436749.71764212, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(46131.99609375, 437271.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='J02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(45779.300244836, 436819.83314653, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(45132.1015625, 436312.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(45696.217604629, 436873.66622598, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(45704.534276165, 436845.67919332, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(46451.4375, 436793.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(45685.40625, 437180.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='G01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(47317.82421875, 437213.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(47498.2109375, 437104.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(47411.765625, 437233.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(47491.046875, 437256.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(47181.8671875, 437166.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(47251.84765625, 437188.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(47747.87890625, 437211.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(47557.0234375, 437133.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(47933.1796875, 437185.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(47972.66015625, 437224.21875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(47998.0546875, 437284.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(48042.68359375, 437318.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(47960.27734375, 437397.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(47241.19140625, 437025.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A17', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(47302.22265625, 437040.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(47366.73828125, 437062.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='A13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(45548.55859375, 437202.90625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='G03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(45522.1796875, 437261.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='G05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(45624.0234375, 437301.8125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='G04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(45653.640625, 437242.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='G02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=75, position=mapping.Point(46562.69921875, 436896.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=76, position=mapping.Point(46486.3671875, 436874.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=77, position=mapping.Point(46256.0078125, 436760.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=78, position=mapping.Point(46365.62890625, 436775.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=79, position=mapping.Point(46161.69921875, 436760.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=80, position=mapping.Point(46099.4453125, 436755.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=81, position=mapping.Point(45350.19921875, 436406.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=82, position=mapping.Point(45402.11328125, 436431, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=83, position=mapping.Point(45320.21484375, 436524.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=84, position=mapping.Point(45411.3984375, 436578.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=85, position=mapping.Point(45460.7734375, 436652.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=86, position=mapping.Point(45519.41796875, 436683.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=87, position=mapping.Point(45591.078125, 436681.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='I02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=88, position=mapping.Point(46258.95703125, 436664.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=89, position=mapping.Point(46162.6875, 436653.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=90, position=mapping.Point(45994.78125, 436799.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=91, position=mapping.Point(45916.9453125, 436800.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=92, position=mapping.Point(45844.51953125, 436756.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=93, position=mapping.Point(45983.125, 436644.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=94, position=mapping.Point(45931.42578125, 436640.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=95, position=mapping.Point(45792.858298527, 436773.20814653, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=96, position=mapping.Point(45786.143994836, 436796.33176492, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=97, position=mapping.Point(45705.42578125, 436711.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='I01', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Jokkmokk(Airport): + id = 11 + name = "Jokkmokk" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3825000, vhf_low_hz=38550000, vhf_high_hz=123300000, uhf_hz=250150000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-168129.9375, -100661.414063, terrain), terrain) + + self.runways.append(Runway(id=1, name='14-32', main=RunwayApproach(name='14', heading=140, beacons=[]), opposite=RunwayApproach(name='32', heading=320, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-166550.140625, -100963.2421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand01', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-166216.609375, -100355.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand02', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-165785.125, -99880.2578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand03', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-165729.4375, -99852.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand04', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-165615.3125, -99804.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand05', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-165557.859375, -99779.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand06', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-165497.5625, -99762, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand07', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-165438, -99751.7890625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand08', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-165373.609375, -99741.640625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand09', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-165315.765625, -99735.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand10', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-165257.390625, -99732.5703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand11', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-165196.703125, -99728.7421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand12', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-164877.265625, -99514.9765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand13', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-164852.078125, -99463.0859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand14', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-164826.96875, -99408.734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand15', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-164797.203125, -99348.890625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand16', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-164710.90625, -99257.8828125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand17', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-164657.484375, -99221.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand18', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-164599.015625, -99194.859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand19', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-164532.859375, -99185.2265625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand20', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-164464.359375, -99189.1171875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Stand21', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-167866.890625, -100746.9609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-167890.8125, -100730.5234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-167913.671875, -100714.140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-167936.890625, -100697.984375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-167960.6875, -100681.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-167984.359375, -100664.640625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-168008.234375, -100647.828125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-168031.453125, -100631.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-168230.140625, -100492.1484375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-168206.859375, -100508.4765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-168182.859375, -100525.4140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-168159.078125, -100541.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-168135.265625, -100558.6328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-168111.6875, -100575.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-168445.078125, -100342.203125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q20', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-168421.40625, -100358.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q19', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-168397.53125, -100374.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q18', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-168373.875, -100391.515625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q17', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-168350.0625, -100408.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-168326.546875, -100424.1015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q15', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Murmansk_International(Airport): + id = 12 + name = "Murmansk International" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = True + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3850000, vhf_low_hz=38600000, vhf_high_hz=127300000, uhf_hz=250200000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(131730.496094, 409479, terrain), terrain) + + self.runways.append(Runway(id=1, name='13-31', main=RunwayApproach(name='13', heading=130, beacons=[RunwayBeacon(id='airfield12_1', runway_name='13-31', runway_id=1, runway_side='13'), RunwayBeacon(id='airfield12_3', runway_name='13-31', runway_id=1, runway_side='13')]), opposite=RunwayApproach(name='31', heading=310, beacons=[RunwayBeacon(id='airfield12_2', runway_name='31-13', runway_id=1, runway_side='31'), RunwayBeacon(id='airfield12_0', runway_name='31-13', runway_id=1, runway_side='31')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(131927.1875, 409564.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A9', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(131957.546875, 409593.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A7', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(131987.890625, 409622.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A5', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(132018.484375, 409652.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A3', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(132048.953125, 409681.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A1', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(132146.90625, 409576.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A2', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(132112.15625, 409543.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A4', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(132074.78125, 409507.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A6', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(132036.453125, 409467.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A8', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(132377.46875, 409181.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B5', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(132422.46875, 409229.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B6', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(132388.234375, 409265.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B4', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(132343.03125, 409309.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B2', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(132307.265625, 409251.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B1', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(132260.28125, 409241.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='PP', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(132341.640625, 409217.21875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='B3', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(132233.46875, 409303.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C1', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(132251.890625, 409323.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C2', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(132270.40625, 409342.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C3', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(132289.078125, 409361.46875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C4', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(132307.625, 409380.4375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C5', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(132325.734375, 409399.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C6', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(132344.171875, 409417.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C7', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(132189.875, 409346.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C13', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(132209, 409365.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C12', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(132227.515625, 409384.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C11', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(132245.953125, 409404.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='C10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(131094.046875, 410512.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=61.0, width=61.0, height=20.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(131225.296875, 410377.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=61.0, width=61.0, height=20.0, shelter=False)) + + +class Kalixfors(Airport): + id = 13 + name = "Kalixfors" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3875000, vhf_low_hz=38650000, vhf_high_hz=118300000, uhf_hz=301100000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-26773.458984, -94330.128906, terrain), terrain) + + self.runways.append(Runway(id=1, name='17-35', main=RunwayApproach(name='17', heading=170, beacons=[]), opposite=RunwayApproach(name='35', heading=350, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-26574.47265625, -93873.390625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-26558.90234375, -93920.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-26543.853515625, -93964.734375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-26528.845703125, -94010.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-26513.2734375, -94057.2734375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-26498.265625, -94103.1640625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-26483.26953125, -94147.1796875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-26468.259765625, -94193.0703125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-26452.689453125, -94239.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-26986.921875, -93969.828125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-26954.1484375, -93922.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-26923.169921875, -93876.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-26891.169921875, -93831.2734375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-27116.623046875, -94154.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-27083.849609375, -94107.515625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-27052.87109375, -94061.609375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-27020.87109375, -94016.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='P04', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Kirkenes(Airport): + id = 14 + name = "Kirkenes" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3900000, vhf_low_hz=38700000, vhf_high_hz=120350000, uhf_hz=250250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(216627.87565, 280054.90785, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield14_0')) + self.runways.append(Runway(id=1, name='23-05', main=RunwayApproach(name='23', heading=230, beacons=[]), opposite=RunwayApproach(name='05', heading=50, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(216198.375, 280298.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(216148.265625, 279965.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y20', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(216183.625, 279946.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y21', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(216219.8125, 279925.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y22', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(216224.421875, 279872.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y23', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(216180.421875, 279790.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y25', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(216203.6875, 279830.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y24', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(216439.546875, 280225.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E01', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(216029.421875, 279384.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(216049.90625, 279422.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Kallax(Airport): + id = 15 + name = "Kallax" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3925000, vhf_low_hz=38750000, vhf_high_hz=128200000, uhf_hz=250300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-274102.5, -10878.522949, terrain), terrain) + + self.runways.append(Runway(id=None, name='14-32', main=RunwayApproach(name='14', heading=140, beacons=[]), opposite=RunwayApproach(name='32', heading=320, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-274815.1875, -10584.447265625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-274828.90625, -10570.303710938, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-273989.125, -11813.73046875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-273973.21875, -11797.055664062, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-273957.3125, -11780.379882812, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-273941.34375, -11763.583007812, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-273925.1875, -11746.590820312, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-273923.125, -11498.45703125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='U06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-273952.3125, -11483.748046875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='U07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-273987.3125, -11466.176757812, self._terrain), large=False, heli=True, + airplanes=False, slot_name='U08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-274016.4375, -11451.221679688, self._terrain), large=False, heli=True, + airplanes=False, slot_name='U09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-274051.40625, -11433.528320312, self._terrain), large=False, heli=True, + airplanes=False, slot_name='U10', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-273867.53125, -11667.065429688, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U11', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-274842.71875, -10555.932617188, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-274856.6875, -10541.9453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-274870.90625, -10527.833007812, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-274884.75, -10513.677734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-274898.8125, -10499.607421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-274912.65625, -10485.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-274473.96875, -10924.014648438, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-274487.78125, -10909.90234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-274501.9375, -10896.04296875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-274515.84375, -10881.76171875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-274529.78125, -10867.564453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-274543.71875, -10853.452148438, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-274557.75, -10839.33984375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-274571.5, -10825.142578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-273825.8125, -11623.73828125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U12', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-273788.1875, -11584.235351562, self._terrain), large=False, heli=True, + airplanes=True, slot_name='U13', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-273472.875, -10963.077148438, self._terrain), large=False, heli=True, + airplanes=True, slot_name='20', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-273536.28125, -10922.2421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='3', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-273571.3125, -10885.215820312, self._terrain), large=False, heli=True, + airplanes=True, slot_name='4', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-273609.875, -10848.211914062, self._terrain), large=False, heli=True, + airplanes=True, slot_name='5', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-273617.28125, -10795.81640625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='7', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-273636.28125, -10754.869140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='8', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-273817.71875, -10602.616210938, self._terrain), large=False, heli=True, + airplanes=True, slot_name='101', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-273843.8125, -10628.200195312, self._terrain), large=False, heli=True, + airplanes=False, slot_name='102', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-273396.5, -11014.509765625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='112', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-273416.28125, -11100.953125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='111', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-274531.8125, -11017.05078125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='U15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-274548.75, -11032.303710938, self._terrain), large=False, heli=False, + airplanes=True, slot_name='U14', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Kuusamo(Airport): + id = 16 + name = "Kuusamo" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3950000, vhf_low_hz=38800000, vhf_high_hz=118650000, uhf_hz=250350000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-200527.164063, 310573.234375, terrain), terrain) + + self.runways.append(Runway(id=1, name='12-30', main=RunwayApproach(name='12', heading=120, beacons=[]), opposite=RunwayApproach(name='30', heading=300, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-199686.53125, 309760.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-199724.921875, 309826.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-199755.8125, 309889.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-199798.84375, 309950.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-199852.953125, 309930.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='05', length=36.0, width=36.0, height=15.0, shelter=False)) + + +class Vidsel(Airport): + id = 17 + name = "Vidsel" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3975000, vhf_low_hz=38850000, vhf_high_hz=119200000, uhf_hz=250400000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-237355.53125, -101474.101563, terrain), terrain) + + self.runways.append(Runway(id=1, name='11-29', main=RunwayApproach(name='11', heading=110, beacons=[]), opposite=RunwayApproach(name='29', heading=290, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-237200.46875, -102211.046875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-236817.671875, -102753.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='H01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-236890.6875, -102714.2265625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='H02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-236950.140625, -102571.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='H04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-236897.796875, -102621.1953125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='H03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-237191.34375, -102229.1015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-237182.109375, -102246.890625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-237172.953125, -102264.7734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-237163.71875, -102282.7421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-237154.640625, -102300.4453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-237247.109375, -102122.3359375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-236483.609375, -102519.0546875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E07', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-237342.9375, -100920.015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E08', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-237330.765625, -100571.921875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E09', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-235449.84375, -104586.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-235486.53125, -104526.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-235521.703125, -104473.578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-235557.734375, -104416.9453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-235593.625, -104364.6015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-235204.046875, -104935.9140625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='E01', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Ivalo(Airport): + id = 18 + name = "Ivalo" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4000000, vhf_low_hz=38900000, vhf_high_hz=118000000, uhf_hz=250450000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(80495.585938, 197621.367188, terrain), terrain) + + self.runways.append(Runway(id=1, name='22-04', main=RunwayApproach(name='22', heading=220, beacons=[]), opposite=RunwayApproach(name='04', heading=40, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(80505.1328125, 198340.046875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(80639.4375, 198100.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(80797.890625, 198206.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D01', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(80509.6484375, 198414.90625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(80515.125, 198489.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(80520.234375, 198564.484375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(80525.1328125, 198639.296875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(80530.2265625, 198714.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(80535.4140625, 198788.890625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(80540.90625, 198863.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(80609.1875, 198091.140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(80584.921875, 198122.140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D07', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(80555.3828125, 198157.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D08', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(80523.4921875, 198191.640625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D09', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(80674.5, 198131.671875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='D04', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Alakurtti(Airport): + id = 19 + name = "Alakurtti" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4025000, vhf_low_hz=38950000, vhf_high_hz=118350000, uhf_hz=250500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-84651.667969, 344113.5, terrain), terrain) + + self.runways.append(Runway(id=1, name='30-12', main=RunwayApproach(name='30', heading=300, beacons=[]), opposite=RunwayApproach(name='12', heading=120, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-84031.1875, 343547.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-84011.6875, 343517.53125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-83992.09375, 343487.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-83971.367087004, 343457.84375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-83951.027576343, 343428.09558683, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-83913.596825256, 343366.59189375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-83932.236211829, 343397.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-84881.595145556, 344887.54778146, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-84902.601381208, 344920.55072995, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-84923.112520053, 344953.73863932, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-84860.751395556, 344854.70917936, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-84839.860407973, 344821.48013356, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P05', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-84819.302874584, 344788.63674614, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P06', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-84798.477051598, 344755.65438926, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P07', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-84777.595298112, 344722.7732812, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P08', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-84756.65625, 344693.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-84737.2265625, 344663.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-84718.015625, 344632.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-84698.5546875, 344602.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-84679.2109375, 344572.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-84659.953125, 344541.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-84640.484375, 344511.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P15', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Andoya(Airport): + id = 20 + name = "Andoya" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4075000, vhf_low_hz=39050000, vhf_high_hz=118200000, uhf_hz=250600000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(151539.578125, -254451.789063, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield20_1')) + self.beacons.append(AirportBeacon(id='airfield20_0')) + self.runways.append(Runway(id=1, name='14-32', main=RunwayApproach(name='14', heading=140, beacons=[]), opposite=RunwayApproach(name='32', heading=320, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(150204.375, -254196.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E01', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(149771.640625, -254071.328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E02', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(149461.828125, -254392.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E03', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(149429.515625, -254845.796875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E04', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(149838.484375, -254665.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='E05', length=60.0, width=60.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(150211.203125, -253548.859375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(150157.859375, -253417.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(152749.46875, -254760.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(152841.046875, -254698.609375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(152953.96875, -254624.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(152871.5, -254534.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(152756.921875, -254513.328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(152738.890625, -254660.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(152649.203125, -254563.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A06', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(152645.359375, -254727.953125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A07', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(152517.640625, -254649.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A08', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(152476.546875, -254638.984375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A09', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(152438.84375, -254628.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(150048.46875, -253416.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(150044.046875, -253211.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(150118.859375, -253151.765625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(149945.84375, -253304.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(149852.375, -253308.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(149786.640625, -253212.640625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(149841.078125, -253132.953125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(149847.765625, -253021.359375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(149968.46875, -252994.171875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(149946.578125, -253140.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(149999.203125, -253045.546875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(150105.796875, -253015.546875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(150232.375, -253208.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(150224.84375, -253325.078125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(150322.4375, -253262.96875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(150329.40625, -253454.421875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(150467.359375, -253419.265625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(150650.671875, -253733.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(150753.796875, -253743.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(150773.609375, -253837.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(150892.5, -253850.0625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(150961.1875, -253941.015625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(151048.8125, -253888.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='B32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(151561.453125, -254874.390625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(151572.9375, -255024.171875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(151750.1875, -255032.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(151771.65625, -255200.453125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(151774.953125, -255315.984375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(151882.84375, -255034.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(151924.4375, -255183.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(152066.59375, -255122.71875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(152075.515625, -255227.078125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(152159.296875, -255240.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(152157.546875, -255301.359375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(152174.40625, -255539.453125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(152303, -255605.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(152358.765625, -255452.140625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(152405.828125, -255461.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(152422.34375, -255365.078125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(152416.8125, -255297.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(152542.078125, -255371, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(152480.390625, -255541.984375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(152400.359375, -255576.109375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(151897.578125, -255404.546875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(151758.546875, -254173, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A24', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(151643.515625, -254195.734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A25', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(151937.203125, -254330.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A22', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(151812.359375, -254276.859375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='A23', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(152044.3125, -254438.265625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A21', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(152222.171875, -255198.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C23', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Bardufoss(Airport): + id = 21 + name = "Bardufoss" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4100000, vhf_low_hz=39100000, vhf_high_hz=118100000, uhf_hz=250650000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(118870.59375, -160678.242188, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield21_1')) + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[RunwayBeacon(id='airfield21_2', runway_name='28-10', runway_id=1, runway_side='28'), RunwayBeacon(id='airfield21_0', runway_name='28-10', runway_id=1, runway_side='28')]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(118656.765625, -161458.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(118678.6484375, -161816.953125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(118754.03125, -161684.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(118107.34375, -159904.390625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R13', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(118515.5, -160414.640625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='X01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(118246.984375, -159656.765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R16', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(118546.3046875, -161757.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(118498.9921875, -161707.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I08', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(118833.4921875, -161368.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='J04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(118946.2734375, -161392.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(118638.7578125, -161818.09375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(119341.7890625, -160954.046875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='L04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(119465.953125, -161680.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(119169.515625, -160546.734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(118298.2109375, -160220.921875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(119390.9296875, -161498.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(118857.984375, -161448.328125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(119201.9453125, -160701.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(119350.515625, -160992.265625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='L03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(118383.3359375, -159999.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='X04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(118308.5703125, -159904.703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='X05', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(118116.5703125, -159967.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R11', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(119370.53125, -161443.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(118473.515625, -161680.359375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I09', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(118795.4140625, -161476.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='J06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(118880.0078125, -161341.828125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='J02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(119328.875, -161303.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(119455.46875, -161655.359375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(119476.9921875, -161707.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(119176.703125, -160571.484375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(119380.15625, -161471.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(118902.90625, -161281.890625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(119198.1015625, -160661.765625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(118121.65746038, -160343.04854745, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(119488.234375, -161734.953125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(119184.703125, -160600.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(119444.765625, -161629.359375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(119321.078125, -161275.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y17', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(119305.75, -161221.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y19', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(118721.53125, -161504.109375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(118087.78125, -160100.453125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(118719.203125, -161814.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(119204.3671875, -160726.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(118715.3671875, -161578.921875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(118111.8515625, -159935.328125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R12', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(118229.29467376, -160077.9214574, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(119434.1953125, -161603.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(118570.0859375, -161782.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(119313.453125, -161248.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y18', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(118191.7734375, -160447.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(119163.296875, -160527.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(119275.0546875, -160793.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='L01', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(118635.171875, -161680.765625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(118103.7265625, -159709.140625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(119156.296875, -160509.046875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(119412.5390625, -161550.921875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(119423.40625, -161577.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=59, position=mapping.Point(118122.1796875, -160180.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=60, position=mapping.Point(119344.5859375, -161358.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=61, position=mapping.Point(118213.71875, -159953.390625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R10', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=62, position=mapping.Point(119352.65625, -161386.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=63, position=mapping.Point(118580.703125, -160608.453125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=64, position=mapping.Point(118382.65625, -160185.734375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='X03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=65, position=mapping.Point(119192.4921875, -160630.984375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='P15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=66, position=mapping.Point(118598.7109375, -161811.796875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=67, position=mapping.Point(118522.9453125, -161732.484375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='I07', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=68, position=mapping.Point(119336.7109375, -161330.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=69, position=mapping.Point(119304.9140625, -160873.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='L02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=70, position=mapping.Point(118294.92944758, -160485.80831031, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=71, position=mapping.Point(118102.578125, -159872.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='R14', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=72, position=mapping.Point(118472.2734375, -160241.296875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='X02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=73, position=mapping.Point(118331.63482351, -160344.00563428, self._terrain), large=False, heli=False, + airplanes=True, slot_name='R03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=74, position=mapping.Point(119401.625, -161524.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Y09', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Kittila(Airport): + id = 22 + name = "Kittila" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4125000, vhf_low_hz=39150000, vhf_high_hz=118950000, uhf_hz=250700000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-29037.706055, 100101.597656, terrain), terrain) + + self.runways.append(Runway(id=1, name='16-34', main=RunwayApproach(name='16', heading=160, beacons=[]), opposite=RunwayApproach(name='34', heading=340, beacons=[RunwayBeacon(id='airfield22_1', runway_name='34-16', runway_id=1, runway_side='34'), RunwayBeacon(id='airfield22_0', runway_name='34-16', runway_id=1, runway_side='34')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(-29580.435546875, 100552.2734375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A06', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(-29390.44140625, 100500.5078125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A10', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-29808.169921875, 100630.015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-29480.77734375, 100529.0859375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A08', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-29346.59765625, 100486.609375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A11', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-29436.970703125, 100515.203125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A09', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-29852.1953125, 100643.5703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-29702.62890625, 100587.6015625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-29632.015625, 100565.578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A05', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-29764.609375, 100616.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=40.0, width=40.0, height=12.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-29530.0703125, 100540.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A07', length=40.0, width=40.0, height=12.0, shelter=False)) + + +class Hosio(Airport): + id = 23 + name = "Hosio" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-227262.609375, 151497.34375, terrain), terrain) + + self.runways.append(Runway(id=None, name='24-6', main=RunwayApproach(name='24', heading=240, beacons=[]), opposite=RunwayApproach(name='6', heading=60, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-226654.640625, 152562, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-226678.734375, 152534.296875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N04', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-227828.875, 150499.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-227805.078125, 150530.109375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='N01', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Alta(Airport): + id = 24 + name = "Alta" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4150000, vhf_low_hz=39200000, vhf_high_hz=120400000, uhf_hz=250750000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(221465.984375, 27686.098633, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield24_2')) + self.runways.append(Runway(id=1, name='29-11', main=RunwayApproach(name='29', heading=290, beacons=[RunwayBeacon(id='airfield24_1', runway_name='11-29', runway_id=1, runway_side='29'), RunwayBeacon(id='airfield24_0', runway_name='11-29', runway_id=1, runway_side='29')]), opposite=RunwayApproach(name='11', heading=110, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(221437.78125, 27290.884765625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(221425.359375, 27317.90234375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(221356.90625, 27309.84765625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(221624.09375, 26862.73046875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(221604.46875, 26897.990234375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(221584.984375, 26933.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(221565.578125, 26968.8515625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(221545.984375, 27004.1796875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A05', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(221526.171875, 27039.19140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A06', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(221392.390625, 27353.609375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Evenes(Airport): + id = 25 + name = "Evenes" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4175000, vhf_low_hz=39250000, vhf_high_hz=118000000, uhf_hz=250800000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(60208.767578, -239417.101563, terrain), terrain) + + self.beacons.append(AirportBeacon(id='airfield25_2')) + self.beacons.append(AirportBeacon(id='airfield25_3')) + self.runways.append(Runway(id=1, name='17-35', main=RunwayApproach(name='17', heading=170, beacons=[RunwayBeacon(id='airfield25_1', runway_name='17-35', runway_id=1, runway_side='17'), RunwayBeacon(id='airfield25_0', runway_name='17-35', runway_id=1, runway_side='17')]), opposite=RunwayApproach(name='35', heading=350, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(60355.4453125, -239202.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='21', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(60300.84765625, -239204.296875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='22', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(60226.48828125, -239206.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='23', length=60.0, width=52.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(60150.99609375, -239209.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='24', length=41.0, width=41.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(60109.14453125, -239189.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='25', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(60068.91796875, -239184.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(60018.484375, -239191.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='26B', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(60034.09765625, -239142.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='27', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(60032.84765625, -239101.703125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='28', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(60031.3828125, -239061.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='29', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(60030.16796875, -239021.171875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='30', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(58456.32421875, -239934.421875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Mil_05', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(58481.828125, -239884.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Mil_04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(58507.00390625, -239835.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Mil_03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(58532.6640625, -239786.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Mil_02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(58557.375, -239736.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Mil_01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(58830.453125, -239208.015625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(58807.3984375, -239093.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(58729.06640625, -239157.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(58715.5234375, -239009.015625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(58694.66796875, -238876.734375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M37', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(58792.4375, -238914.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M39', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(58562.203125, -239107.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(58580.3828125, -238947.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M35', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(58574.3984375, -238835.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M36', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(58559.76953125, -238726.953125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M58', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(58604.33984375, -238576.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M57', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(58697.49609375, -238554.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M56', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(58745.08984375, -238662.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M55', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(58807.9609375, -238560.40625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M54', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(58914.578125, -238634.03125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M52', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(58846.88671875, -238720.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M53', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(58896.375, -238805.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M310', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(58886.32421875, -238946.671875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M311', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(58940.1796875, -239172.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(59030.5625, -239084.734375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(59054.984375, -239012.046875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(59033.921875, -238724.171875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M51', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(59152.47265625, -238829.515625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(59175.47265625, -239069.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(59147.03125, -239200.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(59247.41015625, -239172.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M44', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(59295.04296875, -239007.765625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M43', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(59369.1171875, -239206.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(59456.015625, -239141.84375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(59433.00390625, -239045.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M41', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(59343.50390625, -239122.984375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M42', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(59300.06640625, -238817.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(59395.01953125, -238896.671875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(59566.2890625, -239012.109375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(59576.1484375, -238916.359375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(59623.51171875, -238762.453125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(58730.19921875, -238765.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='M38', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(58786.6796875, -239290.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF_02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(58745.96484375, -239283.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF_01', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(59904.94140625, -238928.609375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(59866.7890625, -238839.484375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='J02', length=26.0, width=22.0, height=11.0, shelter=False)) + + +class Enontekio(Airport): + id = 26 + name = "Enontekio" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4200000, vhf_low_hz=39300000, vhf_high_hz=119700000, uhf_hz=250850000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(41616.833984, 37027.746094, terrain), terrain) + + self.runways.append(Runway(id=1, name='03-21', main=RunwayApproach(name='03', heading=30, beacons=[]), opposite=RunwayApproach(name='21', heading=210, beacons=[RunwayBeacon(id='airfield26_1', runway_name='03-21', runway_id=1, runway_side='21'), RunwayBeacon(id='airfield26_0', runway_name='03-21', runway_id=1, runway_side='21')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=0, position=mapping.Point(41126.58203125, 37026.15234375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='A04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=1, position=mapping.Point(41233.94921875, 37038.85546875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(41294.7109375, 37089.35546875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(41362.6640625, 37132.7578125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=36.0, width=36.0, height=15.0, shelter=False)) + + +class Sodankyla(Airport): + id = 27 + name = "Sodankyla" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4225000, vhf_low_hz=39350000, vhf_high_hz=123400000, uhf_hz=250900000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-57296.550781, 178052.148438, terrain), terrain) + + self.runways.append(Runway(id=1, name='16-34', main=RunwayApproach(name='16', heading=160, beacons=[]), opposite=RunwayApproach(name='34', heading=340, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-57312.56640625, 177822.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='A01', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-57338.41015625, 177810.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='A02', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-57354.55078125, 177816.390625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='A03', length=18.0, width=15.0, height=8.0, shelter=False)) + + +class Kilpyavr(Airport): + id = 28 + name = "Kilpyavr" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4250000, vhf_low_hz=39400000, vhf_high_hz=119100000, uhf_hz=250950000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(163480.617188, 389049.8125, terrain), terrain) + + self.runways.append(Runway(id=1, name='21-03', main=RunwayApproach(name='21', heading=210, beacons=[]), opposite=RunwayApproach(name='03', heading=30, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(163919.421875, 389545.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(163946.078125, 389563.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(163975.4375, 389582.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(164002.09375, 389600.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(164031.46875, 389619.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(164058.125, 389637.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(164087.5, 389656.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(164114.15625, 389673.96875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(164143.515625, 389693.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(164170.171875, 389710.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(164199.546875, 389730.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(164226.203125, 389747.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(164255.578125, 389767, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(164282.234375, 389784.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(164311.59375, 389803.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(164338.25, 389821.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(162312.1875, 388438.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(162519.328125, 388598.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(162539.21875, 388612, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(162559.3125, 388625.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(162579.609375, 388639, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(162599.5, 388652.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B05', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(162619.578125, 388665.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B06', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(162639.296875, 388679.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B07', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(162659.1875, 388692.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B08', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(162679.28125, 388706.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B09', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(162698.921875, 388719.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B10', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(162379.25, 388482.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(162334.265625, 388453.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(162356.59375, 388467.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='QRF03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(164577.140625, 390049.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A04', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(164531.84375, 390106.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B16', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(164526.703125, 390080.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B15', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(164517.671875, 390030.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B13', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(164522.15625, 390055.6875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B14', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(164513.375, 390006.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B12', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(164563.484375, 389975.375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(164568.09375, 390000.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(164572.625, 390024.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='A03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(164508.453125, 389979.59375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B11', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(164558.3125, 390228.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C03', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(164554.203125, 390204.09375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(164550.109375, 390179.84375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=26.0, width=22.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(162824.109375, 388289.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(162772.234375, 388237.59375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(162780.859375, 388255.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(162789.21875, 388271.28125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(162935.734375, 388409.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(162916.171875, 388413.375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(162439.609375, 388624.46875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S01', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(162467.421875, 388683.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(162513.15625, 388711.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S03', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(162794.3125, 388812.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S04', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(162850.640625, 388860.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S05', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(163170.875, 389132.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S07', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=57, position=mapping.Point(163305.765625, 389249.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S08', length=20.0, width=14.0, height=6.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=58, position=mapping.Point(162990.703125, 388965.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S06', length=20.0, width=14.0, height=6.0, shelter=False)) + + +class Luostari_Pechenga(Airport): + id = 29 + name = "Luostari Pechenga" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4450000, vhf_low_hz=41200000, vhf_high_hz=119350000, uhf_hz=281300000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(187599.09375, 328063.921875, terrain), terrain) + + self.runways.append(Runway(id=1, name='20-02', main=RunwayApproach(name='20', heading=200, beacons=[]), opposite=RunwayApproach(name='02', heading=20, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(188060.40625, 328581.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(187994.8125, 328552.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(187952.328125, 328536.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(187909.78125, 328519.9375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(187867.15625, 328503.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(187827.125, 328489.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(187778.15625, 328470.75, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(187729.1875, 328452.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H08', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(187680.71875, 328434.40625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H09', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(187635.4375, 328417.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H10', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(187589.15625, 328400, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H11', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(187540.59375, 328381.71875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H12', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(187496.59375, 328365.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H13', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(187446.53125, 328346.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H14', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(187398.90625, 328328.6875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H15', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(187346.21875, 328309.3125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H16', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(187308.703125, 328294.8125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H17', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(187275.640625, 328282.34375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H18', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(187243.671875, 328270.65625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H20', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(187212.15625, 328258.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H21', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(187179.5, 328246.5625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H22', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(187145.90625, 328234.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H24', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(187112.984375, 328222.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H25', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(187050.84375, 328198.625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H27', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(187083.5, 328210.5, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H26', length=18.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(187113.515625, 328342.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H23', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(187212.140625, 328378.96875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H19', length=42.0, width=34.0, height=14.0, shelter=False)) + + +class Koshka_Yavr(Airport): + id = 30 + name = "Koshka Yavr" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4850000, vhf_low_hz=38450000, vhf_high_hz=123800000, uhf_hz=225500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(172272.046875, 338839, terrain), terrain) + + self.runways.append(Runway(id=1, name='19-01', main=RunwayApproach(name='19', heading=190, beacons=[]), opposite=RunwayApproach(name='01', heading=10, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(171334.796875, 338997.71875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C06', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(171378.4375, 339000.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C07', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(171426.890625, 339002.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C08', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(171471.1875, 339004.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C09', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(171514.828125, 339007.21875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C10', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(171556.140625, 339009.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C11', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(171598.0625, 339011.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C12', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(171639.734375, 339013.78125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C13', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(171681.53125, 339016.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C14', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(171723.453125, 339018.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C15', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(171765.921875, 339020.3125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C16', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(171808.890625, 339022.53125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C17', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(171853.90625, 339025, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C18', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(171898.78125, 339027.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C19', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(171944, 339029.65625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C20', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(171989.234375, 339032.03125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C21', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(170861.078125, 338812.40625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(170902.875, 338824.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(170943.796875, 338836.625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C03', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(170985.453125, 338848.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C04', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(171027.71875, 338861.28125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C05', length=40.0, width=38.0, height=18.0, shelter=False)) + + +class Poduzhemye(Airport): + id = 31 + name = "Poduzhemye" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3925000, vhf_low_hz=38450000, vhf_high_hz=120100000, uhf_hz=250550000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-278453.125, 561022.4375, terrain), terrain) + + self.runways.append(Runway(id=1, name='27-09', main=RunwayApproach(name='27', heading=270, beacons=[]), opposite=RunwayApproach(name='09', heading=90, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-278142.28125, 562129.4375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F01', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-278144.09375, 562083.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F02', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-278146.3125, 562036.875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F03', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-278148.125, 561990.5, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F04', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-278149.96875, 561944.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F05', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-278152.1875, 561897.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F06', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-278154.40625, 561852.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F07', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-278156.25, 561805.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F08', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-278158.4375, 561759.5625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F09', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-278160.28125, 561713.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F10', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-278162.125, 561666.75, self._terrain), large=False, heli=True, + airplanes=True, slot_name='F11', length=36.0, width=36.0, height=15.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-278306.375, 560029.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-278307.59375, 560001.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-278308.75, 559974.0625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-278309.96875, 559946.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-278311.28125, 559919.1875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-278312.5, 559891.25, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H06', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-278313.65625, 559864.125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H07', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-278677.59375, 562203.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-278683.875, 562118.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='C02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-278674.6875, 561887.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='T01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-278698.90625, 561845.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='T02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-278668.03125, 561794.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='T02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-278483.40625, 562279.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='Q01', length=21.0, width=15.0, height=8.0, shelter=False)) + + +class Kalevala(Airport): + id = 32 + name = "Kalevala" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=3775000, vhf_low_hz=38400000, vhf_high_hz=119300000, uhf_hz=301000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-273728.015625, 409821.859375, terrain), terrain) + + self.runways.append(Runway(id=1, name='20-02', main=RunwayApproach(name='20', heading=200, beacons=[]), opposite=RunwayApproach(name='02', heading=20, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-273488.625, 410088.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-273578.4375, 410040.8125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S01', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Afrikanda(Airport): + id = 33 + name = "Afrikanda" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4775000, vhf_low_hz=39900000, vhf_high_hz=121300000, uhf_hz=311000000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-13402.855469, 438922.3125, terrain), terrain) + + self.runways.append(Runway(id=1, name='28-10', main=RunwayApproach(name='28', heading=280, beacons=[]), opposite=RunwayApproach(name='10', heading=100, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-13724.593471216, 440245.54236662, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q07', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-13702.937221216, 440247.33831125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q06', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-13681.256557153, 440249.36405077, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q05', length=20.0, width=18.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-13711.449080175, 440100.84742366, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-13713.301619238, 440119.78492366, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-13714.609236425, 440138.62867366, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-13658.51953125, 440079.1875, self._terrain), large=False, heli=True, + airplanes=True, slot_name='Q01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-13840.060546875, 440097.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F18', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-13866.350585938, 440012.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F17', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-13894.047851562, 439924.875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F16', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-13875.341796875, 439852.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F15', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-13835.818359375, 439764.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F14', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-13799.23828125, 439678.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F13', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-13776.78515625, 439535.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F12', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-13782.6171875, 439442.1875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F11', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-13795.78515625, 439332, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F10', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-13807.190429688, 439222.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F09', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-13818.529296875, 439113.75, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F08', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-13799.366210938, 439033.9375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F07', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-13739.11328125, 438953.375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F06', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-13691.322265625, 438872.625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F05', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-13647.321289062, 438734.59375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F04', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-13621.377929688, 438641.78125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F03', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-13594.74609375, 438551.28125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F02', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-13566.598632812, 438459.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F01', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-13677.462890625, 438366.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F32', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-13744.459960938, 438379.125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F31', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-13755.38671875, 438445.4375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F30', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-13696.939453125, 438466.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F29', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-13812.681640625, 438817.53125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F28', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=32, position=mapping.Point(-13865.125, 438909.65625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F27', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=33, position=mapping.Point(-13917.561523438, 438967.09375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F26', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=34, position=mapping.Point(-13891.58203125, 439636.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F25', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=35, position=mapping.Point(-13929.0625, 439723.46875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F24', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=36, position=mapping.Point(-13972.12890625, 439809.6875, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F23', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=37, position=mapping.Point(-14033.091796875, 439947.3125, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F22', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=38, position=mapping.Point(-13952.1171875, 440319.34375, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F21', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=39, position=mapping.Point(-13901.71484375, 440444, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F19', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=40, position=mapping.Point(-14041.209960938, 440468.15625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F20', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=41, position=mapping.Point(-13926.228515625, 439324.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C05', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=42, position=mapping.Point(-13920.607421875, 439372.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C06', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=43, position=mapping.Point(-13757.803627139, 440240.7163554, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B03', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=44, position=mapping.Point(-13799.368080264, 440237.4038554, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B02', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=45, position=mapping.Point(-13840.949134951, 440234.6226054, self._terrain), large=False, heli=True, + airplanes=True, slot_name='B01', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=46, position=mapping.Point(-13917.4765625, 439280.0625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C04', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=47, position=mapping.Point(-13923.884765625, 439213.34375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C03', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=48, position=mapping.Point(-13928.162109375, 439169.9375, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C02', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=49, position=mapping.Point(-13934.577148438, 439104.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='C01', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=50, position=mapping.Point(-13924.485351562, 438608.5625, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F33', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=51, position=mapping.Point(-13952.624023438, 438498.25, self._terrain), large=False, heli=False, + airplanes=True, slot_name='F34', length=21.0, width=15.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=52, position=mapping.Point(-13449.612304688, 438193, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H01', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=53, position=mapping.Point(-13466.077148438, 438209.875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H02', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=54, position=mapping.Point(-13480.974609375, 438225.15625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H03', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=55, position=mapping.Point(-13496.553710938, 438241, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H04', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=56, position=mapping.Point(-13511.049804688, 438256.03125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='H05', length=20.0, width=17.0, height=8.0, shelter=False)) + + +class Boden_Heli_Base(Airport): + id = 34 + name = "Boden Heli Base" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4475000, vhf_low_hz=40150000, vhf_high_hz=118750000, uhf_hz=252250000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-244792.210938, -30945.338867, terrain), terrain) + + self.runways.append(Runway(id=1, name='13-31', main=RunwayApproach(name='13', heading=130, beacons=[]), opposite=RunwayApproach(name='31', heading=310, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-244852.046875, -31079.60546875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-244883.03125, -31040.10546875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR07', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-244901.6875, -31057.96484375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR08', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-244920.390625, -31075.880859375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR09', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-244939.203125, -31093.888671875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=7, position=mapping.Point(-244957.890625, -31111.74609375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=8, position=mapping.Point(-244976.734375, -31129.720703125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=9, position=mapping.Point(-244995.5, -31147.693359375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=10, position=mapping.Point(-245014.234375, -31165.65234375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=11, position=mapping.Point(-245033.125, -31183.67578125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=12, position=mapping.Point(-244878.671875, -31105.05859375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=13, position=mapping.Point(-244905.359375, -31130.552734375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=14, position=mapping.Point(-244931.90625, -31156.00390625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=15, position=mapping.Point(-244958.734375, -31181.607421875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=16, position=mapping.Point(-244985.453125, -31207.146484375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HR06', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=17, position=mapping.Point(-244747.71875, -31185.240234375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL01', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=18, position=mapping.Point(-244778.6875, -31145.7421875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL07', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=19, position=mapping.Point(-244797.359375, -31163.599609375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL08', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=20, position=mapping.Point(-244816.0625, -31181.515625, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL09', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=21, position=mapping.Point(-244834.875, -31199.5234375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL10', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=22, position=mapping.Point(-244853.5625, -31217.380859375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL11', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=23, position=mapping.Point(-244872.40625, -31235.35546875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL12', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=24, position=mapping.Point(-244891.171875, -31253.330078125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL13', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=25, position=mapping.Point(-244909.90625, -31271.287109375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL14', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=26, position=mapping.Point(-244928.78125, -31289.310546875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL15', length=20.0, width=17.0, height=8.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=27, position=mapping.Point(-244774.34375, -31210.693359375, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL02', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=28, position=mapping.Point(-244801.03125, -31236.189453125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL03', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=29, position=mapping.Point(-244827.578125, -31261.638671875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL04', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=30, position=mapping.Point(-244854.40625, -31287.2421875, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL05', length=30.0, width=23.0, height=10.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=31, position=mapping.Point(-244881.125, -31312.78125, self._terrain), large=False, heli=True, + airplanes=False, slot_name='HL06', length=30.0, width=23.0, height=10.0, shelter=False)) + + +class Hemavan(Airport): + id = 35 + name = "Hemavan" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = AtcRadio(hf_hz=4625000, vhf_low_hz=39950000, vhf_high_hz=122900000, uhf_hz=251500000) + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-232656.234375, -332951.640625, terrain), terrain) + + self.runways.append(Runway(id=1, name='33-15', main=RunwayApproach(name='33', heading=330, beacons=[]), opposite=RunwayApproach(name='15', heading=150, beacons=[]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-231956.75, -332908.5, self._terrain), large=False, heli=False, + airplanes=True, slot_name='S01', length=42.0, width=34.0, height=14.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-231906.546875, -333045.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S03', length=26.0, width=24.0, height=11.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-231920.03125, -333000.90625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=26.0, width=24.0, height=11.0, shelter=False)) + + +class Arvidsjaur(Airport): + id = 36 + name = "Arvidsjaur" + tacan = None + unit_zones: List[mapping.Rectangle] = [] + civilian = False + slot_version = 2 + atc_radio = None + + def __init__(self, terrain: Terrain) -> None: + super().__init__(mapping.Point(-268159.331616, -142107.057546, terrain), terrain) + + self.runways.append(Runway(id=1, name='12-30', main=RunwayApproach(name='12', heading=120, beacons=[RunwayBeacon(id='airfield36_1', runway_name='12-30', runway_id=1, runway_side='12'), RunwayBeacon(id='airfield36_3', runway_name='12-30', runway_id=1, runway_side='12')]), opposite=RunwayApproach(name='30', heading=300, beacons=[RunwayBeacon(id='airfield36_2', runway_name='30-12', runway_id=1, runway_side='30'), RunwayBeacon(id='airfield36_0', runway_name='30-12', runway_id=1, runway_side='30')]))) + self.parking_slots.append(ParkingSlot( + crossroad_idx=2, position=mapping.Point(-267901.3125, -142868.125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S01', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=3, position=mapping.Point(-267944.53125, -142816.15625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S02', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=4, position=mapping.Point(-267987.375, -142764.453125, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S03', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=5, position=mapping.Point(-268030.59375, -142712.25, self._terrain), large=False, heli=True, + airplanes=True, slot_name='S04', length=40.0, width=38.0, height=18.0, shelter=False)) + self.parking_slots.append(ParkingSlot( + crossroad_idx=6, position=mapping.Point(-268075.40625, -142659.140625, self._terrain), large=False, heli=True, + airplanes=True, slot_name='H01', length=60.0, width=52.0, height=18.0, shelter=False)) + + +ALL_AIRPORTS: List[Type[Airport]] = [ + Banak, + Rovaniemi, + Kemi_Tornio, + Vuojarvi, + Kiruna, + Severomorsk_3, + Bodo, + Severomorsk_1, + Olenya, + Monchegorsk, + Jokkmokk, + Murmansk_International, + Kalixfors, + Kirkenes, + Kallax, + Kuusamo, + Vidsel, + Ivalo, + Alakurtti, + Andoya, + Bardufoss, + Kittila, + Hosio, + Alta, + Evenes, + Enontekio, + Sodankyla, + Kilpyavr, + Luostari_Pechenga, + Koshka_Yavr, + Poduzhemye, + Kalevala, + Afrikanda, + Boden_Heli_Base, + Hemavan, + Arvidsjaur, +] + diff --git a/dcs/terrain/kola/kola.py b/dcs/terrain/kola/kola.py new file mode 100644 index 00000000..3b580e20 --- /dev/null +++ b/dcs/terrain/kola/kola.py @@ -0,0 +1,39 @@ +import datetime + +from dcs import mapping +from dcs.terrain import Terrain, MapView +from .airports import ALL_AIRPORTS +from .projection import PARAMETERS + + +class Kola(Terrain): + + temperature = [ + (-14, 7), + (-14, 7), + (-3, 15), + (-3, 15), + (-3, 15), + (10, 20), + (10, 20), + (10, 20), + (-3, 15), + (-3, 15), + (-3, 15), + (-14, 7), + ] + assert len(temperature) == 12 + + def __init__(self): + bounds = mapping.Rectangle(900000, -900000, -315000, 855500, self) + super().__init__( + "Kola", + PARAMETERS, + bounds=bounds, + map_view_default=MapView(bounds.center(), self, 1000000), + utc_offset=datetime.zoneinfo(datetime.timedelta(hours=2)) + ) + self.bullseye_blue = {"x": bounds.center().x, "y": bounds.center().y} + self.bullseye_red = {"x": bounds.center().x, "y": bounds.center().y} + + self.airports = {a.name: a(self) for a in ALL_AIRPORTS} diff --git a/dcs/terrain/kola/projection.py b/dcs/terrain/kola/projection.py new file mode 100644 index 00000000..5f616469 --- /dev/null +++ b/dcs/terrain/kola/projection.py @@ -0,0 +1,10 @@ +# DO NOT EDIT: +# This file is generated by tools/export_map_projection.py. +from dcs.terrain.projections import TransverseMercator + +PARAMETERS = TransverseMercator( + central_meridian=21, + false_easting=-62702.00000000087, + false_northing=-7543624.999999979, + scale_factor=0.9996, +) diff --git a/tools/export_map_projection.py b/tools/export_map_projection.py index 010b50b2..20a05b78 100644 --- a/tools/export_map_projection.py +++ b/tools/export_map_projection.py @@ -39,6 +39,8 @@ from dcs.action import DoScriptFile from dcs.terrain.caucasus import Caucasus from dcs.terrain.falklands import Falklands +from dcs.terrain.germany import Germany +from dcs.terrain.kola import Kola from dcs.terrain.nevada import Nevada from dcs.terrain.normandy import Normandy from dcs.terrain.persiangulf import PersianGulf @@ -69,6 +71,8 @@ "sinai": Sinai(), "syria": Syria(), "marianaislands": MarianaIslands(), + "germany": Germany(), + "kola": Kola() } From bc18c4f3ca859b4e292f6e3cd9422263554af7e0 Mon Sep 17 00:00:00 2001 From: zhexu14 <64713351+zhexu14@users.noreply.github.com> Date: Sun, 24 May 2026 16:36:13 +1000 Subject: [PATCH 2/2] Fix UTC offset for Marianas map --- dcs/terrain/marianaislands/marianaislands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dcs/terrain/marianaislands/marianaislands.py b/dcs/terrain/marianaislands/marianaislands.py index e682178a..3dadeef4 100644 --- a/dcs/terrain/marianaislands/marianaislands.py +++ b/dcs/terrain/marianaislands/marianaislands.py @@ -32,7 +32,7 @@ def __init__(self): PARAMETERS, bounds=mapping.Rectangle(1000 * 10000, -1000 * 1000, -300 * 1000, 500 * 1000, self), map_view_default=MapView(mapping.Point(76432, 48051, self), self, 1000000), - utc_offset=datetime.timezone(datetime.timedelta(hours=-10)) + utc_offset=datetime.timezone(datetime.timedelta(hours=10)) ) self.airports = {a.name: a(self) for a in ALL_AIRPORTS}