Skip to content

Latest commit

 

History

History
51 lines (37 loc) · 3.55 KB

File metadata and controls

51 lines (37 loc) · 3.55 KB

mil-sym-java

About

mil-sym-java is a well worn set of java libraries that have been used in US Army Mission Command software for years. In November 2013 Mission Command was given the approval to release and maintain these libraries as public open source. Eventually work on the 2525C SEC Renderer ended and the project was retired

This is a continuation of that effort and this library aims to support 2525D, 2525E and potentially more future versions.

JavaDocs
Wiki

The old 2525C renderer has been retired but the libraries and usage information are still available here:
2525C Renderer Overview

Ports

Java
Android
TypeScript

MIL-STD-2525

The MIL-STD-2525 standard defines how to visualize military symbology. This project provides support for the entire MIL-STD-2525D Change 1 and MIL-STD-2525E Change 1. APP6D support has been added as well. Note that this implementation included the latest change proposals so things may not line up if you're just looking at the base APP6D document.

Features

  • Support for MilStd 2525 Dch1 (11), Ech1(15), NATO APP6D(10) and partial support for APP6Ev2 (16)(icons only)
  • Rendering icons as a BufferedImage (Java), Bitmap (Android), and SVG.
  • Rendering of multipoints as GeoJSON, GeoSVG or as a MilStdSymbol Object with all the information needed to draw on your map.
  • MSLookup class to get information on any symbol such as point count, draw rule, applicable modifier, etc...
  • The ability to add custom icons to an existing symbol set.

Project Structure

Renderer: This is the component that can be used in Java applications to generate the entire MIL-STD-2525 symbol for both icons based symbols and geometric symbols such as tactical graphics. Renderer relies on the jar files generated by Core.

External Libraries in use:
jsvg 2.0.0 using MIT License
svgSalamander 1.1.3 using LGPL or BSD (used for pre-processing files that are used in the renderer. Not used for rendering)
Geodesy 1.1.3 using Apache 2.0 License

Build

./gradlew build

Pixel