[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