Opened 14 years ago

Closed 14 years ago

#3409 closed defect (fixed)

Cascading to WMS Servers that do not support non-square pixels

Reported by: warmerdam Owned by: warmerdam
Priority: normal Milestone: 6.0 release
Component: WMS Client Version: unspecified
Severity: normal Keywords: nonsquare
Cc: assefa

Description

There are situations in which it is desirable to have MapServer cascade requests to a WMS server (using CONNNECTIONTYPE WMS) which does not support non-square pixels. To do this, MapServer would need to adjust it's request BBOX, width and height to ensure it sends out a square pixel request.

Attachments (1)

3409.patch (3.7 KB ) - added by warmerdam 14 years ago.

Download all attachments as: .zip

Change History (5)

comment:1 by warmerdam, 14 years ago

Owner: changed from mapserverbugs to warmerdam

I have prepared a preliminary patch that grows the BBOX in either x or y to square up the pixels iff the NONSQUARE_OK processing option is set on the WMS layer, and reprojection is occuring.

by warmerdam, 14 years ago

Attachment: 3409.patch added

comment:2 by assefa, 14 years ago

would it make more sense if the option was configured using a metadata instead of a processing option?

comment:3 by warmerdam, 14 years ago

Cc: assefa added
Status: newassigned

Assefa,

I agree. I'll do it like:

  METADATA
    "wms_srs"             "EPSG:4326"
    "wms_server_version"  "1.1.1"
    "wms_nonsquare_ok"    "false"
    "wms_format"          "image/jpeg"
    "wms_name"            "3d8d2c3a-450b-48dc-a648-09f6068fde48"
    "wms_connectiontimeout" "120"
  END

I'm also going to rework the patch so that we can actually modify the width and height to achieve nonsquareness instead of the BBOX. The intent is to ensure that the imagery we get back is at the same or a better resolution than the target map. Currently just growing the BBOX will result in imagery being at less than the target map region in at least one dimension.

comment:4 by warmerdam, 14 years ago

Milestone: 6.0 release
Resolution: fixed
Status: assignedclosed

I have implemented this in trunk (r10034,r10035), and it appears to be working for the client.

Note: See TracTickets for help on using tickets.