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

Lime, Steve D (MNIT) Steve.Lime at state.mn.us
Mon Dec 1 13:12:29 PST 2014


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&service=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



More information about the MapServer-users mailing list