[GRASS-user] r.in.wms help needed
Moritz Lennert
mlennert at club.worldonline.be
Tue Aug 9 13:27:36 PDT 2016
On 09/08/16 20:12, Helmut Kudrnovsky wrote:
> hi,
>
> there is a nice map compilation available via WMTS: http://www.basemap.at/
> WMTS GetCapabilities :
> https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml
>
> what I've done:
>
> - create a location with EPSG:3857
> - set the region for a small area of interest
>
> g.region -p
> projection: 99 (WGS 84 / Pseudo-Mercator)
> zone: 0
> datum: wgs84
> ellipsoid: wgs84
> north: 5961400
> south: 5930120
> west: 1401500
> east: 1407550
> nsres: 10
> ewres: 10
> rows: 3128
> cols: 605
> cells: 1892440
>
> then check the WMTS server via gdalinfo
>
> ------------------------------
> gdalinfo "https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml"
> Driver: WMTS/OGC Web Mab Tile Service
> Files: none associated
> Size is 512, 512
> Coordinate System is `'
> Origin = (0.000000000000000,0.000000000000000)
> Pixel Size = (1.000000000000000,1.000000000000000)
> Subdatasets:
>
> SUBDATASET_1_NAME=WMTS:http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml,layer=geolandbasemap
> SUBDATASET_1_DESC=Layer Geoland Basemap
>
> SUBDATASET_2_NAME=WMTS:http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml,layer=bmapoverlay
> SUBDATASET_2_DESC=Layer Geoland Basemap Overlay
>
> SUBDATASET_3_NAME=WMTS:http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml,layer=bmapgrau
> SUBDATASET_3_DESC=Layer Geoland Basemap Grau
>
> SUBDATASET_4_NAME=WMTS:http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml,layer=bmaphidpi
> SUBDATASET_4_DESC=Layer Basemap High DPI
>
> SUBDATASET_5_NAME=WMTS:http://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml,layer=bmaporthofoto30cm
> SUBDATASET_5_DESC=Layer Geoland Basemap Orthofoto
> Corner Coordinates:
> Upper Left ( 0.0000000, 0.0000000)
> Lower Left ( 0.000, 512.000)
> Upper Right ( 512.000, 0.000)
> Lower Right ( 512.000, 512.000)
> Center ( 256.000, 256.000)
> ------------------------------
>
> then check one of the available layers:
>
> ------------------------------
> gdalinfo
> "WMTS:https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml,layer=bmapgrau"
>
> Driver: WMTS/OGC Web Mab Tile Service
> Files: none associated
> Size is 3134414, 1484550
> Coordinate System is:
> PROJCS["WGS 84 / Pseudo-Mercator",
> GEOGCS["WGS 84",
> DATUM["WGS_1984",
> SPHEROID["WGS 84",6378137,298.257223563,
> AUTHORITY["EPSG","7030"]],
> AUTHORITY["EPSG","6326"]],
> PRIMEM["Greenwich",0,
> AUTHORITY["EPSG","8901"]],
> UNIT["degree",0.0174532925199433,
> AUTHORITY["EPSG","9122"]],
> AUTHORITY["EPSG","4326"]],
> PROJECTION["Mercator_1SP"],
> PARAMETER["central_meridian",0],
> PARAMETER["scale_factor",1],
> PARAMETER["false_easting",0],
> PARAMETER["false_northing",0],
> UNIT["metre",1,
> AUTHORITY["EPSG","9001"]],
> AXIS["X",EAST],
> AXIS["Y",NORTH],
> EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
> +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext
> +no_defs"],
> AUTHORITY["EPSG","3857"]]
> Origin = (977649.895442947745323,6281290.132053932175040)
> Pixel Size = (0.298582141740400,-0.298582141740400)
> Metadata:
> ABSTRACT=basemap von Österreich in Grau
> TITLE=Geoland Basemap Grau
> Image Structure Metadata:
> INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left ( 977649.895, 6281290.132) ( 8d46'56.56"E, 49d 2'16.34"N)
> Lower Left ( 977649.895, 5838030.014) ( 8d46'56.56"E, 46d21'31.57"N)
> Upper Right ( 1913529.941, 6281290.132) ( 17d11'22.31"E, 49d 2'16.34"N)
> Lower Right ( 1913529.941, 5838030.014) ( 17d11'22.31"E, 46d21'31.57"N)
> Center ( 1445589.918, 6059660.073) ( 12d59' 9.44"E, 47d42'55.93"N)
> Band 1 Block=128x128 Type=Byte, ColorInterp=Red
> Overviews: 1567207x742275, 783604x371138, 391802x185569, 195901x92784,
> 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900, 3061x1450,
> 1530x725, 765x362, 383x181
> Mask Flags: PER_DATASET ALPHA
> Overviews of mask band: 1567207x742275, 783604x371138, 391802x185569,
> 195901x92784, 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900,
> 3061x1450, 1530x725, 765x362, 383x181
> Band 2 Block=128x128 Type=Byte, ColorInterp=Green
> Overviews: 1567207x742275, 783604x371138, 391802x185569, 195901x92784,
> 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900, 3061x1450,
> 1530x725, 765x362, 383x181
> Mask Flags: PER_DATASET ALPHA
> Overviews of mask band: 1567207x742275, 783604x371138, 391802x185569,
> 195901x92784, 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900,
> 3061x1450, 1530x725, 765x362, 383x181
> Band 3 Block=128x128 Type=Byte, ColorInterp=Blue
> Overviews: 1567207x742275, 783604x371138, 391802x185569, 195901x92784,
> 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900, 3061x1450,
> 1530x725, 765x362, 383x181
> Mask Flags: PER_DATASET ALPHA
> Overviews of mask band: 1567207x742275, 783604x371138, 391802x185569,
> 195901x92784, 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900,
> 3061x1450, 1530x725, 765x362, 383x181
> Band 4 Block=128x128 Type=Byte, ColorInterp=Alpha
> Overviews: 1567207x742275, 783604x371138, 391802x185569, 195901x92784,
> 97950x46392, 48975x23196, 24488x11598, 12244x5799, 6122x2900, 3061x1450,
> 1530x725, 765x362, 383x181
> ------------------------------
>
> then create GDAL's Capabilities file
>
> ------------------------------
> gdal_translate
> "WMTS:https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml,layer=bmapgrau"
> wmts_bmapgrau.xml -of WMTS
>
> <GDAL_WMTS>
>
> <GetCapabilitiesUrl>https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml</GetCapabilitiesUrl>
> <Layer>bmapgrau</Layer>
>
> <TileMatrixSet>google3857</TileMatrixSet>
> <DataWindow>
> <UpperLeftX>977649.8954429477</UpperLeftX>
> <UpperLeftY>6281290.132053932</UpperLeftY>
> <LowerRightX>1913529.940664042</LowerRightX>
> <LowerRightY>5838030.013533222</LowerRightY>
> </DataWindow>
> <BandsCount>4</BandsCount>
> <Cache />
> <UnsafeSSL>true</UnsafeSSL>
> <ZeroBlockHttpCodes>204,404</ZeroBlockHttpCodes>
> <ZeroBlockOnServerException>true</ZeroBlockOnServerException>
> </GDAL_WMTS>
> ------------------------------
>
> then switch to GRASS GIS and save the Capabilities file
> basemap_rinwms_flag_c.xml
> <http://osgeo-org.1560.x6.nabble.com/file/n5280116/basemap_rinwms_flag_c.xml>
>
> it seems ok so far
>
> then try r.in.wms with GRASS WMTS driver:
>
> ------------------------------
> r.in.wms --verbose
> url=https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml output=test
> layers=bmapgrau srs=3857 driver=WMTS_GRASS
> Downloading data from WMS server...
> WARNING: no switch
> Fetching 56 tiles with 256 x 256 pixel size per tile...
> Traceback (most recent call last):
> File "/home/bugs/dev/cpp/grass7_trunk/dist.x86_64-pc-
> linux-gnu/scripts/r.in.wms", line 236, in <module>
> sys.exit(main())
> File "/home/bugs/dev/cpp/grass7_trunk/dist.x86_64-pc-
> linux-gnu/scripts/r.in.wms", line 222, in main
> fetched_map = wms.GetMap(options, flags)
> File "/home/bugs/dev/cpp/grass7_trunk/dist.x86_64-pc-
> linux-gnu/etc/r.in.wms/wms_base.py", line 210, in GetMap
> self.temp_map = self._download()
> File "/home/bugs/dev/cpp/grass7_trunk/dist.x86_64-pc-
> linux-gnu/etc/r.in.wms/wms_drv.py", line 205, in _download
> tile_dataset.GetRasterBand(1).DataType)
> AttributeError: 'NoneType' object has no attribute
> 'DataType'
> ------------------------------
>
> and then with with the GDAL WMS driver:
>
> ------------------------------
> r.in.wms --verbose
> url=https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml output=test
> layers=bmapgrau srs=3857 driver=WMS_GDAL
> Downloading data from WMS server...
> ERROR 1: GDALWMS: The server returned unknown exception.
> ERROR 1: /home/bugs/grassdata/loc_epsg3857/rastadata/.tmp/na
> da/3422.1, band 1: IReadBlock failed at X offset 0, Y offset
> 0
> ERROR 1: GetBlockRef failed at X block offset 0, Y block
> offset 0
> ERROR: Incorrect WMS query
> ------------------------------
>
> GDAL has WMS/WMTS support
>
> gdalinfo --formats
> [...]
> WCS -raster- (rovs): OGC Web Coverage Service
> WMS -raster- (rwvs): OGC Web Map Service
> [...]
> WMTS -raster- (rwv): OGC Web Mab Tile Service
>
> tested with
>
> ------------------------------
> System Info
> GRASS version: 7.3.svn
> GRASS SVN revision: r69110
> Build date: 2016-08-09
> Build platform: x86_64-pc-linux-gnu
> GDAL: 2.1.1
> PROJ.4: 4.8.0
> GEOS: 3.4.2
> SQLite: 3.8.7.1
> Python: 2.7.9
> wxPython: 3.0.1.1
> Platform: Linux-3.16.0-4-amd64-x86_64-with-debian-8.5
> ------------------------------
>
> any ideas?
No, but I can confirm your problem.
Using the wxGUI Web Service interface I see the different layers, but
when I try to add one of them I get exactly the same error.
Time for a bug ticket, I guess...
Moritz
More information about the grass-user
mailing list