Select to view content in your preferred language

How i can customise symbols in server and read in silverlight?

3296
11
02-08-2012 06:24 AM
StefhanCampos
Deactivated User
Hi,

i need customise a layer e.g. a layer Parcels. i want Parcels shipped ploted as green and Parcels dont shipped ploted as red in server. i have a lot of features and silverlight hangs if i try customise in real time(out of memory) and cannot use cluster because i will print this map.. so must be the server set the color of parcels. Anybody know how i can customise a layer with a set of color and with conditions for add in silverlight.

thx
0 Kudos
11 Replies
ChrisBradberry
Deactivated User
You should be able to set up your colors in the map document (mxd) before you publish the service.  The symbols will carry through to silverlight.
0 Kudos
StefhanCampos
Deactivated User
You should be able to set up your colors in the map document (mxd) before you publish the service.  The symbols will carry through to silverlight.


i need my silverlight application set the conditions(parcels red,green etc..) for server customize in real time.
0 Kudos
RobChouinard
Frequent Contributor
i need my silverlight application set the conditions(parcels red,green etc..) for server customize in real time.


Like Bradberry said. You set your symbology in the mxd using ArcMap then publish to the server. Set it up using categories and when the parcel switches categories the server will export the changed symbology for that parcel the next time the Silverlight map draws/refreshes. The server is like ArcMap drawing the map using the mxd you have and sending that map image to your Silverlight app. This is the most efficient way to show a lot of features.

If you want to change the symbology on the fly without changing the mxd, then you will need to do that on the client/Silverlight side with a FeatureLayer. The server doesn't handle drawing of the symbols with a FeatureLayer. That all happens on the client. So you change the symbology on the client by setting the FeatureLayer.Renderer to a UniqueValueRenderer that you created with the new colors.

Another way but not the most efficient is to create a featurelayer for each color, set its query definition to get only the features you want for that color and set the FeatureLayer.Renderer to a SimpleRenderer.

Rob
0 Kudos
StefhanCampos
Deactivated User
Like Bradberry said. You set your symbology in the mxd using ArcMap then publish to the server. Set it up using categories and when the parcel switches categories the server will export the changed symbology for that parcel the next time the Silverlight map draws/refreshes. The server is like ArcMap drawing the map using the mxd you have and sending that map image to your Silverlight app. This is the most efficient way to show a lot of features.

If you want to change the symbology on the fly without changing the mxd, then you will need to do that on the client/Silverlight side with a FeatureLayer. The server doesn't handle drawing of the symbols with a FeatureLayer. That all happens on the client. So you change the symbology on the client by setting the FeatureLayer.Renderer to a UniqueValueRenderer that you created with the new colors.

Another way but not the most efficient is to create a featurelayer for each color, set its query definition to get only the features you want for that color and set the FeatureLayer.Renderer to a SimpleRenderer.

Rob


hi,

i need handle with 1 million of points in a layer. With a renderer i can deal with that amount of features?(change color of all features without hang)
0 Kudos
DominiqueBroux
Esri Frequent Contributor
hi,

i need handle with 1 million of points in a layer. With a renderer i can deal with that amount of features?(change color of all features without hang)


For sure you can't deal with one million of points at the same time in a feature layer.
The possible options are:

  1. Use a feature layer with the Mode set to 'OnDemand'. Only the features of the current map extent will be loaded.

  2. Change the symbology at the server side as proposed by Brad and Rob

  3. Use the new DynamicLayers functionality which is done to cover this use case. See a sample here : http://resourcesbeta.arcgis.com/en/webapis/silverlight-api/samples/start.htm#DynamicLayer. The problem is that ArcGIS Server 10.1 and ArcGIS for SL 3.0 are in beta version only. But it's good to keep this option in mind for the future.

0 Kudos
StefhanCampos
Deactivated User
"Use the new DynamicLayers functionality which is done to cover this use case. See a sample here : http://resourcesbeta.arcgis.com/en/w...m#DynamicLayer. The problem is that ArcGIS Server 10.1 and ArcGIS for SL 3.0 are in beta version only. But it's good to keep this option in mind for the future."


I cannot use this beta?have any idea when this funcionality will be public for developers?thx
0 Kudos
DominiqueBroux
Esri Frequent Contributor
I cannot use this beta?have any idea when this funcionality will be public for developers?thx


The 10.1 beta 2 is already available : http://blogs.esri.com/Dev/blogs/arcgis/archive/2011/11/16/ArcGIS-10.1-Beta-2.aspx

A version 10.1 prerelease should be out soon but I don't know exactly when.
0 Kudos
StefhanCampos
Deactivated User
The 10.1 beta 2 is already available : http://blogs.esri.com/Dev/blogs/arcgis/archive/2011/11/16/ArcGIS-10.1-Beta-2.aspx

A version 10.1 prerelease should be out soon but I don't know exactly when.


the ArcGIS for SL 3.0 depends of AGS 10.1? i cannot use new dynamic layers with arcgis 10?
0 Kudos
DominiqueBroux
Esri Frequent Contributor
the ArcGIS for SL 3.0 depends of AGS 10.1? i cannot use new dynamic layers with arcgis 10?

Yes it depends on ArcGIS 10.1.
The rendering is dynamically done on the server side and only servers with 10.1 are able to do it.
0 Kudos