Opened 17 years ago

Closed 17 years ago

#2180 closed defect (fixed)

[PATCH] Fix reprojection bug in mapwcs.c

Reported by: rouault Owned by: warmerdam
Priority: normal Milestone: 4.10.3 release
Component: WCS Server Version: 4.10
Severity: major Keywords:
Cc:

Description (last modified by warmerdam)

Producing non-square pixels or reprojected results with MapServer WCS does not work with tileindexed layers. The issue is described in the email:

http://lists.umn.edu/cgi-bin/wa?A2=ind0702&L=mapserver-users&T=0&F=&S=&P=852)

With the patch, I can make GetCoverage requests on a tileindex of DTED files with resolutions (or dimensions) not necesseraly a multiple of the original resolution, or into another projection system.

The fix consists of adding the following lines after msMapComputeGeotransform, as it's done in mapdraw.c

    /* Do we need to fake out stuff for rotated support? */
    if( map->gt.need_geotransform )
        msMapSetFakedExtent( map );

Attachments (1)

mapserver-4.10.2-wcs-reprojection-fix.patch (672 bytes ) - added by rouault 17 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 by warmerdam, 17 years ago

Description: modified (diff)
Owner: changed from warmerdam@… to warmerdam
Status: newassigned

I've made a first attempt to reproduce this problem by requesting an odd aspect ratio in a WCS request but things seemed to work fine. I'll try again tomorrow with reprojection.

comment:2 by rouault, 17 years ago

The problem with requesting arbitrary resolutions only appears when the LAYER is a TILEINDEX, even if the TILEINDEX only contains one DTED file. If your layer is made of just one single DTED file, you can query arbitrary resolutions.

comment:3 by warmerdam, 17 years ago

Description: modified (diff)
Resolution: fixed
Status: assignedclosed

The patch has been applied in the 4.10 branch (for 4.10.3) and in trunk (for 5.0 beta2).

I have also incorporated a two extra tests in msautotest/wcs/wcs_simple.map for this issue, and changed that map to use a one-file tileindex so the problem is triggered.

Note: See TracTickets for help on using tickets.