Select to view content in your preferred language

ArcGIS Server: Dynamic Symbology

3567
3
10-28-2013 12:15 PM
YangLiu2
Deactivated User
Hi,

I am trying to make a dynamic symbology on server side. For example, I create a query layer from a spatial table, which shows 4 dispatch zones for TX state. I set up different color on each dispatch zone in ArcMap and then published the feature class as Map Service. My boss asks to update the data  which is separate one of those dispatch zones into two. But When I make the change in spatial table, there is no change on the Map Service. I tried to view the Map Service by ArcGIS Online. The new dispatch zone is colorless. So my question is how I can make the symbology change on Map Service at the same time when new value is added without re-publishing? Any Thought? Thanks!

YL
Tags (2)
0 Kudos
3 Replies
TanuHoque
Esri Regular Contributor
YL,

in case you can figure out all applicable dispatch zones upfront, you can setup your layer's unique-value-renderer with additional values, even when your layer does not have those values.

So, you setup your layer's unique value renderer with all possible dispatch zone id/name and publish. As new features with new values get added to the spatial table, a simple refresh from your web app or arcgis.com map will show new features with new symbols.

in case you really need to do dynamic rendering on the server side, here are few links that you may find helpful:

About Dynamic Layers:
http://resources.arcgis.com/en/help/main/10.2/index.html#/About_dynamic_layers/00sq000000n1000000/

JS API sample on changing layers symbology on dynamically:
https://developers.arcgis.com/en/javascript/jssamples/renderer_dynamic_layer_change_attribute.html

there is also a task that allows you to get unique values renderer with updated values from server side.
https://developers.arcgis.com/en/javascript/jsapi/generaterenderertask-amd.html

all ArcGIS Web APIs have similar capabilities.
0 Kudos
YangLiu2
Deactivated User
YL,

in case you can figure out all applicable dispatch zones upfront, you can setup your layer's unique-value-renderer with additional values, even when your layer does not have those values.

So, you setup your layer's unique value renderer with all possible dispatch zone id/name and publish. As new features with new values get added to the spatial table, a simple refresh from your web app or arcgis.com map will show new features with new symbols.

in case you really need to do dynamic rendering on the server side, here are few links that you may find helpful:

About Dynamic Layers:
http://resources.arcgis.com/en/help/main/10.2/index.html#/About_dynamic_layers/00sq000000n1000000/

JS API sample on changing layers symbology on dynamically:
https://developers.arcgis.com/en/javascript/jssamples/renderer_dynamic_layer_change_attribute.html

there is also a task that allows you to get unique values renderer with updated values from server side.
https://developers.arcgis.com/en/javascript/jsapi/generaterenderertask-amd.html

all ArcGIS Web APIs have similar capabilities.


Hi Tanu Hoque,

I tried the way you tell. The performance is fast.
Thanks a lot.

Best,
YL
0 Kudos
GeorgeHaskett
Deactivated User
YL,

Here is a link for custom rendering tag references, within the Viewer for Flex app, for when and if you want to alter the symbology for a service that you did not create, but would like to use and manipulate anyways.

Or if you created a default service, but want the data to be represented differently in various mapping applications, but still using the same original mapservice.

http://resources.arcgis.com/en/help/flex-viewer/concepts/index.html#/Rendering_and_Symbology_tags/01...

Haskett
0 Kudos