Hi Kajod,

If you are using PostGIS, then I would set the 'wfs_extent' metadata at the layer level of the mapfile (it looks like you tried that, with an odd 'wfs_boundingbox' parameter): please review the syntax of the wfs_extent parameter at http://www.mapserver.org/ogc/wfs_server.html#layer-object

Then, next step is always to execute a GetCapabilities request and go through that response and make sure there are no "WARNING" messages, and make the changes in the mapfile to remove those warnings if necessary...

-jeff


--
Jeff McKenna
MapServer Consulting and Training Services
http://www.gatewaygeomatics.com/




On 2017-04-26 10:42 AM, Kajod Sharma wrote:
Hi,

Greetings!

I hope this is a right platform to discuss my query regarding FILTER
applied on MapServer WFS.

I'm new in this area and exploring some features of MapServer. I want to
use GetFeature request of WFS to get features applied on any location on
map. I'm using "MapServer version 7.0.4 (MS4W 3.2.1)" and trying to
apply filter "Contains" for it.

I can see two problems when it applies Filter query on PostGIS:

1. It looks it adds an extra default geospatial filter in it while
making a query to PostGIS. This default spatial filter is not stopping
to return any result from PostGIS. Is there any way to exclude this
default filter?
2. It seems Contains coordinates are not transformed properly according
to SRS of data in PostGIS.

I've tries with different projection in map file and request message
with no success.

Supporting data to give your input on my queries:

WFS request
*************************
Formatted Version:

http://localhost/cgi-bin/mapserv.exe?
service=WFS&
map=C:/Data/MapServerWFSSample.map&
request=GetFeature&
version=2.0.0&
typeName=SampleLayer&
FILTER=<Filter xmlns="http://www.opengis.net/ogc";
xmlns:gml="http://www.opengis.net/gml";
xmlns:ms="http://mapserver.gis.umn.edu/mapserver";>
  <*Contains*>
    <PropertyName>wkb_Geometry</PropertyName>
    <gml:Point srsName="urn:ogc:def:crs:EPSG::4326">
      <gml:coordinates>0.112034,53.567972</gml:coordinates>
    </gml:Point>
  </*Contains*>
</Filter>
*************************

PostGIS query [Could see in log file]:
*************************
msPostGISLayerWhichShapes query: select
"Attribute1","Attribute2","Attribute3",encode(ST_AsBinary(ST_Force2D("wkb_geometry"),'NDR'),'hex')
as geom from SampleGeoDataTable where */wkb_geometry &&
ST_GeomFromText('POLYGON((-0.999462804873474
-1.00102606014116,-0.999462804873474
-1.00102606014116,-0.999462804873474
-1.00102606014116,-0.999462804873474
-1.00102606014116,-0.999462804873474
-1.00102606014116))',find_srid('','SampleGeoDataTable','wkb_geometry'))/* and
(st_contains(wkb_geometry,ST_GeomFromText('POINT
(*/7853690.3631838141000000 -5506204.5232773330000000/*)')) = TRUE)
*************************

Similar WFS query to GeoServer works perfectly.

It would be very helpful if someone can help me on it. Thanks a lot in
advance.

Map File looks like:

**************************************************
MAP
  NAME "Sample_WMS"
  CONFIG "PROJ_LIB" "C:\ms4w\proj\nad"
  CONFIG "MS_ERRORFILE" "C:/Data/ms_tmp/ms_error.txt"
  CONFIG "CPL_DEBUG" "ON"
  CONFIG "PROJ_DEBUG" "ON"
  STATUS ON
  PROJECTION
    "init=epsg:27700"
  END

  WEB
   IMAGEPATH "C:/Data/ms_tmp/"
   IMAGEURL "/ms_tmp/"
   METADATA
    "wfs_enable_request" "*"
    "wfs_title"         "My Global Map WFS Server"
    "wfs_srs"           "EPSG:4326 EPSG:900913 EPSG:27700"
    "wfs_boundingbox"    "EPSG:27700 749.099975585938 -90036.5
660460.875 1227306.5"
   END
  END

  LAYER
   NAME "SampleLayer"
   STATUS DEFAULT
   TYPE POLYGON
   PROJECTION
    "init=epsg:27700"
   END
   CONNECTIONTYPE POSTGIS
   CONNECTION "host=localhost port=5432 dbname=SampleGeoDataTable
user=postgres password=hahaha"
   DATA "wkb_geometry from SampleLayer"
   CLASS
     STYLE
      COLOR      0 100 255
      OUTLINECOLOR 0 0 0
     END
   END

   METADATA
    "wfs_enable_request" "*"
    "wfs_title"         "Sample WFS"
    "wfs_srs"           "EPSG:27700 EPSG:4326 EPSG:900913"
    "wfs_boundingbox"    "EPSG:27700 749.099975585938 -90036.5
660460.875 1227306.5"
    "gml_include_items" "all"
   END
  END
END
**************************************************

Regards,
Kajod




_______________________________________________
mapserver-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to