Comments (8)
Land Unit Special Entities proved especially difficult to translate to XML.
The issue is that they are separate files and therefore separate layers, but the code seems to indicate there should be separate symbols for each variable (five for Main to Full Octagon symbols, eight for Full Frame symbols). After talking w/ @abouffard we have implemented the following code (in this example, it is the Headquarters Element Entity Subtype.
Main to Full Octagon
Graphic="xxxxxxxx.svg"
SpecialCloverGraphic="10xxxx95_0.svg" SpecialRectangleGraphic="10xxxx95_1.svg" SpecialSquareGraphic="10xxxx95_2.svg" SpecialDiamondGraphic="10xxxx95_3.svg"
Full Frame
CloverGraphic="xxxxxxxx_0.svg" RectangleGraphic="xxxxxxxx_1.svg" SquareGraphic="xxxxxxxx_2.svg" DiamondGraphic="xxxxxxxx_3.svg"
SpecialCloverGraphic="10xxxx95_0.svg" SpecialRectangleGraphic="10xxxx95_1.svg" SpecialSquareGraphic="10xxxx95_2.svg" SpecialDiamondGraphic="10xxxx95_3.svg"
This should draw both, and draw the symbol properly according to the standard.
@abouffard , @mepler, do ALL entity types use these, or just specific ones? For instance, the Movement and Maneuver units may use Headquarters Element entity, but not the support entities.
Just wondering, because adding every special entity to every entity is very time consuming.
from joint-military-symbology-xml.
@abouffard , we need to adjust the schema to incorporate MEDAL and Alternative icons for Mine Warfare. Here are some screen shots.
from joint-military-symbology-xml.
RE: These Clover/Rectangle/Square/Diamond Graphics (Infantry, Cache, etc.) & Special Land Unit cases of these mentioned above, etc.
If the convention for these graphics are quite consistent (which they seem to be, listed below) - could we instead just :
- tag/attribute the entities that have these special cases &
- have the rules of these consistent special cases defined somewhere else &
- avoid all of this redundancy/manual data entry (not to mention size bloat)
Case | # | Convention |
---|---|---|
Unknown ("Clover") | 0 | X +"_0" |
Friend ("Rectangle") | 1 | X +"_1" |
Neutral ("Square") | 2 | X +"_2" |
Hostile ("Diamond") | 3 | X +"_3" |
So instead of CloverGraphic="X_0.svg" RectangleGraphic="X_1.svg" SquareGraphic="X_2.svg" DiamondGraphic="X_3.svg" (etc., etc.)
==> Use: FullFrameIcons="True" SpecialLandEntityIcons="True"
(or something like these) - this will also allow an easy tag to show when these special cases apply (which users will indeed need an easy way to know this)
For Joe's particular issue, I would recommend just skipping the "SpecialGraphic" for these (but do make sure they have the correct base icon) for instance Land Unit : Sustainment : Ordnance : Headquarters Element
should have base graphic/icon Appendices\Land\10162300.svg
(this is 00
for last 2 digits, not 95
)
from joint-military-symbology-xml.
I like the idea of using the easy tag, we should try that.
I can work without the special graphic for now and revisit it later, I just didn't want to undo some of what @abouffard has already done.
Either way, we are not using special entity file names for the base graphic, because the current SVGs don't support that. For instance, 10162300.svg is the correct one, there is no 10162395.svg. We would have to add the correct Headquarters Element SVG (10xxxx95_x.svg), which is always full frame, as a second layer.
from joint-military-symbology-xml.
I'm sure @abouffard already has a way forward, but I don't know how we will implement dynamic symbols like Atmospheric/Wind/Wind Plot (45140200).
from joint-military-symbology-xml.
RE: Dynamic Weather Symbols (i.e. symbols that need the attributes/amplifiers of the symbol to draw) - this is actually a tough one...but only for weather ones (I think) - In general all of the other appendices explicitly define the amplifiers/labels/attributes & this was captured in the XML:
So for instance, if a symbol needed to use Speed
to draw (like I think there is a "Speed Leader" defined), here is the attribute: https://github.com/Esri/joint-military-symbology-xml/blob/master/instance/jmsml_D_Base.xml#L50
Another (hopefully simpler) example: Control Measures : Fires Areas : Area Targets : Circular Target is driven by an attribute: AM=Distance
that it needs in order to draw.
But because Weather symbols generally don't have labels, perhaps the amplifier section was left off of these, but we still will need to have these attributes captured somewhere to drive/display the symbol.
So to keep moving forward for the weather attributes, you might have to just add these in to the <Amplifiers>
for that set as you encounter them (& then figure out how to deal with this deviation later-if this is even a deviation) - you can XML comment these (<!-- -->
if you want to remember what/why you did it this way later)
from joint-military-symbology-xml.
@joebayles @abouffard Each issue should be separate so we can close each one as it gets addressed.
from joint-military-symbology-xml.
@lfunkhouser Created separate issues for each one. Will close this one.
from joint-military-symbology-xml.
Related Issues (20)
- 18-011-MC Add Battle Handover Line Control Measure
- 18-012-MC Add Forward Passage of Lines as a Tactical Mission Task
- 18-013-MC Add Rearward Passage of Lines as a Tactical Mission Task
- 18-014-MC Add Control Point Control Measure
- 18-015-AR Add Human Resources Symbology
- 18-011-UK Boundary Amplifier Clarification
- 18-012-UK Lines Amplifiers Clarification
- 18-XXX-UK SCP Approval Clarification
- 18-014-UK Planned Control Measure Symbol ID
- Draw Rules for Antitank Ditch and Wall HOT 6
- Empty Paths in SVGs HOT 1
- Additional Affiliations HOT 1
- Ship Area of Interest - Questions HOT 1
- Variation in SVG size for Control Measures and METOC
- Ambiguity in the wording and examples regarding obstacle color HOT 2
- Trip Wire Draw Rule Disparity HOT 1
- Dismounted Individual Leadership Amplifier HOT 2
- Drawing SVGs and viewbox/crop area HOT 6
- Symbols do not scale as expected
- Update to MIL-STD-2525 revision E
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from joint-military-symbology-xml.