Skip to content

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

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! πŸš€

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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