Skip to content

Feature: πŸ—ΊοΈ Add map markers for a new DCS mapΒ #20

@arn-c0de

Description

@arn-c0de

We need community help to expand DCS map coverage! Choose a missing map from the list below and contribute a marker script with representative airfields/airstrips for testing and QA.


Available DCS maps (pick one!) πŸ—ΊοΈ

Pick a map that doesn't have markers yet:

Map In Work In Database Finished Last Updated
Marianas ☐ β˜‘ β˜‘ 2026-01-03
Caucasus ☐ β˜‘ β˜‘ 2026-01-03
South Atlantic ☐ ☐ ☐ -
Kola ☐ ☐ ☐ -
Afghanistan ☐ ☐ ☐ -
Iraq ☐ ☐ ☐ -
Iraq North ☐ ☐ ☐ -
East Afghanistan ☐ ☐ ☐ -
Southwest Afghanistan ☐ ☐ ☐ -
Sinai ☐ ☐ ☐ -
Syria ☐ ☐ ☐ -
Nevada ☐ ☐ ☐ -
Persian Gulf ☐ ☐ ☐ -
Normandy 1944 ☐ ☐ ☐ -
The Channel ☐ ☐ ☐ -
CW Germany β˜‘ β˜‘ ☐ 2026-01-06
Normandy ☐ ☐ ☐ -

Check existing scripts in scripts/MapDatabaseTools/ before starting to avoid duplicate work!


What to do (contributor checklist) πŸ”§

  • Choose your map from the list above (comment on this issue to claim it!)
  • Create scripts/MapDatabaseTools/add_<mapname>_markers.py (use existing scripts as templates)
  • Script CLI: python add_<mapname>_markers.py [--replace] to optionally clear existing data
  • Implement def <mapname>_samples() -> List[Location]: returning sample locations
  • Include for each Location(...):
    • name, latitude, longitude, marker_type
    • icaoiata (if known, else empty string)
    • elevation_m, runways (as Runway(...) objects)
    • frequencies, country, tags, source, map
  • Use estimate_heading_from_name() for missing runway headings
  • Add comments for estimated/uncertain values (e.g., # elevation estimated from imagery)
  • Include at least 5-10 representative locations (mix civilian/military if applicable)

Example code snippet πŸ“‹

Location(
    name="Guam International Airport",
    latitude=13.4834,
    longitude=144.7960,
    marker_type=MarkerType.AIRPORT.value,
    icao="PGUM",
    iata="GUM",
    elevation_m=91.0,
    runways=[
        Runway(name="06L/24R", length_m=3048, width_m=45, heading=None, surface="asphalt"),
        Runway(name="06R/24L", length_m=2743, width_m=45, heading=None, surface="asphalt")
    ],
    frequencies={"tower": "118.1 MHz", "ground": "121.8 MHz"},
    country="United States (Guam)",
    tags=["civilian", "international"],
    source="OurAirports / DCS Marianas",
    map="Marianas"
),

There is a template script for adding new map markers: add_new_map_template.py.
To create a new map file, copy and rename it (e.g. add_syria_markers.py), replace MAP_NAME and other placeholders, edit the example locations, then run:

python add_<map>_markers.py [--replace]

The --replace option deletes existing location data before inserting the samples.

How to test πŸ§ͺ

  1. Insert markers:
    python scripts/MapDatabaseTools/add_<mapname>_markers.py
  2. Replace existing (fresh start):
    python scripts/MapDatabaseTools/add_<mapname>_markers.py --replace
  3. Verify console output shows inserted locations with IDs
  4. (Optional) Test in UI/app to confirm display and metadata

⚠️ Disclaimer: These are development/testing markers only β€” not for real-world navigation!


Acceptance criteria βœ…

  • Script add_<mapname>_markers.py created and working
  • At least 5-10 representative locations included
  • Sources cited, estimates documented in comments
  • Script runs without errors and inserts to database
  • PR opened with the new script

Want to contribute? Comment below with the map you're working on to avoid duplicates! πŸš€

Metadata

Metadata

Assignees

Labels

enhancementSuggests an improvement or new featuregood first issueSuitable for newcomers/contributorshelp wantedContributions from others are welcomepriority: lowMinor importance

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions