Feature: 🗺️ Add map markers for a new DCS map
@arn-c0de ci sta già lavorando.
Dal 9/1/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
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_typeicaoiata(if known, else empty string)elevation_m,runways(asRunway(...)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 🧪
- Insert markers:
python scripts/MapDatabaseTools/add_<mapname>_markers.py - Replace existing (fresh start):
python scripts/MapDatabaseTools/add_<mapname>_markers.py --replace - Verify console output shows inserted locations with IDs
- (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.pycreated 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! 🚀
- Lingua principale
- Kotlin
- Stelle
- 41
- Fork
- 4
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di arn-c0de/InteractiveChecklists
-
documentation help wanted priority: low translation
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
design frontend help wanted priority: medium UI/UX
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
design frontend good first issue help wanted priority: medium UI/UX
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Design: 🎨 UI/UX Designer Wanted: App Interface ImprovementsForse di nuovo libera @pedrocsampaio l’ha presa 273 giorni fa e non c’è nessuna pull request aperta. Apertadesign enhancement frontend help wanted priority: low UI/UX
arn-c0de/InteractiveChecklists#27 · 2 commenti · 1 assegnatario ·
-
Feature: Make app UI & menus responsive across phones, tablets and orientations — ensure full functionalityForse di nuovo libera @arn-c0de l’ha presa 276 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement help wanted priority: medium UI/UX
arn-c0de/InteractiveChecklists#23 · 1 assegnatario ·
Tutte le issue di arn-c0de/InteractiveChecklists
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
AniTrend/anitrend-v2#1344 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
zhanghai/MaterialFiles#1659 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Droid-Deck/DroidDeck#1098 ·
I maintainer di solito rispondono entro 1 giorno
-
Blank screen in Download tab after searching with no results and switching tabsForse già presa @mangod12 l’ha presa oggi. Apertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
kiwix/kiwix-android#5211 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
deniscerri/ytdlnis#1430 ·
I maintainer di solito rispondono entro 1 giorno