[mapserver-users] Rewarping/Reprojection with GDAL and -wo EXTRA_SOURCE parameter

Heiko Schröter schroete at iup.physik.uni-bremen.de
Wed Dec 18 03:19:16 PST 2013


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:schroete at iup.physik.uni-bremen.de]
>> Gesendet: Dienstag, 17. Dezember 2013 21:01
>> An: Eichner, Andreas - SID-NLKM; mapserver-users at lists.osgeo.org;
>> 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:schroete at iup.physik.uni-bremen.de]
>>>> Gesendet: Dienstag, 17. Dezember 2013 16:46
>>>> An: Eichner, Andreas - SID-NLKM; mapserver-users at lists.osgeo.org
>>>> 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: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-
>>>> users-
>>>>>> bounces at lists.osgeo.org] Im Auftrag von Heiko Schröter
>>>>>> Gesendet: Dienstag, 17. Dezember 2013 14:09
>>>>>> An: mapserver-users at lists.osgeo.org
>>>>>> 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.
>>>>>>
>>>>
>>>> --
>>>> ------------------------------------------------------------------



More information about the mapserver-users mailing list