Opened 13 years ago

Closed 13 years ago

#117 closed defect (fixed)

cs_Csprm_::min_ll / max_ll is in some cases incorrectly initialized if MIN_LNG / MAX_LNG are specified in the coordsys.ASC file

Reported by: baertelchen Owned by: baertelchen
Priority: minor Milestone:
Component: Dictionaries Version:
Keywords: coordsys.asc useful range specifications MIN_LNG MAX_LNG Cc:

Description

If the coordsys.asc dictionary file specifies a useful range and that range is beyond the [-180°/+180°] boundary, the values are adjusted to be within the [-180°/+180°] range by the setup function that initializes the cs_Csprm_::min_ll / max_ll values.

This currently affects the following systems: WORLD-MERCATOR, WGS84.PseudoMercator, WGS84.PlateCarree WGS84.UPSSouth, WGS84.UPSNorth

For these, the current useful range specifications of [-225°/°225] are changed to [135°/-135°]. That also causes the min_xy / max_xy fields to get initialized to incorrect values.

Change History (1)

comment:1 by baertelchen, 13 years ago

Resolution: fixed
Status: newclosed

Fixed in changeset 2183 (http://trac.osgeo.org/csmap/changeset/2183).

In changeset 2124 (for partially fixing ticket 112) the coordsys.asc dictionary had been updated with a lot of new useful range specification. Some of the "world-projection" systems then got values beyond the -/+ 180° range. Those weren't yet correctly handled by the CS_mrcat.c::CSmrcatS() function. There, the values read from the dictionaries went through a call to [CS_adj180] which caused the incorrect values of 135 / -135° to be returned.

The setup function has been changed to no longer call [CS_adj180]. Additionally, the (inverse) transformation function has been changed so that the original longitude values are being reproduced (e.g. -225° --> mercator --> -225°) as long as they are within the specified range.

Submission has been done on behalf of Norm.

Note: See TracTickets for help on using tickets.