Changes between Version 5 and Version 6 of MapGuideRfc116


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

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc116

    v5 v6  
    9494=== Provide Addiional Batch Coordinate Conversion Capability ===
    9595
    96 A 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.
     96A 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:
    9898
     
    107107=== Critical Section Still Required ===
    108108
    109 It would be nice to assume that all current CS-MAP coordinate conversion algorithms can be made reentrant without a serious affect on resources and/or performance, and that all future additions to the CS-MAP library can be implemented in a reentrant manner.  The ability to have non-reentrant conversion/transformation methods in the CS-MAP library is reserved.  Thus, we retain the CriticalSection to keep multiple threads from using a non-reentrant conversion or transformation at the same time.  However, given the implementation of CS-MAP RFC #5, we will only need to actually use it when truly necessary.
     109It would be nice to assume that all current CS-MAP coordinate conversion algorithms can be made reentrant without a serious affect on resources and/or performance, and that all future additions to the CS-MAP library can be implemented in a reentrant manner.  The ability to have non-reentrant conversion/transformation methods in the CS-MAP library is reserved.  Thus, we retain the CriticalSection to keep multiple threads from using a non-reentrant conversion or transformation at the same time.  However, given the implementation of CS-MAP RFC !#5, we will only need to actually use it when truly necessary.
    110110
    111111=== Behavior Modifications ===