In contrast to GeoPackage data, for example, the supported military symbology standards do not define a data format for storing military symbologies. As such, we cannot create the model from disk using a model decoder. Instead, we create the IFeatureModel through code.

In this example, we create a military symbology model containing a single symbol:

// Create the coordinate reference in which the model will be defined.
auto crs = *CoordinateReferenceProvider::create("EPSG:4326");

// Create an APP-6 symbol "unmanned aerial vehicle unit" and set a value for its text modifier "Unique Designation".
auto symbol = MilitarySymbol::create(MilitarySymbology::Standard::App6d, "10060100001103000000");
symbol->putValue(MilitarySymbol::Modifier::UniqueDesignation, "Regular");

// Copy the symbol to a Feature instance, associated with a feature ID (unique within the model) and a point geometry.
FeatureId featureId = 0;
auto featureGeometry = GeometryFactory::createPoint(crs, 0, 27, 46);
auto feature = symbol->copyToFeature(featureId, featureGeometry);

// Declare the model metadata.
auto modelMetadata = ModelMetadata::newBuilder().title("My Symbology Model").build();
auto featureModelMetadata = FeatureModelMetadata::newBuilder().dataModel(MilitaryDataModel::get()).reference(crs).build();
auto modelBounds = GeometryFactory::createBounds(crs, featureGeometry->getLocation(), 0, 0, 0);

// Build an IFeatureModel containing only the feature we just created.
auto militarySymbologyModel = FeatureModelBuilder::newBuilder()

// Finally, put the model in a layer, and add it to the map.
// A default IFeaturePainter is automatically deduced from the model's data model.
auto layer = FeatureLayer::newBuilder().model(militarySymbologyModel).build();

See this article if you want to visualize custom features as military symbols.