|
POST
|
Hi Fatma, There is the option to use a Unique Value Renderer but with a `valueExpression` which can parse out the first 2 characters of the track ID and use that to determine the values. Unfortunately we do not yet support setting `valueExpression` in the API, however you can create the renderer from JSON and it will work. (use renderer.fromJson();) Here is a sample JSON that uses the right 4 characters of a track ID to create the unique values: {
"defaultSymbol": {
"symbol": {
"symbolLayers": [
{
"anchor3D": "Center",
"capStyle": "Round",
"color": [ 130, 130, 130, 255 ],
"colorLocked": false,
"enable": true,
"height3D": 1,
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10.0,
"type": "CIMSolidStroke",
"width": 3.0
}
],
"type": "CIMLineSymbol"
},
"type": "CIMSymbolReference"
},
"fieldDelimiter": ",",
"type": "uniqueValue",
"valueExpression": "RIGHT($feature.vehiclename,4)",
"valueExpressionTitle": "Custom",
"uniqueValueInfos": [
{
"label": "2043",
"symbol": {
"symbol": {
"symbolLayers": [
{
"anchor3D": "Center",
"capStyle": "Round",
"color": [ 46, 194, 194, 255 ],
"colorLocked": false,
"enable": true,
"height3D": 1,
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10.0,
"type": "CIMSolidStroke",
"width": 3.0
}
],
"type": "CIMLineSymbol"
},
"type": "CIMSymbolReference"
},
"value": "2043"
},
{
"label": "2421",
"symbol": {
"symbol": {
"symbolLayers": [
{
"anchor3D": "Center",
"capStyle": "Round",
"color": [ 82, 43, 194, 255 ],
"colorLocked": false,
"enable": true,
"height3D": 1,
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10.0,
"type": "CIMSolidStroke",
"width": 3.0
}
],
"type": "CIMLineSymbol"
},
"type": "CIMSymbolReference"
},
"value": "2421"
},
{
"label": "3018",
"symbol": {
"symbol": {
"symbolLayers": [
{
"anchor3D": "Center",
"capStyle": "Round",
"color": [ 198, 48, 60, 255 ],
"colorLocked": false,
"enable": true,
"height3D": 1,
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10.0,
"type": "CIMSolidStroke",
"width": 3.0
}
],
"type": "CIMLineSymbol"
},
"type": "CIMSymbolReference"
},
"value": "3018"
},
{
"label": "4008",
"symbol": {
"symbol": {
"symbolLayers": [
{
"anchor3D": "Center",
"capStyle": "Round",
"color": [ 186, 201, 62, 255 ],
"colorLocked": false,
"enable": true,
"height3D": 1,
"joinStyle": "Round",
"lineStyle3D": "Strip",
"miterLimit": 10.0,
"type": "CIMSolidStroke",
"width": 3.0
}
],
"type": "CIMLineSymbol"
},
"type": "CIMSymbolReference"
},
"value": "4008"
}
]
} Hope that helps!
... View more
05-22-2025
01:57 PM
|
0
|
0
|
657
|
|
POST
|
Hi Rodney! Glad you figured it out. FYI- we are planning to start the work to integrate Dynamic Entities as a feed type to Geotriggers this year. Is your use case that you have one DynamicEntityDataSource for all identities (friendly and enemy), and you would like to have separate Geotriggers configured with different fences based on identity? So basically if you could filter your DynamicEntityDataSource based on attribute and use that as an input feed to a FenceGeotrigger (with its own source for fences), that would be ideal for you? Kerry
... View more
02-03-2025
08:56 AM
|
0
|
1
|
574
|
|
POST
|
Because currently there is no legend support for layers using the Dictionary Renderer, I have seen other examples of customers doing this (option 1 - create another layer with a unique value renderer of specifically the symbols you want in your legend) which have turned out pretty well. This is a public example from the National Park Service in Yosemite. They used this web map in a dashboard. You can see the `HydroMet Stations` group layer has two layers in it... one is `HydroMet Stations` (which is the real data used with the Dictionary Renderer) and the other is `Data Status` which is an empty layer with symbology set up in a nice way specifically for the legend. I think this turned out nicely in the app and actually gave them a more specific way to show these multi-attribute status symbols without having to show every permutation as a separate symbol in the legend. Web map: App (link) : Kerry
... View more
01-30-2025
01:43 PM
|
1
|
0
|
1375
|
|
POST
|
Hi- another option is to use the Dictionary Renderer. A blog post was actually just published discussing how to use the Dictionary Renderer for status symbols driven by multiple attributes. It shows how to use 3+ attributes and provides a style with some examples on how to support up to 7 attributes... so you would need to update that style to instead use a circle divided in 2 parts. This is a handy example web application to demonstrate how the symbols update as you change the attribute values. At the end of the blog, there are links to several other blogs and resources describing how to create/customize dictionary styles. If you're interested in going down this road, and need any additional help/guidance, let me know!
... View more
01-17-2025
11:01 AM
|
0
|
2
|
1531
|
|
POST
|
No worries. The devil is in the details in these standards!
Also, I didn't respond to your second question. These styles are not backward compatible with earlier versions of Runtime/Native SDKs. They are not blocked, but you would see unexpected results if you tried to use them.
... View more
09-25-2024
04:27 PM
|
0
|
0
|
815
|
|
POST
|
Hi-
According to the standard, these symbols are meant to be green since they are considered obstacles:
... View more
09-24-2024
07:15 PM
|
0
|
2
|
841
|
|
POST
|
Hi Rodney - Currently, Geotriggers only takes in one entity/track from a LocationDataSource at a time- multiple entities/tracks are not supported. That is something we would like to do in the future - allow the DynamicEntityDataSource as an input to Geotrigger. For now, you could configure the GeotriggerMonitor to work with a custom LocationDataSource that receives inputs from one Dynamic Entity's DynamicEntityChanged event. It is possible to set up more than one Geotrigger Monitor (to work with multiple Dynamic Entities), but it isn't really designed to scale up to a high number of Geotirgger Monitors per app. Let us know if you have any other questions.
... View more
07-19-2024
05:26 PM
|
0
|
0
|
726
|
|
IDEA
|
Sorry for the late update on this one, but we do now have support for Stream Layers in the Native SDKs, starting in 200.1. It's part of our larger real-time API called Dynamic Entities, which now also includes support for custom feeds. Learn more about our real-time support here.
... View more
04-22-2024
06:59 PM
|
0
|
0
|
869
|
|
POST
|
Hello, Here are some ideas on how to achieve what you want to do regarding a custom dictionary renderer with background behind text, and labels included with text. Placing icons and lines of text is feasible following the logic used in the Park Amenities example from the dictionary toolkit. A background for text can be done with a background callout. You could achieve rounded ends by using negative top and bottom margins (to make the background polygon almost flat) and rely on a thick outline: The left icon in the callout can be placed on top of that. The icon on the right has a placement that is dependent on the length of the text. The only way to do this would be to use a fixed-width font and make the text string available as a symbol attribute. You would then offset the icon depending on the number of characters. Hope that helps! Let us know if it does. Kerry
... View more
01-22-2024
05:16 PM
|
0
|
0
|
1245
|
|
POST
|
Hi @RyanWaller . I know it's been quite a while, but I thought it would be worth pointing out that we have published two blog posts outlining how to prepare data for use with military symbology in web applications... one for legacy web apps built with the JSAPI 3.x (i.e. Web AppBuilder) and one for newer apps using JSAPI 4.x (i.e. Experience Builder).
... View more
02-09-2023
07:00 PM
|
0
|
0
|
1481
|
|
POST
|
Hi- If you don't need to set the scale based on an attribute value, you can also just use a constant value for setScaleExpression, like this: renderer->setScaleExpression(2); Otherwise, yes, you can set the attribute of the graphic and use that in an arcade expression to set the scale. Kerry
... View more
11-28-2022
06:25 PM
|
0
|
0
|
1785
|
|
POST
|
Hi, Please see this blog post to learn about how to publish data with military symbology for use in Web AppBuilder: https://community.esri.com/t5/defense-and-intelligence-blog/preparing-data-for-use-with-military-symbology-in/ba-p/1072543. Please let me know if you have any further questions. Kerry
... View more
05-31-2022
05:53 PM
|
1
|
0
|
731
|
|
POST
|
Hi, Yes, this is possible in web maps used in our latest web applications based on the JavaScript 4.x API (MapViewer, Dashboards, Experience Builder, ...). This is not supported in Web AppBuilder, Map Viewer Classic, Dashboards Classic. Right now it involves using ArcGIS Pro to author the web map with military symbology using the Dictionary Renderer. Authoring layers with the Dictionary Renderer is not yet supported in the Map Viewer (but we're working on it!). Add the WFS layer to ArcGIS Pro In the Symbology pane for the WFS layer, choose 'Dictionary' as the renderer. Because you will want to use the web map in web applications, you will need to be sure to configure the Dictionary Renderer with a dictionary web style for the military specification your data uses. First click on the "More" drop down and select "Add custom dictionary..." If you are using ArcGIS Online, be sure to choose "ArcGIS Online" under Portal, and then owner:"styles_esri" type:"Style" in the search box to narrow the results down to the military dictionary web styles provided by Esri. Then select the style that corresponds to the military symbol standard used in the WFS service (for use in web applications be sure to choose the latest version): If you are using ArcGIS Enterprise, if not already available, you can publish a military dictionary desktop style (released with Pro) as a web style by: choosing the symbol standard you want to publish in the Dictionary drop down, clicking on the "More" drop-down and choosing "Add dictionary to project", switching to the Catalog pane where you should now see the military style under "Styles", right-click and choose "Share as Web Style". This will create a new portal item in Enterprise, which you should now be able to search for and added in the Symbology pane as in Step 4. Now you can map the Symbol Fields that the dictionary is expecting to the fields in your data. Most likely, the WFS service includes a symbol ID code- if so, you only need to map that field. If there are additional fields in the data that can be used as text amplifiers in the symbol, you can map them as well. Now that the layer is configured with the correct symbology, you can share as a web map by selecting the 'Share' tab and then 'Web Map'. Be sure to uncheck "Use symbol types compatible with all clients". As mentioned above, this web map will work in modern ArcGIS web apps based on the JavaScript API 4.x. Here is an example of a web map showing the dictionary renderer on a WFS layer: https://www.arcgis.com/apps/mapviewer/index.html?webmap=a163ec7c57ed4b1789c387c3c448d303 Please let me know if you have any questions or if this workflow doesn't work for you. Thanks, Kerry
... View more
05-31-2022
05:32 PM
|
0
|
0
|
1572
|
|
POST
|
Hi Troy. Yes, as Lucas mentioned, there is a new `scaleExpression` method on the Dictionary Renderer that can accept either a constant or an Arcade expression. So it doesn't set your symbol to a specific size, but you can scale all symbols based on a specific value, or use the expression to scale based on an attribute, map scale, etc.
... View more
10-22-2021
11:37 AM
|
0
|
0
|
2113
|
|
POST
|
Hi, The JSAPI 4.x can only work with feature layers published from ArcGIS Pro which reference a dictionary web style. The only way to publish military symbols from ArcMap that will render correctly in JSAPI 4.x is as a map image service. If you need to support editing workflows, you can still publish a companion feature service to have in your web map in addition to the map image service, just don't turn the feature layer on in the map. I hope that helps. Kerry
... View more
08-11-2021
04:38 PM
|
0
|
0
|
4336
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 01-30-2025 01:43 PM | |
| 1 | 05-31-2022 05:53 PM | |
| 1 | 04-06-2021 03:36 PM | |
| 1 | 03-31-2017 07:52 AM | |
| 1 | 02-05-2015 02:34 AM |
| Online Status |
Offline
|
| Date Last Visited |
11-13-2025
01:39 PM
|