Hi,
I`m trying to access a WMS service for european OSM data (german link: http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten ) in GRASS 6.4 with r.in.wms in an EXPSG4326 location
r.in.wms --o v=5 layers=Wald mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml output=Wald
This produces this error message by r.in.wms:
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff' not recognised as a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
The error message is justified, as the content of "Wald__0.geotiff" is actually XML, not a geotiff:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ; xmlns:ows="http://www.opengis.net/ows/1.1" ; version="1.1.1" xml:lang="en-US" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"> ;
<ows:Exception exceptionCode="service" locator="MissingParameterValue">
<ows:ExceptionText>msWFSDispatch(): WFS server error. Incomplete WFS request: SERVICE parameter missing</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
What is the proper r.in.wms configuration to overcome this ?
Peter
--
Dr. Peter Löwe
<peter.loewe@gmx.de>
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
marisn
April 25, 2010, 9:05am
2
Hello,
unfortunately r.in.wms is just a hack and not robust enough to use in
real world use cases.
Developers wanted!
http://trac.osgeo.org/grass/ticket/1025
Maris.
2010/4/25, peter.loewe@gmx.de <peter.loewe@gmx.de>:
Hi,
I`m trying to access a WMS service for european OSM data (german link:
http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten ) in GRASS
6.4 with r.in.wms in an EXPSG4326 location
r.in.wms --o v=5 layers=Wald
mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml output=Wald
This produces this error message by r.in.wms:
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff' not recognised as
a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
The error message is justified, as the content of "Wald__0.geotiff" is
actually XML, not a geotiff:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ;
xmlns:ows="http://www.opengis.net/ows/1.1" ; version="1.1.1" xml:lang="en-US"
xsi:schemaLocation="http://www.opengis.net/ows/1.1
http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"> ;
<ows:Exception exceptionCode="service" locator="MissingParameterValue">
<ows:ExceptionText>msWFSDispatch(): WFS server error. Incomplete WFS
request: SERVICE parameter missing</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
What is the proper r.in.wms configuration to overcome this ?
Peter
--
Dr. Peter Löwe
<peter.loewe@gmx.de>
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
Hamish
April 25, 2010, 9:14am
3
Hi Peter,
I`m trying to access a WMS service for european OSM data
(german link: http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten )
in GRASS 6.4 with r.in.wms in an EXPSG4326 location
r.in.wms --o v=5 layers=Wald mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml
output=Wald
This produces this error message by r.in.wms:
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff'
not recognised as a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
The error message is justified, as the content of
"Wald__0.geotiff" is actually XML, not a geotiff:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ;
xmlns:ows="http://www.opengis.net/ows/1.1" ;
version="1.1.1" xml:lang="en-US" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"> ;
<ows:Exception exceptionCode="service"
locator="MissingParameterValue">
<ows:ExceptionText>msWFSDispatch(): WFS
server error. Incomplete WFS request: SERVICE parameter
missing</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
What is the proper r.in.wms configuration to overcome this
?
first try setting debug level to 1:
g.gisenv set="DEBUG=1"
this will show you the formed HTTP request string.
as a first stab I'd try the -g flag though.
Hamish
Hamish
April 25, 2010, 9:41am
4
Maris wrote:
unfortunately r.in.wms is just a hack and not robust enough
to use in real world use cases.
it's one hell of a hack though, and with a bit of encouragement
it can often get the job done!
often success depends on how brittle and spec. conformal the
server is. (experience shows if it's GeoServer or similar FOSS
your changes are much better
Developers wanted!
http://trac.osgeo.org/grass/ticket/1025
absolutely. now that GDAL has a WMS import filter we might
try using that. At last check it wasn't as flexible as needed
though. (more info on that in another wish in the tracker?)
regards,
Hamish
Hamish,
thanks for the advice. Still no advance yet:
-------
GRASS 6.4.0svn (lllat):~/foo > r.in.wms --o -g v=5 layers=Wald mapserver=http:/
/osm.wheregroup.com/cgi-bin/osm_basic.xml output=Wald
WARNING: The verbosity option is superseded. Use --verbose instead
Skipping argument for region
Skipping argument for styles
Skipping argument for tileoptions
wms.request 'folder=/media/pl_ext2/locations/wms_download' 'prefix=Wald' 'mapserver=http://o
sm.wheregroup.com/cgi-bin/osm_basic.xml' 'layers=Wald' 'srs=EPSG:4326' 'format=geotiff' 'wmsq
uery=version=1.1.1' 'maxcols=1024' 'maxrows=1024'
D1/1: [wms.request]
Calculating tiles
Requesting 12 tiles.
wms.download -g 'requestfile=/media/pl_ext2/locations/wms_download/Wald_.wget' 'wgetoptions= -c -t 5 -nv' 'curloptions=-C - --retry 5 -s -S'
D1/1: [wms.download]
Downloading tiles
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
All tiles downloaded successfully
r.in.gdalwarp -c 'input=/shazzam/locations/wms_download/Wald__0.geotiff,/shazzam/locations/wms_download/Wald__1.geotiff,/shazzam/locations/wms_download/Wald__2.geotiff,[...]' 'output=Wald' 'method=nearest' 's_srs=EPSG:4326'
D1/1: [r.in.gdalwarp]
D1/1: gdalwarp -s_srs "EPSG:4326" -t_srs "GEOGCS["wgs84",DATUM["unknown",SPHEROID["WGS_1984", 6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]]" "/shazzam/locations/wms_download/Wald__0.geotiff" "/shazzam/locations/lllocation/osm/.tmp/kubuntu/29053.0warped.geotiff" -rn
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff' not recognised as a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
-------
Any other suggestions what to try ?
Err, are there other known OSM WMS services to be tried for reference ?
Peter
-------- Original-Nachricht --------
> I`m trying to access a WMS service for european OSM data
> (german link:
http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten )
> in GRASS 6.4 with r.in.wms in an EXPSG4326 location
>
> r.in.wms --o v=5 layers=Wald
mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml
> output=Wald
>
first try setting debug level to 1:
g.gisenv set="DEBUG=1"
this will show you the formed HTTP request string.
as a first stab I'd try the -g flag though.
--
Dr. Peter Löwe
<peter.loewe@gmx.de>
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
Hamish
April 25, 2010, 11:18pm
6
Peter wrote:
Downloading tiles
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
Tile already downloaded
All tiles downloaded successfully
try wiping the cache manually, the clear flag may work after
download not before. (look in location dir)
I found r.in.wms difficult because the server would time out and return an error file, which would be saved as a file named e.g. Wald__0.geotiff, but would actually be an html error message. This of course causes gdalwarp to fail. I got around it by just deleting those 4 kb error files and running it again, getting a few more tiles, deleting the error files, run again...... It took me a couple days (!) to download all the tiles I needed for a large high resolution map from Blue Marble, but it worked in the end. I also ended up patching and such manually, not using gdalwarp at all.
It was a bear, but not GRASS's fault, perhaps, but a server failure.
Hope this helps.
Nick Cahill
On Apr 25, 2010, at 4:14 AM, Hamish wrote:
Hi Peter,
I`m trying to access a WMS service for european OSM data
(german link: http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten )
in GRASS 6.4 with r.in.wms in an EXPSG4326 location
r.in.wms --o v=5 layers=Wald mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml
output=Wald
This produces this error message by r.in.wms:
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff'
not recognised as a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
The error message is justified, as the content of
"Wald__0.geotiff" is actually XML, not a geotiff:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ;
xmlns:ows="http://www.opengis.net/ows/1.1" ;
version="1.1.1" xml:lang="en-US" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"> ;
<ows:Exception exceptionCode="service"
locator="MissingParameterValue">
<ows:ExceptionText>msWFSDispatch(): WFS
server error. Incomplete WFS request: SERVICE parameter
missing</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
What is the proper r.in.wms configuration to overcome this
?
first try setting debug level to 1:
g.gisenv set="DEBUG=1"
this will show you the formed HTTP request string.
as a first stab I'd try the -g flag though.
Hamish
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user
Hamish
April 26, 2010, 10:29am
8
Peter wrote:
I`m trying to access a WMS service for european OSM data
(german link: http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten )
in GRASS 6.4 with r.in.wms in an EXPSG4326 location
r.in.wms --o v=5 layers=Wald mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml
output=Wald
(please use the r.in.wms -c flag while debugging)
This produces this error message by r.in.wms:
ERROR 4: `/shazzam/locations/wms_download/Wald__0.geotiff'
not recognised as a supported file format.
ERROR: r.in.gdalwarp: gdalwarp failure.
The error message is justified, as the content of
"Wald__0.geotiff" is actually XML, not a geotiff:
for me + multiple versions of Debian, the xml is correctly noticed and is
displayed to the screen instead of written as a .tif.
the test in the grass 6 version is:
if [ `file -b "$FILES" | grep -c "^HTML\|^XML"` -eq 1 ] ; then
what does this say:
file -b really_a_xml.tif
?
`file` is not highly portable, better ways to test it welcome.
<?xml version="1.0" encoding="ISO-8859-1"?>
<ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ;
xmlns:ows="http://www.opengis.net/ows/1.1" ;
version="1.1.1" xml:lang="en-US" xsi:schemaLocation="http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd"> ;
<ows:Exception exceptionCode="service"
locator="MissingParameterValue">
<ows:ExceptionText>msWFSDispatch(): WFS
server error. Incomplete WFS request: SERVICE parameter
missing</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
notice it says _WFS_ server error not _WMS_ server error.
I expect the wheregroup people are reading the OSM (vector) data from a
WFS server, rendering it with Osmarender or Mapnik on-the-fly, then WMS'ing
the rasterized result.
and the problem is between them and their OSM vector source.
??,
Hamish
ps- for lots of Blue Marble you might as well download the large binary
grids. ~ 1.4gb for the whole world. or use r.in.onearth WMS frontend from
wiki addons. look on the "Global datasets" page in the wiki. (currently
stalled)
Peter wrote:
> I`m trying to access a WMS service for european OSM data
> (german link:
http://www.wheregroup.com/de/freier_wms_mit_openstreetmap_daten )
> in GRASS 6.4 with r.in.wms in an EXPSG4326 location
>
> r.in.wms --o v=5 layers=Wald
mapserver=http://osm.wheregroup.com/cgi-bin/osm_basic.xml
> output=Wald
[...]
Hamish:
I expect the wheregroup people are reading the OSM (vector) data from a
WFS server, rendering it with Osmarender or Mapnik on-the-fly, then
WMS'ing
the rasterized result.
and the problem is between them and their OSM vector source.
This has been confirmed: There are pecularities regarding the WMS. Thanks for the support, Hamish !
I guess r.in.wms would benefit from improved error checking in the future, as otherwise similar WMS-related postings might appear again and again on the list.
Peter
??,
Hamish
ps- for lots of Blue Marble you might as well download the large binary
grids. ~ 1.4gb for the whole world. or use r.in.onearth WMS frontend from
wiki addons. look on the "Global datasets" page in the wiki. (currently
stalled)
--
Dr. Peter Löwe
<peter.loewe@gmx.de>
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01