Thank you for your findings. There may be another issue. I also had tried to use the secondary EPSG:4326 in my mapfile but that didn't succeed either.
I just tried putting in the EPSG in the .xml file but I still do not get expected answers. Debug output is this:
"""
WFS: GetFeature operation supports hits
WFS: No transaction support
GDAL: GDALOpen(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0) succeeds as WFS.
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop,info:dtk25%2Dv,info:dtk50,info:dtk100%2Dv_upd,info:basis%2Ddlm_upd,info:dgm1000,info:dgm200,info:dgm100_upd,info:dgm100,info:dgm50_upd,info:dgm50,info:dgm25_upd,info:dgm25,info:dgm10_upd,info:dgm10,info:dgm5_upd,info:dtk25_upd,info:dtk250,info:dtk100%2Dv,info:basis%2Ddlm,info:dtk1000,info:dtk25,info:dtk50%2Dv,info:dtk100,info:dtk100_upd,info:dtk50%2Dv_upd,info:dtk200,info:dop_upd,info:dtk25%2Dv_upd,info:dtk500,info:dtk50_upd,info:dgm5)
WFS: Turn off loading of multiple layer definitions at a single time
WFS: http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop)
WFS: http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=1&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=1&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop)
GML: Using Expat reader
GDAL: GDALOpen(/vsimem/tempwfs_0x14b43c0/file.gml, this=0x149c640) succeeds as GML.
GDAL: GDALClose(/vsimem/tempwfs_0x14b43c0/file.gml, this=0x149c640)
GDAL: GDALClose(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0)
WFS: GetFeature operation supports hits
WFS: No transaction support
GDAL: GDALOpen(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0) succeeds as WFS.
GDAL: GDALClose(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0)
WFS: GetFeature operation supports hits
WFS: No transaction support
GDAL: GDALOpen(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0) succeeds as WFS.
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop,info:dtk25%2Dv,info:dtk50,info:dtk100%2Dv_upd,info:basis%2Ddlm_upd,info:dgm1000,info:dgm200,info:dgm100_upd,info:dgm100,info:dgm50_upd,info:dgm50,info:dgm25_upd,info:dgm25,info:dgm10_upd,info:dgm10,info:dgm5_upd,info:dtk25_upd,info:dtk250,info:dtk100%2Dv,info:basis%2Ddlm,info:dtk1000,info:dtk25,info:dtk50%2Dv,info:dtk100,info:dtk100_upd,info:dtk50%2Dv_upd,info:dtk200,info:dop_upd,info:dtk25%2Dv_upd,info:dtk500,info:dtk50_upd,info:dgm5)
WFS: Turn off loading of multiple layer definitions at a single time
WFS: http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&SRSNAME=EPSG:25832&REQUEST=DescribeFeatureType&TYPENAME=info:dop)
WFS: http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=1&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=1&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop)
GML: Using Expat reader
GDAL: GDALOpen(/vsimem/tempwfs_0x14c06b0/file.gml, this=0x149c640) succeeds as GML.
GDAL: GDALClose(/vsimem/tempwfs_0x14c06b0/file.gml, this=0x149c640)
WFS: http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=500&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop
HTTP: Fetch(http://sg.geodatenzentrum.de/wfs_info?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=500&SRSNAME=EPSG:25832&REQUEST=GetFeature&TYPENAME=info:dop)
GML: Using Expat reader
GDAL: GDALOpen(/vsimem/tempwfs_0x14c06b0/file.gml, this=0x149c640) succeeds as GML.
GML: ResetReading()
GML: ResetReading()
GML: ResetReading()
GDAL: GDALClose(/vsimem/tempwfs_0x14c06b0/file.gml, this=0x149c640)
GDAL: GDALClose(/var/www/html/wfs-request-dop-bkg-age.xml, this=0x13949a0)
[warn] [pid 27] mod_fcgid: stderr: freeLayer(): freeing layer at 0x138e110.
3240054 - 172.17.0.1 - - [31/May/2021:07:25:03 +0000] "GET /cgi-bin/mapserv?map=/var/www/html/wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&BBOX=791880.72463009,6321925.37255709,792929.63787777,6322786.10157277&TYPENAME=DOP_AGE_DE HTTP/1.1" 200 1097 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
360 - 172.17.0.1 - - [31/May/2021:07:25:07 +0000] "GET /favicon.ico HTTP/1.1" 200 414 "http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&BBOX=791880.72463009,6321925.37255709,792929.63787777,6322786.10157277&TYPENAME=DOP_AGE_DE" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
"""
The url in the file now is:
"""
"""
Why do I have another reaction as you?
Lars,
I believe the service you request doesn't implement WFS 1.1 properly.
Trying this
./mapserv QUERY_STRING="map=wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&BBOX=791880.72463009,6321925.37255709,792929.63787777,6322786.10157277&TYPENAME=TestLayer"
I see that GDAL does:
So Mapserver has transmitted to GDAL a BBOX filter in epsg:25832 (which is the native SRS of the layer) that is the reprojection of your source BBOX from EPSG:3857. All things are good up to that point.
But the server returns an empty response.
Tweaking it manually to include a srsName="EPSG:25832" attribute in gml:Box returns a response with 2 features
But we shouldn't have to do this has a missing srsName should be interpretated as the defaultSRS according to my understand of the WFS 1.1 spec
You can however tweak the <URL> element in wfs-request-dop-bkg-age and add "&SRSNAME=EPSG:25832" to it (since it is the defaultSRS of all the layers of the service), and then GDAL will forward it.
Even
Le 28/05/2021 à 14:11, Lars Fricke a écrit :
No problem. Unfortunately, testing native WFS did not work because it does not properly support cascading wfs with different srs (see my other post).
Thanks for looking into this.
SkenData Email Signatur
Am 28.05.21 um 13:55 schrieb Even Rouault:
oops, sorry, didn't notice 😅
Le 28/05/2021 à 13:52, Lars Fricke a écrit :
I put in the files as attach. Is that filtered?
SkenData Email Signatur
Am 28.05.21 um 13:43 schrieb Even Rouault:
Please include your mapfile and the wfs-request-testlayer.xml file to reproduce. I'm confused by the mapfile you posted yesterday that uses epsg:25832 and the fact that GDAL through mapserver would issue a GetFeature in EPSG:3857 as suggested below. I can't see how that could happen (given the MapServer/GDAL integration, GDAL should always request in the native SRS of the layer and MapServer will do the reprojection to the SRSNAME of the WFS request)
But as Daniel suggested using the CONNECTION WFS is probably a better way of doing what you want
Le 28/05/2021 à 13:13, Lars Fricke via mapserver-users a écrit :
So here is the working not working setup. Unfortunately the working OGR WFS client layers are all private so I can not share them.
This call delivers objects as expected:
http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&Maxfeatures=10&TYPENAME=TestLayer
This one, too:
http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&Maxfeatures=10&TYPENAME=TestLayer
Data is delivered in the correct srs (verified manually with QGIS).
This call doesn't work as described before as BBOX is not transmitted to external server:
http://localhost:8181/cgi-bin/mapserv?map=/var/www/html/wfs.map&SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&BBOX=791880.72463009,6321925.37255709,792929.63787777,6322786.10157277&TYPENAME=TestLayer
While the same direct call works:
http://sg.geodatenzentrum.de/wfs_info?SRSNAME=EPSG:3857&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&BBOX=791880.72463009,6321925.37255709,792929.63787777,6322786.10157277&TYPENAME=info:dop
(funny, epsg 3857 is not in the capabilities but works anyhow)
I hope you can find out what is going wrong. Thanks so much for looking into this!
Best
Lars
SkenData Email Signatur
Am 27.05.21 um 18:28 schrieb Rahkonen Jukka (MML):
SkenData Email Signatur Hi,
Have you already tried to use WFS connection instead of OGR connection?
-Jukka Rahkonen-
Lähettäjä: mapserver-users <[email protected]> Puolesta Lars Fricke
Lähetetty: torstai 27. toukokuuta 2021 14.59
Vastaanottaja: [email protected]
Aihe: Re: [mapserver-users] WFS Client returns data at random with very same call
Dear all,
I apologize for finding and posting bits and pieces not all at one time.
I fired up 'CONFIG "CPL_DEBUG" "ON"' and there I see, that
"""HTTP: Fetch(http://url-to-external-server?SERVICE=WFS&VERSION=1.1.0&MAXFEATURES=1000&REQUEST=GetFeature&TYPENAME=dop)
"""
So there is no BBOX. On other layers I see
"""
GDALOpen(/vsicurl_streaming/https:...
"""
with BBOX.
No wonder I do not get reliable results if the server is calling some 1000 whatsoever result objects and starts filtering the bbox after.
Any idea what is happening? Or is this something for a GDAL thread?
Best
Lars
_______________________________________________ mapserver-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/mapserver-users-- http://www.spatialys.com My software is free, but my time generally not.
-- http://www.spatialys.com My software is free, but my time generally not.
-- http://www.spatialys.com My software is free, but my time generally not.
_______________________________________________ mapserver-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/mapserver-users
