[mapserver-users] kml superoverlays

Even Rouault even.rouault at spatialys.com
Thu Jan 14 14:55:56 PST 2016


Le jeudi 14 janvier 2016 23:21:30, Jeff McKenna a écrit :
> On 2016-01-14 4:51 PM, Even Rouault wrote:
> >> Could this 'OGRDB2DriverOpen' be the issue?
> > 
> > This is just a harmelss debug message (that shouldn't be printed IMHO in
> > the Open() method of the DB2 driver. cc'ing David)
> > 
> >> Shouldn't GDAL use the
> >> "KMLSUPEROVERLAY" driver here?  (for the record that driver is listed in
> >> both my Windows and Ubuntu builds, through 'gdalinfo --formats').
> > 
> > No the issue is that the \ windows directory separator was used instead
> > of / for http ressources.
> > Just fixed with https://trac.osgeo.org/gdal/ticket/6310
> > 
> > You might get some extra open speedup by defining
> > GDAL_DISABLE_READDIR_ON_OPEN=EMPTY as env. var/config. option (this
> > prevents probing for (most) side-car files. This is not something to use
> > in general however.
> 
> Thanks Even, that worked!
> 
> Now onto MapServer :)  Unfortunately that same vsicurl superoverlay in
> MapServer-master works on Ubuntu, but now on Windows.  Here is more
> details:

Hum I didn't try with MapServer, but looking at the GDAL request it does in the logs, I tried
something close with gdal_translate:

gdal_translate /vsicurl/http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-doqq.kml out2.tif -outsize 312 300

and the good or bad news is that fails on both Ubuntu and Windows (well at least on wine/Linux) with
a similar error to yours:

VSICURL: Start download for http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/422.kml
VSICURL: Stop download for http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/422.kml
VSICURL: Start download for http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/422.JPEG
VSICURL: Stop download for http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-070501/422.JPEG
GDAL: GDALOpen(/vsimem/kmlsuperoverlay/6_0x1d0f878, this=0x1d12bd0) succeeds as JPEG.
GDAL: GDALDefaultOverviews::OverviewScan()
GDAL: GDALDefaultOverviews::OverviewScan()
ERROR 5: /vsimem/kmlsuperoverlay/3_0x1cf4ce8, band 1: Illegal nBlockXOff value (2) in GDALRasterBand::TryGetLockedBlockRef()

ERROR 5: /vsimem/kmlsuperoverlay/3_0x1cf4ce8, band 1: Illegal nBlockXOff value (2) in GDALRasterBand::GetLockedBlockRef()


Not sure why you get different results.

Mind opening a GDAL ticket about that ? I'm debugging something else tricky right now ;-)

> 
> Mapfile
> =======
> 
> MAP
> NAME "superoverlay"
> STATUS ON
> SIZE 400 300
> EXTENT -122.1293127 37.3727086 -122.0593424 37.4398034
> UNITS DD
> IMAGECOLOR 255 255 255
> 
> LAYER
>    NAME "mountain-view-superoverlay"
>    TYPE RASTER
>    STATUS ON
>    #DATA "mv-doqq.kml"
>    DATA
> "/vsicurl/http://mw1.google.com/mw-earth-vectordb/kml-samples/mv-doqq.kml"
>    CLASS
>      NAME "Superoverlay"
>      STYLE
>      END
>    END
> END # layer
> 
> END # Map File
> 
> Test1: MapServer with superoverlay+VSICURL, on Windows
> ======================================================
> 
> shp2img -m superoverlay-kml.map -o ttt.png -all_debug 5
> 
> result (fail)
> -------------
> 
> msLoadMap(): 0.000s
> msDrawMap(): rendering using outputformat named png (AGG/PNG).
> msDrawMap(): WMS/WFS set-up and query, 0.000s
> msDrawRasterLayerLow(mountain-view-superoverlay): entering.
> msDrawRasterLayerGDAL(): Entering transform.
> msDrawRasterLayerGDAL(): src=0,0,16384,16384, dst=44,0,312,300
> msDrawRasterLayerGDAL(): source raster PL (-4.888,-27.409) for dst PL
> (44,0).
> msDrawRasterLayerGDAL(): red,green,blue,alpha bands = 1,2,3,4
> drawGDAL(): Unable to access file. GDALDatasetRasterIO() failed:
> /vsimem/kmlsuperoverlay/3
> _085CA378, band 1: Illegal nBlockXOff value (2) in
> GDALRasterBand::GetLockedBlockRef()
> 
> msDrawMap(): Image handling error. Failed to draw layer named
> 'mountain-view-superoverlay'
> .
> msDrawMap(): Image handling error. Failed to draw layer named
> 'mountain-view-superoverlay'
> . <br>
> drawGDAL(): Unable to access file. GDALDatasetRasterIO() failed:
> /vsimem/kmlsuperoverlay/3
> _085CA378, band 1: Illegal nBlockXOff value (2) in
> GDALRasterBand::GetLockedBlockRef()
>   <br>
> msFreeMap(): freeing map at 061BA7F0.
> freeLayer(): freeing layer at 07273208.
> 
> Test2: MapServer with superoverlay+VSICURL, on Ubuntu
> ======================================================
> 
> $ shp2img -m superoverlay-kml.map -o ttt.png -all_debug 5
> 
> result (success)
> ----------------
> 
> [Thu Jan 14 18:20:02 2016].525687 msLoadMap(): 0.000s
> [Thu Jan 14 18:20:02 2016].525906 msDrawMap(): rendering using
> outputformat named png (AGG/PNG).
> [Thu Jan 14 18:20:02 2016].525919 msDrawMap(): WMS/WFS set-up and query,
> 0.000s
> [Thu Jan 14 18:20:02 2016].527354
> msDrawRasterLayerLow(mountain-view-superoverlay): entering.
> [Thu Jan 14 18:20:11 2016].774926 msDrawRasterLayerGDAL(): Entering
> transform.
> [Thu Jan 14 18:20:11 2016].774950 msDrawRasterLayerGDAL():
> src=0,0,16384,16384, dst=44,0,312,300
> [Thu Jan 14 18:20:11 2016].774955 msDrawRasterLayerGDAL(): source raster
> PL (-4.888,-27.409) for dst PL (44,0).
> [Thu Jan 14 18:20:11 2016].774969 msDrawRasterLayerGDAL():
> red,green,blue,alpha bands = 1,2,3,4
> [Thu Jan 14 18:20:13 2016].225477 msDrawMap(): Layer 0
> (mountain-view-superoverlay), 10.700s
> [Thu Jan 14 18:20:13 2016].225507 msDrawMap(): Drawing Label Cache, 0.000s
> [Thu Jan 14 18:20:13 2016].225512 msDrawMap() total time: 10.700s
> [Thu Jan 14 18:20:13 2016].244934 msSaveImage(ttt.png) total time: 0.019s
> [Thu Jan 14 18:20:13 2016].244971 msFreeMap(): freeing map at 0x15256f0.
> [Thu Jan 14 18:20:13 2016].244994 freeLayer(): freeing layer at 0x152d120.
> [Thu Jan 14 18:20:13 2016].245030 shp2img total time: 10.720s
> 
> 
> 
> -jeff

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the mapserver-users mailing list