Skip to content
ondrej-podolsky edited this page Jan 19, 2021 · 39 revisions

Milsymbol generator wiki

The pages on this wiki describe the functionality and content of the Milsymbol generator as extended by the Military Tactical Graphics Czechia. Some information is valid for the original Milsymbol generator created by spatialillusions as well.

Documentation of used standards

In this project, we are using the MIL-STD-2525C standard for military symbols, specifically the Military Operation Tactical Graphics section. The relevant specification of this standard can be found on pages 329 - 761 in the following document: http://www.mapsymbs.com/ms2525c.pdf

Symbol generation

The generator uses a form which prompts the user to input necessary attributes. Here are some examples of GeoJSON and the corresponding symbols they generate:

Table of sample symbols

Image JSON file Description Parametres
GFGPGPRS---- Special point A single placed point to map using GeoJson.
Specifically, it is a "Special point" created in the unitgenerator,
with FunctionID: GENERAL - POINTS - REFERENCE POINT - SPECIAL POINT
  • Parameters
    • "sidc": ID specifying diagram type
    • "distance": the size of the space on the map
  • Coordinates
    • Longitude
    • Latitude
GFGPGPUYA--- Under sea S single placed point to map using GeoJson. Specifically, it is an "ANM" created in the unitgenerator,
FunctionID: GENERAL - POINTS - UNDER SEA WARFARE - SONOBUOY
  • Parameters
    • "sidc": ID specifying diagram type
    • "distance": the size of the space on the map
  • Coordinates
    • Longitude
    • Latitude
GFGPGPWG---- Ground zero / ambush Combination of two objects, point Ground zero and ambush. Used just as example, not as a real visualization. Multiple coordinations are used for specification anchor points described in Nato Documentation,
FunctionID: GENERAL - POINTS - WEAPON - GROUND ZERO
  • Parameters
    • "sidc": ID specifying diagram type
    • "size": attribute specifying the size of the marker on the map
  • Coordinates
    • Longitude
    • Latitude
GFMPBCB----- Canalize / bridge Combination of two objects, point Bridge and LineString Canalize. Used just as example, not as a real visualization. Multiple coordinations are used for specification anchor points described in Nato Documentation,
FunctionID: CROSSING SITE/WATER CROSSING - BRIDGE OR GAP
  • Parameters
    • "sidc": ID specifying diagram type
    • "size": attribute specifying the size of the marker on the map
  • Coordinates
    • Longitude
    • Latitude
GFTPD------- CFF zone / destroy Combination of two objects, point Call for fire zine and destroy. Used just as example, not as a real visualization. Multiple coordinations are used for specification anchor points described in Nato Documentation,
FunctionID: DESTROY
  • Parameters
    • "sidc": ID specifying diagram type
    • "distance": the size of the space on the map
    • "uniqueDestination": ID specifying exact location on the map
  • Coordinates
    • Longitude
    • Latitude

General GeoJSON syntax

The outernmost tag for all diagrams is a FeatureCollection, which contains individual features with properties and geometry. A Feature collection may include only one feature, as seen on this abstract example:

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "property 1": xxx,
                "property 2": xxx,
                ...
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                        longitude,
                        latitude
                ]
            }
        }
    ]
}

Or it could be a combination of several features, like in this abstract example with two features:

    "type": "FeatureCollection",
    "features": 
    [
            {
            "type": "Feature",
            "properties": {
                "property 1": xxx,
                "property 2": xxx,
                ...
            },
            "geometry": {
                    "type": "LineString",
                    "coordinates": [
                        [
                            longitude,
                            latitude
                        ],
                        [
                            longitude,
                            latitude
                        ],
                        [
                            longitude,
                            latitude
                        ]
                    ]
                }
            },
            {
                "type": "Feature",
                "properties": {
                    "property 1": xxx,
                    "property 2": xxx,
                    ...
                },
                "geometry": {
                    "type": "Point",
                    "coordinates": [
                            longitude,
                            latitude
                    ]
                }
            }
        

    ]
}