The new web app must be able to render symbology based on a user-chosen attribute. The user can then choose the map layer to view with a slider, choose the map service with buttons, and choose the attribute with another set of buttons.
Currently, I have a demo set up which uses a UniqueValueRenderer to create the renderer to pass to a LayerDrawingOptions object, which then is assigned to a given layer in a dynamic map service.
This is working somewhat, but I have:
- some map network load errors,
- the symbols rendered look kind of jagged and pixelated,
- I haven't yet found a way to set scale levels for the symbols, besides tying every zoom event to re-running all the functions I am using to render the points (ScaleDependentRenderer won't work), and
- I need to re-publish the services every month to account for new layers, which I do now with a Python script - but I haven't found a way to set the necessary properties to allow modification of dynamic map services which I do now in Server Manager manually for my demos (I posted define per request modification of layer order and symbology using ArcPy? about that concern)
Should I reconsider using feature services?
I was avoiding that because:
- I didn't want to rewrite even more code and
- from everything I've read, feature services can be sluggish when using services with many thousands of records.
If not that, is there any other way I can approach this problem?
At this time, I must use File GDBs and feature classes btw; so using a query based ArcSDE platform won't work.