[OpenLayers-Users] Problem with a WFS request
Arthur Delorme
delorme.ipgp at gmail.com
Fri Aug 21 09:49:34 EDT 2009
Indeed, I see ms:aster_gdem in the XML flow. I added featurePrefix but
it's still not working.
Maybe I did some bad things in the map file ? But if it works when I
make an URL request...
I added an ID attribute to my shapefile objects to indicate the
gml_featureid in the map file. Here is a sample of the XML flow I obtain
with an URL request
(http://IP/cgi-bin/mapserv_5.4.1?map=/var/www/html/WFS_server/test.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=aster_gdem&BBOX=70,35,75,37)
:
<?xml version='1.0' encoding="ISO-8859-1" ?>
<wfs:FeatureCollection
xmlns:ms="http://mapserver.gis.umn.edu/mapserver"
xmlns:wfs="http://www.opengis.net/wfs"
xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc"
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
http://mapserver.gis.umn.edu/mapserver
http://IP/cgi-bin/mapserv_5.4.1?map=/var/www/html/WFS_server/test.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=aster_gdem&OUTPUTFORMAT=XMLSCHEMA">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>72.999889,34.999868
75.000043,37.000021</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<gml:featureMember>
<ms:aster_gdem fid="aster_gdem.597">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>72.999889,34.999868
74.000115,36.000094</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>72.999889,36.000094 74.000115,36.000094
74.000115,34.999868 72.999889,34.999868 72.999889,36.000094
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ms:msGeometry>
</ms:aster_gdem>
</gml:featureMember>
<gml:featureMember>
<ms:aster_gdem fid="aster_gdem.336">
<gml:boundedBy>
<gml:Box srsName="EPSG:4326">
<gml:coordinates>74.000115,36.000094
75.000043,37.000021</gml:coordinates>
</gml:Box>
</gml:boundedBy>
<ms:msGeometry>
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>74.000115,37.000021 75.000043,37.000021
75.000043,36.000094 74.000115,36.000094 74.000115,37.000021
</gml:coordinates>
</gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ms:msGeometry>
</ms:aster_gdem>
</gml:featureMember>
</wfs:FeatureCollection>
Thanks again for your help,
Best regards,
Arthur
bartvde at osgis.nl a écrit :
> Hi,
>
> is there any prefix used in your GML, again Mapserver defaults to ms:, so
> in that case you need to add:
>
> featureType: "aster_gdem",
> featureNS: "http://mapserver.gis.umn.edu/mapserver",
> featurePrefix: "ms"
>
> Best regards,
> Bart
>
>> Thank you !
>>
>> Now I think I am close but it's still not working... Vectors are not
>> displayed. Do you see where I am wrong ?
>>
>> var map, wms, test_WFS;
>> function init()
>> {
>> map = new OpenLayers.Map('map', {
>> controls: [new OpenLayers.Control.Navigation(),
>> new OpenLayers.Control.PanZoom(),
>> new OpenLayers.Control.LayerSwitcher()
>> ]
>> });
>>
>> wms = new OpenLayers.Layer.WMS("OpenLayers WMS",
>> "http://labs.metacarta.com/wms/vmap0", {
>> layers:'basic'
>> }
>> );
>>
>> test_WFS = new OpenLayers.Layer.Vector("test WFS", {
>> strategies: [new OpenLayers.Strategy.BBOX()],
>> protocol: new OpenLayers.Protocol.WFS({
>> url:
>> "http://IP-address/cgi-bin/mapserv_5.4.1?map=/var/www/html/WFS_server/test.map",
>> featureType: "aster_gdem",
>> featureNS: "http://mapserver.gis.umn.edu/mapserver"
>> })
>> });
>>
>> map.addLayers([wms, test_WFS]);
>>
>> map.zoomToMaxExtent();
>> }
>>
>> Best regards,
>>
>> Arthur
>>
>> bartvde at osgis.nl a écrit :
>>> Hi Arthur,
>>>
>>> yes the BBOX strategy will take care of that.
>>>
>>> The GML version is determined by the protocol version, WFS 1.0 is tied
>>> to
>>> GML2, whereas WFS 1.1 is tied to GML3. The WFS protocol version defaults
>>> to 1.0, so you will get the Format.GML.v2 parser. So you should not need
>>> to change anything.
>>>
>>> You can retrieve the url for featureNS from a WFS DescribeFeatureType
>>> request (intranet url, for example only):
>>>
>>> http://test.intranet.rijkswaterstaat.nl/services/geoservices/overzichtskaartnl?service=WFS&request=DescribeFeatureType&version=1.0.0
>>>
>>> then check the source and look for targetNamespace, by default this is
>>> http://mapserver.gis.umn.edu/mapserver
>>>
>>> Best regards,
>>> Bart
>>>
>
>
>
More information about the Users
mailing list