Hello Andreas,
thanks for the patch.
The POSTGIS (i.e. POLYGON) and RASTER layers are fine in any zoom or pan
level. The LINE layer is ok if the BBOX has not been paned to far of
center (for the "ortho" projection) and if extremly zoomed in the poles
are cut.
It looks like that POLYGON and LINE Layers are treated a little bit
differently.
If you like here is the test site with the patch included.
Zoomed in, plus poles cut out in LINE layer:
http://www.iup.uni-bremen.de/warehouse/cgi-bin/laura?BBOX=-2500000,-2500000,2500000,2500000&FORMAT=IMAGE/PNG&FROMDAT=2006-08-06%2000:00&HOEHE=-1&LAYERS=KARTE1,WILLI,GRID&MAP=/var/www/localhost/mapserver/laura.map&PRODUKT=stro3_21&REQUEST=GETMAP&SERVICE=WMS&SRS=EPSG:0816&STYLES=&TIME=2006-10-06%2000:00/2006-10-08%2023:59&TODAT=2006-08-07%2023:59&TRANSPARENT=FALSE&VERSION=1.1.1&WIDTH=600&HEIGHT=600
Half a LINE layer missing when BBOX to far off center:
http://www.iup.uni-bremen.de/warehouse/cgi-bin/laura?BBOX=-6500000,-6500000,2500000,2500000&FORMAT=IMAGE/PNG&FROMDAT=2006-08-06%2000:00&HOEHE=-1&LAYERS=KARTE1,WILLI,GRID&MAP=/var/www/localhost/mapserver/laura.map&PRODUKT=stro3_21&REQUEST=GETMAP&SERVICE=WMS&SRS=EPSG:0816&STYLES=&TIME=2006-10-06%2000:00/2006-10-08%2023:59&TODAT=2006-08-07%2023:59&TRANSPARENT=FALSE&VERSION=1.1.1&WIDTH=600&HEIGHT=600
Regards
Heiko
Am 18.12.2013 16:25, schrieb Eichner, Andreas - SID-NLKM:
Hello Heiko,
the problem is the way mapserver builds the source extent. A quick fix might be
introducing a processing directive to force mapserver using the layer's full
extent:
diff --git a/mapdraw.c b/mapdraw.c
index 992838d..7f2179e 100644
--- a/mapdraw.c
+++ b/mapdraw.c
@@ -948,6 +948,9 @@ int msDrawVectorLayer(mapObj *map, layerObj *layer,
imageObj *image)
if(layer->transform == MS_TRUE) {
searchrect = map->extent;
#ifdef USE_PROJ
+ if (msLayerGetProcessingKey(layer, "FORCE_FULL_EXTENT"))
+ searchrect = layer->extent;
+ else
if((map->projection.numargs > 0) && (layer->projection.numargs > 0))
msProjectRect(&map->projection, &layer->projection, &searchrect); /*
project the searchrect to source coords */
#endif
With this small patch you can rebuild mapserver and use
PROCESSING "FORCE_FULL_EXTENT=YES"
In a vector layer .
As said, this should be considered a quick fix. A bug should be reported on
this as other parts in the code path seem to deal more nicely in such
situations.
HTH
-----Ursprüngliche Nachricht-----
Von: Heiko Schröter [mailto:[email protected]]
Gesendet: Mittwoch, 18. Dezember 2013 12:19
An: Eichner, Andreas - SID-NLKM; [email protected]
Betreff: Re: [mapserver-users] Rewarping/Reprojection with GDAL and -
wo EXTRA_SOURCE parameter
I've omitted the postgis stuff in the mapfile, because of access
restrictions.
In the EPSG file i have placed this dummy epsg code for reprojection:
<snip>
<0815> +proj=ortho +over +lon_0=0 +lat_0=90 +ellps=WGS84 +datum=WGS84
+units=m +no_defs <>
<snap>
MAP
NAME WELT
OUTPUTFORMAT
NAME "aggpng24"
DRIVER AGG/PNG
MIMETYPE "image/png"
IMAGEMODE RGB
EXTENSION "png"
END
STATUS ON
SHAPEPATH "/your/shape/path/"
TRANSPARENT ON
MAXSIZE 10000
# Requesting polar plot with a dummy "EPSG:0815" in epsg file
# <0815> +proj=ortho +over +lon_0=0 +lat_0=90 +ellps=WGS84
+datum=WGS84 +units=m +no_defs <>
PROJECTION
"init=epsg:4326"
END
WEB
IMAGEPATH "/var/www/localhost/htdocs/tmpimages/"
IMAGEURL "/tmpimages/"
METADATA
"ows_srs" "EPSG:4326 EPSG:0815 EPSG:0816 EPSG:3857
EPSG:900913"
"wms_enable_request" "*"
END
END
LAYER
EXTENT -180 -90 180 90
NAME "KARTE1"
TYPE RASTER
STATUS OFF
OPACITY 100
DATA "YourMap.png"
METADATA
"wms_title" "karte layer"
END
PROJECTION
"init=epsg:4326"
END
CLASS
NAME "karte_class"
OUTLINECOLOR 0 0 0
COLOR 180 180 180
SYMBOL 0
END
END # Layer
LAYER
TYPE LINE
STATUS OFF
EXTENT -180 -90 180 90
NAME "GRID"
OPACITY 50
METADATA
"wms_title" "grid layer"
END
PROJECTION
"init=epsg:4326"
END
CLASS
NAME "Graticule"
STYLE
COLOR 180 90 0
MAXWIDTH 2
MINWIDTH 2
END
END
GRID
LABELFORMAT "DD" MAXARCS 1 MININTERVAL 15 MAXINTERVAL 60
MAXSUBDIVIDE 360
END
END # Layer
END # Ende Map
Am 18.12.2013 11:27, schrieb Eichner, Andreas - SID-NLKM:
Can you provide a simple test case, probably a MAP file with inline
data? I've created some simple test data but I am unable to reproduce
the problem.
-----Ursprüngliche Nachricht-----
Von: Heiko Schröter [mailto:[email protected]]
Gesendet: Dienstag, 17. Dezember 2013 21:01
An: Eichner, Andreas - SID-NLKM; [email protected];
Heiko Schröter
Betreff: Re: [mapserver-users] Rewarping/Reprojection with GDAL
and -
wo EXTRA_SOURCE parameter
Seems not to work. Failure can be reproduced by changing BBOX
params.
I've setup a test site with three layers so you may have a look.
Blue Marble = RASTER
Grid = LINE
Coloured Rect = POSTGIS
Warping ok from epsg4326->ortho:
http://www.iup.uni-bremen.de/warehouse/cgi-bin/laura?BBOX=-
6500000,-
6500000,6500000,6500000&FORMAT=IMAGE/PNG&FROMDAT=2006-08-
06%2000:00&HOEHE=-
1&LAYERS=KARTE1,WILLI,GRID&MAP=/var/www/localhost/mapserver/laura.map
&PRODUKT=stro3_21&REQUEST=GETMAP&SERVICE=WMS&SRS=EPSG:0815&STYLES=&TI
ME=2006-10-06%2000:00/2006-10-08%2023:59&TODAT=2006-08-
07%2023:59&TRANSPARENT=FALSE&VERSION=1.1.1&WIDTH=600&HEIGHT=600
Warping distorted:
http://www.iup.uni-bremen.de/warehouse/cgi-bin/laura?BBOX=-
4500000,-
4500000,4500000,4500000&FORMAT=IMAGE/PNG&FROMDAT=2006-08-
06%2000:00&HOEHE=-
1&LAYERS=KARTE1,WILLI,GRID&MAP=/var/www/localhost/mapserver/laura.map
&PRODUKT=stro3_21&REQUEST=GETMAP&SERVICE=WMS&SRS=EPSG:0815&STYLES=&TI
ME=2006-10-06%2000:00/2006-10-08%2023:59&TODAT=2006-08-
07%2023:59&TRANSPARENT=FALSE&VERSION=1.1.1&WIDTH=600&HEIGHT=600
Am 17.12.2013 17:57, schrieb Eichner, Andreas - SID-NLKM:
Can you try if PROCESSING "POLYLINE_NO_CLIP=YES" helps on TYPE
LINE
layers?
-----Ursprüngliche Nachricht-----
Von: Heiko Schröter [mailto:[email protected]]
Gesendet: Dienstag, 17. Dezember 2013 16:46
An: Eichner, Andreas - SID-NLKM; [email protected]
Betreff: Re: [mapserver-users] Rewarping/Reprojection with GDAL
and -
wo EXTRA_SOURCE parameter
Thanks for the hint, but sorry no, does not change rewarping
behaviour
of POLYGON or LINE Layers.
Distortion and missing parts do remain.
The odd thing:
The projection of all layers is ok if the BBOX equals or is
greater
than
max extension of the map.
i.e. BBOX=-6500000,-6500000,6500000,6500000 [proj=ortho units=m]
By "zooming" in i.e. reducing the BBOX the RASTER layer rewarps
ok,
POLYGON and LINE layers do not.
Am 17.12.2013 16:11, schrieb Eichner, Andreas - SID-NLKM:
Looks like that causes the same effect as setting
PROCESSING "LOAD_WHOLE_IMAGE=YES"
-----Ursprüngliche Nachricht-----
Von: [email protected]
[mailto:mapserver-
users-
[email protected]] Im Auftrag von Heiko Schröter
Gesendet: Dienstag, 17. Dezember 2013 14:09
An: [email protected]
Betreff: [mapserver-users] Rewarping/Reprojection with GDAL
and
-
wo
EXTRA_SOURCE parameter
To make use of it in mapserver a hint has been given in an old
mailing
thread (sorry, lost the source) to adjust the following code
snippet
in
resample.c:
Version: mapserver-6.4.0
resample.c
<snip>
/* -----------------------------------------------------------
--
--
---
-- */
/* Project desired extents out by 2 pixels, and
then
strip
to */
/* available
data. */
/*
--------------------------------------------------------------
--
--
--
*/
memcpy( &sOrigSrcExtent, &sSrcExtent, sizeof(sSrcExtent)
);
sSrcExtent.minx = floor(sSrcExtent.minx-1.0);
sSrcExtent.maxx = ceil (sSrcExtent.maxx+1.0);
sSrcExtent.miny = floor(sSrcExtent.miny-1.0);
sSrcExtent.maxy = ceil (sSrcExtent.maxy+1.0);
<snap>
Changing the -/+1.0 to -/+1250.0, for example, warps the
RASTER
image
correctly.
--
----------------------------------------------------------------
--
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users