Scale-dependent generalization

3688
3
06-02-2015 02:47 PM
JeffreySchmidt
New Contributor II

I have a map service optimization question and did not seem to find an answer, hoping the community can help me!: 

I have a watershed layer that I would like to publish as a map service.  This data was digitized at a 1:4000 scale, which means there is an over-abundance of vertices within this file.  I also want to display this data at many scales.  At a very large scale (1:4000) the server would not have to process a lot of information.  However, at a very small scale (something like a state-wide scale), the service would be processing a lot and the service is going to draw incredibly slow. 

So my question is how to optimize the service for these two scales?  The only thing I can think of is to produce a generalized version of the watershed layer that is visible at small scales (state-wide views) and switch over to using the detailed original view once I have zoomed in close.

Is this the best route? Is this the only route? Or is there generalization capabilities built into ArcServer that I am not aware of to handle Scale-dependent generalization? 

Thanks ESRI Community!  See you at the user conference

Jeffrey

0 Kudos
3 Replies
JeffWard
Occasional Contributor III

Your thoughts on your solution is what I would probably do.  The other option is to cache the watersheds as part of a basemap.  Do you need to display information about the watersheds in a popup?

Jeff Ward
Summit County, Utah
0 Kudos
FilipKrál
Occasional Contributor III

Hi Jeffrey,

We need to do the same thing and so far the only reasonable solution we came up with is the one you suggest, i.e. having multiple copies of the same feature class with different levels of generalization and making layer visibility sensitive to map scale.

I was hoping that some cartographic representation​ magic would help, but it turned out to be quite complicated. Can anyone recommend cartographic representation as a way forward?

In some scenarios, it might be possible to use the geometryPrecision parameter of a query REST end point​ implemented in ArcGIS for Server since 10.1. However, based on my experiments, it only helps if your geometries are in decimal degrees, otherwise it makes hardly any difference. Also, as far as I can tell, one would have to use the query end point and add features as graphics into a graphics layer, which is far more involved than just adding some kind of layer.

Filip.

0 Kudos
JeffWard
Occasional Contributor III

The trouble with cartographic representation would be the processing that happens on the fly to change the original to the representation, so it would probably be the same thing as displaying the detailed watersheds.

Jeff Ward
Summit County, Utah
0 Kudos