Hello,
images are not scaled and positioned correctly when mapserver is working as WMS
client.
After some grok debugging the symptom bubbled up in mapraster.c.
But to my best knwoledge i think the real issue is in mapwmslayer.c where the
setup of the picture limits and/or the resampling logic for GDAL is broken
(speaking very carefully here).
So the workaround for me is to allways pass Raster images to
msResampleGDALtoMap(). Then everything works just fine.
Speed is not crucial in our case.
A real fix would be better of course.
Regards
Heiko
mapraster.c (line 1545)
#ifdef USE_PROJ
if( ((adfGeoTransform[2] != 0.0 || adfGeoTransform[4] != 0.0
|| adfGeoTransform[5] > 0.0 || adfGeoTransform[1] < 0.0 )
&& layer->transform )
|| msProjectionsDiffer( &(map->projection),
&(layer->projection) )
|| CSLFetchNameValue( layer->processing, "RESAMPLE" ) != NULL )
{
status = msResampleGDALToMap( map, layer, image, hDS );
}
else
#endif
{
if( adfGeoTransform[2] != 0.0 || adfGeoTransform[4] != 0.0 )
{
if( layer->debug || map->debug )
msDebug(
"Layer %s has rotational coefficients but we\n"
"are unable to use them, projections support\n"
"needs to be built in.",
layer->name );
}
/* msDebug("HD Killroy in mapraster.c, Force resample ->
msResampleGDALToMap even if logic tells no need to.\n"); */
/* HD: 12.4.2010: Force Resample. If we come from WMS Client
msDrawRasterLayer does not work properly ... */
/* For testing we force msResampleGDALToMap even if it is
slower. We don't mind */
status = msResampleGDALToMap( map, layer, image, hDS );
/* status = msDrawRasterLayerGDAL(map, layer, image, hDS ); */
/* msDrawRasterLayer is allways called, WMS or DATA source
doesn't matter. */
/* So real "bug(?)" seems to be the setup of the picture limits
behind the scene. In this case in mapwmslayer.c around line 1345*/
/* --> if (!msProjectionsDiffer(&(map->projection),
&(lp->projection))) <-- But we need to resample, */
/* otherwise picture won't fit. */
}
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users