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.
Note:
See TracTickets
for help on using tickets.
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.