[mapserver-users] maxscale (denom) with gml ?

Eichner, Andreas - SID Andreas.Eichner at sid.sachsen.de
Tue Dec 2 01:17:57 PST 2014


WFS is meant to query raw feature data. Scale dependent rendering must be controlled within the renderer itself - in this case using minResolution/maxResolution options as described in http://openlayers.org/en/v3.0.0/apidoc/ol.layer.Layer.html.

> -----Ursprüngliche Nachricht-----
> Von: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-
> bounces at lists.osgeo.org] Im Auftrag von Lime, Steve D (MNIT)
> Gesendet: Dienstag, 2. Dezember 2014 00:25
> An: bpicinbono at worldonline.fr; mapserver-users at lists.osgeo.org
> Betreff: Re: [mapserver-users] maxscale (denom) with gml ?
> 
> WFS runs through the MapServer query pipeline. Queries are generally scale
> independent except for cases where you are interacting with a source map
> (e.g. clicking on things), I mean, a scale computation requires both a map
> extent and a resulting image size. From that you can compute a cellsize
> and scale. I don't know if it's possible to force a scale computation
> somehow by passing a map size (in pixels) along with a map extent. or
> perhaps by passing the desired scale value directly (map.scaledenom?).
> Anyone have other ideas?
> 
> I believe the query functions do respect min/maxscale (denom) values if
> the map scale is not set to -1.
> 
> Steve
> 
> ________________________________________
> From: mapserver-users-bounces at lists.osgeo.org [mapserver-users-
> bounces at lists.osgeo.org] on behalf of bpicinbono at worldonline.fr
> [bpicinbono at worldonline.fr]
> Sent: Monday, December 01, 2014 4:05 PM
> To: mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] maxscale (denom) with gml ?
> 
> from the ol3 extract of my last post (below), it's WFS as I see:
> 
> format: new ol.format.WFS({
> ...
> 
> regards
> 
> 
> 
> 
> On 12/01/2014 10:12 PM, Lime, Steve D (MNIT) wrote:
> > I meant what so the calls to MapServer from OpenLayers look like? Are
> you
> using WFS, custom MapServer queries or perhaps OGR output formats? Doesn't
> look
> like the latter from your mapfile.
> >
> > Steve
> >
> > -----Original Message-----
> > From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of
> bpicinbono at worldonline.fr
> > Sent: Monday, December 01, 2014 3:06 PM
> > To: mapserver-users at lists.osgeo.org
> > Subject: Re: [mapserver-users] maxscale (denom) with gml ?
> >
> >
> >
> > Many thanks for investigating;
> > please check below the relevant parts of the mapfile, as well as the
> openlayers related code; (the purpose is to display nooa gfs winds
> forecasts,
> "vents" means "winds" in french);
> >
> > some stuff like the SYMBOL part and the layer's STYLE part should not be
> necessary anymore with gml output, as well as few other directives, clean
> up job
> ahead..., but working, minus the maxscale (denom) directive which is not
> working
> in this configuration;
> >
> > I could manage the scale display control on the openlayers 3 side with
> an if
> case based on the zoom level, but I would prefer mapserver mapfile to
> drive it;
> >
> > Thanks again
> > Blaise
> >
> >
> > - - - - - - - - - -
> > --- mapfile ---
> > (called rg_noaa_vents_gml.map, called on the ol3 side)
> >
> > MAP
> >   NAME rg_noaa
> >   STATUS ON
> >   SIZE 600 600
> >
> >   EXTENT -180 -90 180 90
> >
> >   FONTSET "fonts/fonts.list"
> >   UNITS DD
> >   SHAPEPATH "data"
> >   IMAGECOLOR 230 230 255
> >   TEMPLATEPATTERN "rg_noaa"
> >   IMAGETYPE PNG24
> >   OUTPUTFORMAT
> >
> >     # image mapfile #
> >     #TRANSPARENT ON
> >     #IMAGEMODE RGB
> >     #DRIVER GD/PNG
> >
> >     # gml mapfile #
> >     NAME "gml"
> >     DRIVER "TEMPLATE"
> >     FORMATOPTION "FILE=rg_noaa_vent_gml.map"
> >
> >   END
> >   PROJECTION
> >     "init=epsg:4326"
> >   END
> >
> >   WEB
> >     HEADER templates/header_ol.html
> >     TEMPLATE "set in index.html"
> >     FOOTER templates/footer.html
> >     MAXSCALE 200000000
> >     IMAGEPATH "/tmp/ms_tmp/"
> >     IMAGEURL "/ms_tmp/"
> >     METADATA
> >       "WMS_TITLE" "vrrroum_noaa"
> >
> >       "WMS_ONLINERESOURCE"
> >
> "http://localhost/cgi-
> bin/mapserv?map=/var/www/html/rg/blabla_02/noaa/rg_noaa_vents_gml.map"
> >
> >       "WMS_SRS" "EPSG:4326"
> >       "WMS_ENABLE_REQUEST" "*"
> >       #"WMS_FEATURE_INFO_MIME_TYPE" "text/html"
> >       "wms_feature_info_mime_type" "text/gml"
> >
> >       "WFS_ONLINERESOURCE"
> >
> "http://ip-adress/cgi-
> bin/mapserv?map=/var/www/rg/blabla_02/noaa/rg_noaa_vents_gml.map&"
> >
> >       "WFS_ENABLE_REQUEST" "*"
> >       "wfs_feature_info_mime_type" "text/gml"
> >
> >     END
> >   END
> >
> >   SYMBOL
> >     NAME "arrowfilled"
> >     TYPE vector
> >     FILLED true
> >     #FILLED false
> >     POINTS
> >     1 0
> >     -1 0
> >     -1 7
> >     -3 7
> >     0 10
> >     3 7
> >     1 7
> >     1 0
> >     -1 0
> >     END # POINTS
> >   END # SYMBOL
> >
> >
> > LAYER   ##### ##### ##### fv_168
> > NAME fv_168
> > GROUP v_168
> > TYPE POINT
> > STATUS ON
> > DATA fv_168
> > MAXSCALEDENOM 20000000
> > SIZEUNITS kilometers
> >
> > METADATA
> >   "WMS_TITLE" "v_168"
> >   "WMS_SRS" "epsg:4326"
> >   "wms_include_items" "all"
> >   "gml_include_items" "all"
> >   "WMS_ENABLE_REQUEST" "*"
> >
> >   "wfs_title" "v_168"
> >   "wfs:srs" "EPSG:4326"
> >   "gml_include_items" "all"
> >   "gml_featureid" "ID"
> >   "wfs_enable_request" "*"
> > END
> >
> > CLASS
> > TEMPLATE "templates/vents.html"
> >  STYLE
> >   OPACITY 50
> >   SYMBOL "arrowfilled"
> >   SIZE [VITREP]
> >   ANGLE [ANGLE]
> >   WIDTH 2
> >   COLOR 100 100 150
> >  END
> > END
> > DUMP TRUE
> > HEADER "templates/vents_header_ol.html"
> > FOOTER "templates/vents_footer_ol.html"
> > TOLERANCE 20
> > END
> >
> > END # Map File
> >
> >
> >
> >
> > - - - - - - - - - - - - - -
> > --- openlayers 3 ---
> > (extracts of the layer description)
> >
> > var gmlSourceV_168 = new ol.source.ServerVector({
> >     layer: 'v_168gml',
> >     format: new ol.format.WFS({
> >         featureNS: "http://mapserver.gis.umn.edu/mapserver",
> >         featureType: 'fv_168'
> >     }),
> >     projection: 'EPSG:4326',
> >     loader: function(extent, resolution, projection) {
> >         $.ajax({
> >             url:
> >
> 'http://ip-adress/cgi-
> bin/mapserv?map=/var/www/html/rg/blabla_02/noaa/rg_noaa_vents_gml.map&serv
> ice=WFS&'
> > +
> >
> > 'version=1.1.0&request=GetFeature&typename=fv_168&outputFormat=text/xml;
> > subtype=gml/3.1.1&' +
> >             '&srsname=EPSG:4326&bbox=' + extent.join(',')
> >     }).done(
> >             function(response) {
> >
> > gmlSourceV_168.addFeatures(gmlSourceV_168.readFeatures(response));
> >             });
> >     },
> >     strategy: ol.loadingstrategy.bbox
> > });
> >
> > var gmlLayerV_168 = new ol.layer.Vector({
> >     title: '168gml',
> >     type: 'base',
> >     visible: false,
> >     source: gmlSourceV_168,
> >     style: (function() {
> >         function ruleStyle(vitrep, angle, lon, lat) {
> >             var ruleStyle = [new ol.style.Style({
> >                 image: new ol.style.Icon({
> >                     src: 'images/windarrow_42.png',
> >                     rotation: angle * 3.141592654 / 180
> >                 }),
> >             })];
> >             return ruleStyle;
> >         }
> >         return function(feature, resolution) {
> >             var vitrep = feature.get('VITREP');
> >             var angle = - feature.get('ANGLE');
> >             var lon = feature.getX;
> >             var lat = feature.Y;
> >             return ruleStyle(vitrep, angle, lon, lat);
> >     };
> >     })()
> > });
> >
> >
> >
> >
> >
> >
> >
> > On 12/01/2014 08:50 PM, Lime, Steve D (MNIT) wrote:
> >> How are you triggering the GML production in MapServer?
> >>
> >> -----Original Message-----
> >> From: mapserver-users-bounces at lists.osgeo.org
> > [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of
> bpicinbono at worldonline.fr
> >> Sent: Monday, December 01, 2014 11:01 AM
> >> To: mapserver-users at lists.osgeo.org
> >> Subject: [mapserver-users] maxscale (denom) with gml ?
> >>
> >> Dear list,
> >>
> >> I have a mapfile that control the display of some numerous data
> >> depending on
> > the
> >> scale:
> >> - dezooming max: not displaying the shapes;
> >> - at a particular zooming-in level: displaying the shapes;
> >>
> >> This is done with:
> >> MAXSCALE 200000000
> >> in the WEB section of the mapfile
> >>
> >> and with:
> >> MAXSCALEDENOM 20000000
> >> in the layer section of the mapfile
> >>
> >> This works fine rendering images with a basic cgi mapserver
> >> application or in
> > an opelayers 3 application.
> >>
> >> I am now trying to get the same behaviour in an openlayers 3
> >> application but
> > rendering the shapes on client side through gml instead of server side
> image
> rendering.
> >> Gml rendering works fine, but it seems that the MAXSCALE (DENOM)
> >> directive is
> >> omitted: the shapes display is no more turned off when dezooming a lot.
> >>
> >> Any clue to have this MAXSCALE ( DENOM ) working with gml display ?
> >> Thanks in advance
> >> _______________________________________________
> >> mapserver-users mailing list
> >> mapserver-users at lists.osgeo.org
> >> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> >>
> >>
> > _______________________________________________
> > mapserver-users mailing list
> > mapserver-users at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/mapserver-users
> >
> >
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users


More information about the mapserver-users mailing list