<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We are actually testing the capabilities of the UNION layers especially in a WFS server context.  We were able to perform WFS GetFeature request against a union layer, however as soon as we add a  filtering criteria to our request It starts
 returns empty response.  Performing the same request on the underlying request works perfectly.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is the details about our map file definition and also sample WFS requests made.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">LAYER<o:p></o:p></p>
<p class="MsoNormal">  NAME 'unioned'<o:p></o:p></p>
<p class="MsoNormal">  TYPE POLYGON<o:p></o:p></p>
<p class="MsoNormal">  STATUS DEFAULT<o:p></o:p></p>
<p class="MsoNormal">  CONNECTIONTYPE UNION<o:p></o:p></p>
<p class="MsoNormal">  CONNECTION "layer1,layer2"<o:p></o:p></p>
<p class="MsoNormal">  PROCESSING "ITEMS=PKEY,PROJ_NAME"<o:p></o:p></p>
<p class="MsoNormal">   EXTENT 815927.781772741 639558.864791513 1248160.81380272 917014.748839214<o:p></o:p></p>
<p class="MsoNormal">   METADATA<o:p></o:p></p>
<p class="MsoNormal">     "gml_featureid"        "PKEY"<o:p></o:p></p>
<p class="MsoNormal">     "ows_enable_request"        "*"<o:p></o:p></p>
<p class="MsoNormal">     "ows_extent"        "815927.781772741 639558.864791513 1248160.81380272 917014.748839214"<o:p></o:p></p>
<p class="MsoNormal">     "ows_srs"        "EPSG:2234"<o:p></o:p></p>
<p class="MsoNormal">     "ows_title"        "unioned"<o:p></o:p></p>
<p class="MsoNormal">     "gml_include_items"        "all"<o:p></o:p></p>
<p class="MsoNormal">     "gml_types"        "auto"<o:p></o:p></p>
<p class="MsoNormal">    END # METADATA<o:p></o:p></p>
<p class="MsoNormal">STYLEITEM "AUTO"<o:p></o:p></p>
<p class="MsoNormal">  # Define an empty class that will be filled at runtime from the color and<o:p></o:p></p>
<p class="MsoNormal">  # styles read from each source layer.<o:p></o:p></p>
<p class="MsoNormal">  CLASS<o:p></o:p></p>
<p class="MsoNormal">  END<o:p></o:p></p>
<p class="MsoNormal">END<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">  LAYER<o:p></o:p></p>
<p class="MsoNormal">    CONNECTION "layer1.shp"<o:p></o:p></p>
<p class="MsoNormal">    CONNECTIONTYPE OGR<o:p></o:p></p>
<p class="MsoNormal">    EXTENT 815927.781772741 639558.864791513 1248160.81380272 917014.748839214<o:p></o:p></p>
<p class="MsoNormal">    METADATA<o:p></o:p></p>
<p class="MsoNormal">      "gml_featureid"        "PKEY"<o:p></o:p></p>
<p class="MsoNormal">      "ows_enable_request"        "*"<o:p></o:p></p>
<p class="MsoNormal">      "ows_extent"        "815927.781772741 639558.864791513 1248160.81380272 917014.748839214"<o:p></o:p></p>
<p class="MsoNormal">      "ows_srs"        "EPSG:2234"<o:p></o:p></p>
<p class="MsoNormal">      "ows_title"        "layer1"<o:p></o:p></p>
<p class="MsoNormal">      "gml_include_items"        "all"<o:p></o:p></p>
<p class="MsoNormal">      "gml_types"        "auto"<o:p></o:p></p>
<p class="MsoNormal">    END # METADATA<o:p></o:p></p>
<p class="MsoNormal">    NAME "layer1"<o:p></o:p></p>
<p class="MsoNormal">    PROJECTION<o:p></o:p></p>
<p class="MsoNormal">      "init=epsg:2234"<o:p></o:p></p>
<p class="MsoNormal">    END # PROJECTION<o:p></o:p></p>
<p class="MsoNormal">    STATUS ON<o:p></o:p></p>
<p class="MsoNormal">    TILEITEM "location"<o:p></o:p></p>
<p class="MsoNormal">    TYPE POLYGON<o:p></o:p></p>
<p class="MsoNormal">    UNITS METERS<o:p></o:p></p>
<p class="MsoNormal">    CLASS<o:p></o:p></p>
<p class="MsoNormal">      NAME "01 STIP"<o:p></o:p></p>
<p class="MsoNormal">      EXPRESSION ('[PROJ_CURRE]' eq '01_STIP')<o:p></o:p></p>
<p class="MsoNormal">      STYLE<o:p></o:p></p>
<p class="MsoNormal">        COLOR "#ffc80066"<o:p></o:p></p>
<p class="MsoNormal">        OPACITY 40<o:p></o:p></p>
<p class="MsoNormal">        OUTLINECOLOR "#ffc80066"<o:p></o:p></p>
<p class="MsoNormal">        WIDTH 3<o:p></o:p></p>
<p class="MsoNormal">      END # STYLE<o:p></o:p></p>
<p class="MsoNormal">    END # CLASS<o:p></o:p></p>
<p class="MsoNormal">  END # LAYER<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">  LAYER<o:p></o:p></p>
<p class="MsoNormal">    CONNECTION "layer2.shp"<o:p></o:p></p>
<p class="MsoNormal">    CONNECTIONTYPE OGR<o:p></o:p></p>
<p class="MsoNormal">    EXTENT 815927.781772741 639558.864791513 1248160.81380272 917014.748839214<o:p></o:p></p>
<p class="MsoNormal">    METADATA<o:p></o:p></p>
<p class="MsoNormal">      "gml_featureid"        "PKEY"<o:p></o:p></p>
<p class="MsoNormal">      "ows_enable_request"        "*"<o:p></o:p></p>
<p class="MsoNormal">      "ows_extent"        "815927.781772741 639558.864791513 1248160.81380272 917014.748839214"<o:p></o:p></p>
<p class="MsoNormal">      "ows_srs"        "EPSG:2234"<o:p></o:p></p>
<p class="MsoNormal">      "ows_title"        "layer2"<o:p></o:p></p>
<p class="MsoNormal">      "gml_include_items"        "all"<o:p></o:p></p>
<p class="MsoNormal">      "gml_types"        "auto"<o:p></o:p></p>
<p class="MsoNormal">    END # METADATA<o:p></o:p></p>
<p class="MsoNormal">    NAME "layer2"<o:p></o:p></p>
<p class="MsoNormal">    PROJECTION<o:p></o:p></p>
<p class="MsoNormal">      "init=epsg:2234"<o:p></o:p></p>
<p class="MsoNormal">    END # PROJECTION<o:p></o:p></p>
<p class="MsoNormal">    STATUS ON<o:p></o:p></p>
<p class="MsoNormal">    TILEITEM "location"<o:p></o:p></p>
<p class="MsoNormal">    TYPE POLYGON<o:p></o:p></p>
<p class="MsoNormal">    UNITS METERS<o:p></o:p></p>
<p class="MsoNormal">    CLASS<o:p></o:p></p>
<p class="MsoNormal">      NAME "01 STIP"<o:p></o:p></p>
<p class="MsoNormal">      EXPRESSION ('[PROJ_CURRE]' eq '01_STIP')<o:p></o:p></p>
<p class="MsoNormal">      STYLE<o:p></o:p></p>
<p class="MsoNormal">        COLOR "#ffc80066"<o:p></o:p></p>
<p class="MsoNormal">        OPACITY 40<o:p></o:p></p>
<p class="MsoNormal">        OUTLINECOLOR "#ffc80066"<o:p></o:p></p>
<p class="MsoNormal">        WIDTH 3<o:p></o:p></p>
<p class="MsoNormal">      END # STYLE<o:p></o:p></p>
<p class="MsoNormal">    END # CLASS<o:p></o:p></p>
<p class="MsoNormal">  END # LAYER<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Request against Layer1, return correct data.<o:p></o:p></b></p>
<p class="MsoNormal">http://localhost/ms/Mapserv.exe?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&FILTER=<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:PropertyIsEqualTo><ogc:PropertyName>PROJ_NAME</ogc:PropertyName><ogc:Literal>0172-0417</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>&RESULTTYPE=results&TYPENAME=layer1&PROPERTYNAME=(PROJ_NAME)&MAP=Internal/mastermap.map<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b>Layer2 works, return correct data.:<o:p></o:p></b></p>
<p class="MsoNormal">http://localhost/ms/Mapserv.exe?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&FILTER=<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:PropertyIsEqualTo><ogc:PropertyName>PROJ_NAME</ogc:PropertyName><ogc:Literal>0172-0417</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>&RESULTTYPE=results&TYPENAME=layer2&PROPERTYNAME=(PROJ_NAME)&MAP=Internal/mastermap.map<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><b>Unioned with filter returns empty answer:<o:p></o:p></b></p>
<p class="MsoNormal">http://localhost/ms/Mapserv.exe?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&FILTER=<ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"><ogc:PropertyIsEqualTo><ogc:PropertyName>PROJ_NAME</ogc:PropertyName><ogc:Literal>0172-0417</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter>&RESULTTYPE=results&TYPENAME=unioned&PROPERTYNAME=(PROJ_NAME)&MAP=Internal/mastermap.map<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Unioned without filter returns correct data.:<o:p></o:p></b></p>
<p class="MsoNormal">http://localhost/MapRenderingEngine/Mapserv.exe?SERVICE=WFS&REQUEST=GetFeature&VERSION=1.1.0&RESULTTYPE=results&TYPENAME=unioned&PROPERTYNAME=(PROJ_NAME)&MAP=Internal/mastermap.map<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So is this a known limitation or maybe a bug?  Does anyone have any suggestion to work around this?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
</div>
</body>
</html>