Changes between Version 3 and Version 4 of MapGuideRfc116


Ignore:
Timestamp:
Jun 16, 2011, 4:18:34 PM (13 years ago)
Author:
NormOlsen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc116

    v3 v4  
    9696A batch coordinate conversion capability currently exists in the MgCoordinateSystemTransformation object.  The performance of this capability is expected to increase due to the refactoring of the Transform code proposed immediately above.  However, this function requires that, for example, 3D coordinates are provided in three distinct arrays; specifically the easting/X/Longitude coordinates in one distinct array of doubles, the northing/Y/Latitude coordinates in a separate distinct array of doubles, and a third separate and distinct array of double for the elevation/Z/height coordinate.  There are few, if any, applications which maintain or utilize coordinate data in this form.  Thus, to take advantage of the batch conversion facility currently in place, the tradition form of coordinate data (i.e. double [][3]) has to be reformatted into the distinct array form prior to conversion, and then reformatted back to the traditional form after conversion.  Thus, what performance improvement is provided by the batch conversion facility is used up, and then some, by the reformatting process.
    9797It is, therefore proposed, that two new functions be added to the MgCoordinateSystemTransformation object be added which will have signatures suggested by the following:
    98 {{{ void MgCoordinateSystemTransform::Transform2D (double [][2],INT32 pointCount); }}}
    99 {{{ void MgCoordinateSystemTransform::Transform3D (double [][3],INT32 pointCount); }}}
     98
     99{{{
     100    void MgCoordinateSystemTransform::Transform2D (double [][2],INT32 pointCount);
     101    void MgCoordinateSystemTransform::Transform3D (double [][3],INT32 pointCount);
     102}}}
    100103These new member functions would convert the point arrays in place, and do so without the need for reformatting the coordinate storage for several widely used applications.
    101104