AnsweredAssumed Answered

Migrating from 10.2.7 to 100.2.1 military symbology

Question asked by markhdt2 on Jun 19, 2018
Latest reply on Dec 13, 2018 by cmoore-esristaff

We are currently in the process of migrating from 10.2.7 to 100.2.1 and therefor moving from using the older way of showing symbols (message layer) to the new(for us)/current way.  Most of the migration work is done except the military symbology. 


Essentially I am trying to get our software working, as it was, with the new SDK before I start switching from MIL2525C to MIL2525D.


The guide/API/samples available seem to be vague or overly simplified, at least as far as I can see when relating to how we had been generating the 2525C symbols, i.e. using the message layer method.  


How we were creating some of the symbols was like this:



Message msg = new Message();

msg.Id = symbol.ID;
msg.Add("_type", "position_report");
msg.Add("_action", "update");
msg.Add("_control_points", symbol.Grid.GlobalGrid.MapPoint.X.ToString() + "," + symbol.Grid.GlobalGrid.MapPoint.Y.ToString());
msg.Add("_wkid", symbol.Grid.GlobalGrid.MapPoint.SpatialReference.Wkid.ToString());
msg.Add("sic", symbol.SymbolID);
msg.Add("uniquedesignation", symbol.Designation);



I have looked at info here:

Display military symbols with a dictionary renderer—ArcGIS Runtime SDK for .NET | ArcGIS for Developers 


Here, which uses a sample geodatabase

arcgis-runtime-samples-dotnet/src/WPF/ArcGISRuntime.WPF.Viewer/Samples/Layers/FeatureLayerDictionaryRenderer at master ·… 


All examples I can find either use a sample geodatabase or an online resource.  I cannot find a clear example of how to create a symbol (2525C or 2525D) using key/value pairs as was used in the older 10.2.7 way of doing it.  


I have managed to create and initialize the dictionary from information found here:

Failed to create Rule Engine: mil2525c 

I would have thought those kinds of details would have been defined somewhere in the guide?


So I can see how to search and pull out symbols but what I really want is to use a feature layer with the dictionary as  the render, create a graphic object with the correct key/value pairings - similar to the 10.2.7 way we were doing it above.  I.e migrate in an evolutionary way rather than revolutionary.


I could be that I have missed an example in all my searching or that our way of creating these symbols is no longer supported.


Either way, can someone shed some light please?