defining WFS Geometry/spatial column

N Zhou zhou_naijun at HOTMAIL.COM
Thu Mar 17 11:28:17 EST 2005


Hi,

Thank you very much for your prompt response. I have a follow up question.

How can I define the geometry/spatial column? My DescribeFeatureType never
showed the name of such a column, so I never noticed this issue. In
particular, when ArcView shape files are used, the geometry/spatial column
is hidden. But I cannot see the information about the column in
DescribeFeatureType even when I used in map file:
        wfs_geometry_element_name "MS_GEOMETRY"

Thank you!

N. Zhou

>From: Bart van den Eijnden <bartvde at XS4ALL.NL>
>Reply-To: bartvde at XS4ALL.NL
>To: MAPSERVER-USERS at LISTS.UMN.EDU
>Subject: Re: [UMN_MAPSERVER-USERS] WFS filter query
>Date: Tue, 15 Mar 2005 17:55:33 +0100
>
>Hi,
>
>if you use the HTTP GET interface, you need to provide the same filter, so
>for my situation:
>
>http://myserver/cgi-bin/mapserv.exe?map=/ms4w/apps/general/map/provincies.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=Provincies&FILTER=<ogc:Filter><ogc:BBOX><PropertyName>MS_GEOMETRY</PropertyName><gml:Box><gml:coordinates>121000,469000
>140000,470000</gml:coordinates></gml:Box></ogc:BBOX></ogc:Filter>
>
>You do need to specify the propertyName *inside the BBOX filter*, this is
>the spatial column, Mapserver has a default of MS_GEOMETRY, which you can
>also see by doing a DescribeFeatureType request on your WFS. This is
>something else than the propertyName *outside the Filter* which you are
>talking about, which can be used to only retrieve some attributes, which
>is however not implemented in Mapserver.
>
>Did you try adapting my example for your situation? I don't use the wfs
>namespace (GetFeature instead of wfs:GetFeature), and don't provide the
>XML header which you do.
>
>Is GetCapabilities and DescribeFeatureType working?
>
>Good luck.
>
>Best regards,
>Bart
>
> > Hi Bart,
> >
> > Thank you for your email.
> >
> > The only difference between your example and mine is "PropertyName"
>under
> > the <ogc:BBOX>. I think "PropertyName" is optional to specify returned
> > elements. Does "<PropertyName>MS_GEOMETRY</PropertyName>" mean that
> > spatial
> > BBOX query should use the column "MS_GEOMETRY"? I use .shp files.
> >
> > Should I change my map file (or mapserver, which works for non Filter
> > requests) to support the Filter and/or BBOX query? When I use the URL
> > request:
> >
>http://localhost/cgi-bin/mapserv_44.exe?map=mymapfile&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=myType&FILTER=<Filter><Within><gml:Box><gml><coordinates>0,0
> > 600000,600000</gml:coordinates></gml:Box></Within></Filter>
> >
> > the mapserver told me this:
> > msWFSGetFeature(): WFS server error. Invalid or Unsupported FILTER in
> > GetFeature
> >
> > Thank you!
> >
> > N. Zhou
> >
> >>From: Bart van den Eijnden <bartvde at XS4ALL.NL>
> >>Reply-To: bartvde at XS4ALL.NL
> >>To: MAPSERVER-USERS at LISTS.UMN.EDU
> >>Subject: Re: [UMN_MAPSERVER-USERS] WFS filter query
> >>Date: Tue, 15 Mar 2005 16:33:28 +0100
> >>
> >>Hi,
> >>
> >>this works for me:
> >>
> >><GetFeature service="WFS" version="1.0.0"
> >>   maxFeatures="20"
> >>   xmlns="http://www.opengis.net/wfs"
> >>   xmlns:gml="http://www.opengis.net/gml"
> >>   xmlns:ogc="http://www.opengis.net/ogc"
> >>   xmlns:xlink="http://www.w3.org/1999/xlink"
> >>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >>   xsi:schemaLocation="http://schemas.opengis.net/wfs/1.0.0
> >> WFS-basic.xsd">
> >>   <Query typeName="gemeentes">
> >>     <ogc:Filter>
> >>       <ogc:BBOX>
> >>         <PropertyName>MS_GEOMETRY</PropertyName>
> >>         <gml:Box><gml:coordinates>121000,469000
> >>140000,470000</gml:coordinates></gml:Box>
> >>       </ogc:BBOX>
> >>     </ogc:Filter>
> >>   </Query>
> >></GetFeature>
> >>
> >>Best regards,
> >>Bart
> >>
> >> > Hi,
> >> >
> >> > I have a problem of using WFS filter to get data within a bounding
> >> box.
> >>My
> >> > WFS post request is:
> >> >
> >> > <?xml version=\"1.0\" ?>
> >> > <wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"
> >> >             xmlns:wfs="http://www.opengis.net/wfs"
> >> >             xmlns:ogc="http://www.opengis.net/ogc"
> >> >             xmlns:gml="http://www.opengis.net/gml"
> >> >             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >> >             xsi:schemaLocation="http://www.opengis.net/wfs"
> >> >             http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd">
> >> >   <wfs:Query typeName="mytype">
> >> >      <ogc:Filter>
> >> >         <ogc:BBOX>
> >> >            <gml:Box>
> >> >               <gml:coordinates>0,0 505234,5448023</gml:coordinates>
> >> >            </gml:Box>
> >> >        </ogc:BBOX>
> >> >      </ogc:Filter>
> >> >   </wfs:Query>
> >> > </wfs:GetFeature>
> >> >
> >> > But the mapserver would stop with an error of "Premature end of
>script
> >> > headers: mapserv_44.exe"
> >> > Could anyone tell me why? I know there is a WFS bug of filtering some
> >> > elements rather than getting all elements.
> >> >
> >> > Thank you very much!
> >> >
> >> > N. Zhou
> >> >
> >



More information about the mapserver-users mailing list