Opened 13 years ago

Closed 12 years ago

#1831 closed defect (fixed)

IsValid() API of MgCoordinateSystemGeodeticTransformDef and MgCoordinateSystemGeodeticPath is inconsistent with other Mg coordinate system API types

Reported by: baertelchen Owned by: baertelchen
Priority: low Milestone:
Component: General Version: 2.2.0
Severity: minor Keywords: Coordinate System API IsValid SerializeFrom SerializeTo
Cc: External ID:

Description

When (de-)serializing an MgCoordinateSystemGeodeticPath or an MgCoordinateSystemGeodeticTransformDef, the implementation will always call IsValid(), which for the both types checks whether the targeted datums actually exist in the dictionaries.

With that inconsistent behavior/defect its impossible to create a new datum and an accompanying transformation or path on the fly, because the code would always insist on the datum to be available. For exactly that reason, all other MgCoordinateSystem definition types like cs, datums and ellipsoids never required any "child object" to exist when (de-)serializing.

The fix is to simply not pass the cs_GXCHK_DATUM flag to CSMAP's CS_gxchk method.

Change History (1)

comment:1 by baertelchen, 12 years ago

Resolution: fixed
Status: newclosed

Fixed in changeset 6175 (see http://trac.osgeo.org/mapguide/changeset/6175 for more/technical details).

It's now possible to create a new transformation on-the-fly in code without having CSMAP checking the datum on existence.

Note: See TracTickets for help on using tickets.