[mapserver-users] Dynamic GEOMTRANSFORM based on map scale

Rahkonen Jukka (Tike) jukka.rahkonen at mmmtike.fi
Tue Jul 22 13:32:35 PDT 2014


Hi,

For my mind WFS delivers vector data who do not really have any scale but you may have some idea about how you define the scale. Perhaps like "Send me vectors for the same area than my raster background map which comes from WMS and has a scale of 1:x". However, I do not believe that WFS server can compute anything like scale from the standard WFS GetFeature parameters because equivalent to raster pixel size is missing.

Have you considered to use variable substitution by reading the data from PostGIS or Spatialite, defining DATA as "select ST_Simplify(geometry,%tolerance%) as geometry,..." and make your application to send the tolerance variable with GetFeature requests? Make it to compute the tolerance by for example the width of BBOX if you use it in your GetFeatures.

-Jukka Rahkonen-

________________________________
Tom wrote:

Hi folks,

I’m trying to implement a kind of ‘feature generalization’ so that the feature data in my WFS responses will be appropriate to the map zoom level.  I see two basic techniques I could use to do this:


1)      Use different shapefiles at different zoom levels

2)      Use GEOMTRANSFORM somehow

Of these two, GEOMTRANSFORM seems like the least hassle.  However, I can’t seem to figure out a way to factor in my map’s scale into the amount of shape simplification.  When I’m zoomed out, the shapes should be simplified a lot.  When I’m zoomed the whole way in, I should be using finer detail.  Is there a variable I can use in this expression? GEOMTRANSFORM (simplifypt([shape], [map_cellsize] * 10))

[map_scale] would be nice, if it existed.



Thanks,

Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20140722/05c7bb54/attachment.html>


More information about the mapserver-users mailing list