[general]
name=Military Cartography Tools
qgisMinimumVersion=3.44.0
qgisMaximumVersion=4.99.0
description=Military cartography, MIL-STD-2525D/APP-6 tactical graphics, MGRS, and terrain analysis tools for QGIS. Runs fully offline - no external services, no data ever leaves your machine.
author=Praveen Kumar
license=GPL-2.0+
email=kattapraveen.kr@gmail.com
version=1.0.3

changelog=1.0.3
    - Correctness fix: the drawn UTM/GZD grid now honours the two
      exceptions the standard itself makes. Over south-west Norway
      (band V) zone 31V is 3 degrees wide and 32V is 9, not 6 each;
      over Svalbard (band X) zones 32X, 34X and 36X do not exist at
      all, with 31X, 33X, 35X and 37X widened to cover that ground.
      MGRS coordinate conversion already applied both, so the grid
      layer and the plugin's own MGRS readings had disagreed with
      each other in those two regions.
    - Three fixes to the GZD labels: they no longer pile up on top of
      one another at world scale and bury the grid lines; they no
      longer disappear when you pan inside a zone larger than the
      map view; and they no longer overhang into the neighbouring
      zone when only a narrow strip of a zone is on screen. Where a
      label switches placement is now decided from each cell's own
      size rather than one global scale for the whole world.
    - The user guide's "Getting a DEM" section now covers GMRT for
      bathymetry, including what to expect from below-sea-level
      elevations once loaded.
    1.0.2
    - The Bandit suppression added in 1.0.1 for the mine-scatter random
      number generator was one line too high to take effect, so that
      false positive came back on upload. Moved onto the flagged line
      itself, and the whole set verified by running Bandit locally
      rather than by another upload round-trip.
    1.0.1
    - Fixed the findings from 1.0.0's automated Plugin Repository
      review: the milsymbol.js bridge now imports QJSEngine through
      qgis.PyQt rather than PyQt5/PyQt6 directly, so it resolves to
      whichever Qt binding the running QGIS was built against. The
      remaining scanner findings were false positives (a deterministic,
      seeded random generator used for mine-symbol scatter, and four
      MIL-STD-2525D entity names containing the word "Secret" - the US
      Secret Service - read as credentials by keyword heuristics); each
      is now annotated in place rather than silently left to re-flag.
    1.0.0
    - First stable release. The plugin is no longer marked experimental.
    - Complete MIL-STD-2525D / APP-6 tactical graphics (Phase 10): the
      full control-measure set - manoeuvre, offensive, defensive,
      obstacle, fire support, target acquisition, airspace, maritime,
      CBRN defence, deception, intelligence, sustainment, command and
      control, field fortification, and mission tasks - plus entity
      symbols across the land, air, sea surface, subsurface, space,
      cyberspace, SIGINT and activities layers, all keyed to their own
      SIDC. Drawn as real QGIS symbology (geometry generators, data-
      defined properties, rule-based labelling), not stamped images, so
      every symbol scales, rotates and prints correctly at any map
      scale.
    - Viewshed gained a coverage colour picker and an outline-only
      rendering option, so several observers' coverage can be told
      apart and laid over terrain without hiding it.
    - Tanaka Contours now carries a caution about generation time,
      which can be long on a large DEM at a fine contour interval.
    0.3.0
    - New navigation and production tools (Phase 9): a Bearing/Range tool,
      GPX/KML waypoint import/export, and Map Sheet Series - batch-generate
      a numbered series of print sheets tiling a large area, each sheet
      named after the real UTM/MGRS grid square it falls in, not an
      invented numbering scheme.
    - Every print layout now includes an automatic grid-position diagram
      showing where the map sits in the UTM/MGRS grid hierarchy, with the
      map's own footprint outlined to scale.
    - Line of Sight and Viewshed dialogs now show MGRS alongside latitude/
      longitude.
    - Hypsometric Tint gained an optional stepped/discrete colour ramp
      (in addition to the existing smooth gradient), and the shared
      colour ramp it uses with Tanaka Contours was warmed from a dusty
      rose toward a proper orange/brown hue in the mid-to-high elevation
      bands.
    0.2.1
    - Fixed Plugin Repository validator findings from the 0.2.0 upload:
      3 Qt6 forward-compatibility enum-scoping errors in the new
      Line of Sight/Viewshed marker code, and a security finding
      (insecure tempfile.mktemp() usage, 9 call sites across the new
      terrain analysis modules) - all Processing algorithm outputs now
      use QgsProcessing.TEMPORARY_OUTPUT instead.
    0.2.0
    - New terrain analysis toolset (Phase 8), all fully offline/local:
      Tanaka (illuminated) contours, Hypsometric Tint, Line of Sight,
      Combined Hillshade, and Viewshed (dead-ground analysis) - each
      driven entirely by local GDAL/QGIS Processing against your own
      DEM, with no network access of any kind.
    0.1.2
    - Fixed MGRS 100km grid labels landing in the wrong square at some
      zoom levels, and the print-layout scale bar rendering too large
      at close-in scales (e.g. 1:1,000-1:2,000).
    0.1.1
    - Fixed Plugin Repository validator findings: fully-scoped QGIS enum
      access (Qt6 forward-compatibility) and one Flake8 lambda-assignment
      finding.
    0.1.0
    - Initial release: MGRS conversion, coordinate probe, military grid
      generation (UTM/GZD, MGRS 100km, 10/5/1km sub-grids), automated
      print-layout production, grid convergence and magnetic declination
      (WMM2025) expression functions.

about=Military Cartography Tools (MCT) is a QGIS plugin providing tools for military mapping, including MIL-STD-2525D/APP-6 tactical graphics (control measures and entity symbols, drawn as real QGIS symbology rather than stamped images, so they scale and print correctly at any map scale), MGRS coordinate handling, military grid generation, layout automation, coordinate conversion, cartographic utilities, terrain analysis (illuminated contours, hypsometric tint, line of sight, combined hillshade, and viewshed/dead-ground analysis), and navigation/production tools (bearing/range, GPX/KML waypoint import/export, and batch print-sheet generation tiling a large area). Every tool runs entirely offline against local data - GDAL/QGIS Processing, a bundled World Magnetic Model, and your own DEM - with no external services, API calls, or telemetry of any kind, making it suitable for use with sensitive or classified data.

tracker=https://github.com/kattapraveen/MilitaryCartographyTools/issues
repository=https://github.com/kattapraveen/MilitaryCartographyTools
homepage=https://github.com/kattapraveen/MilitaryCartographyTools

category=Cartography
icon=icons/icon.svg

experimental=False
deprecated=False

hasProcessingProvider=False

tags=MGRS,military,cartography,grid,UTM,coordinates,layout,mapping,terrain,DEM,hillshade,viewshed,line of sight,offline,GPX,KML,waypoints,bearing,range,print layout,MIL-STD-2525,APP-6,NATO,tactical graphics,control measures,symbology
