Changes between Version 6 and Version 7 of MapGuide


Ignore:
Timestamp:
Jun 17, 2010 3:31:12 PM (7 years ago)
Author:
NormOlsen
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuide

    v6 v7  
    2424== Overview ==
    2525
    26 CS-MAP RFC 2 will add to the content of the coordinate system dictionary the EPSG code, SRID code, and the EPSG quadrant code for all systems for which this information is known.  It is proposed thatthe coordinate system API be expanded to expose this new information to the MapGuide community.
     26CS-MAP RFC 2 will add to the content of the coordinate system dictionary the EPSG code, SRID code, and the EPSG quadrant code for all systems for which this information is known.  It is proposed that the coordinate system API be expanded to expose this new information to the MapGuide community.
    2727
    2828== Motivation ==
    2929
    30 EPSG and Oracle SRID codes are becoming essential meta data associated with system definitions.  The CS-MAP RFC 2, upon approval, will populate currently unused elements of the Coordinate System Dictionary record with EPSG and Oracle SRID codes.  Additionally, the Datums dictionary and the Ellipsoid Dictionary will have unused elements populated with EPSG codes (there are no Oracle SRID codes for datusm and ellipsoids).  Implementation of this RFC will simply expose this data to the MapGuide community.
     30EPSG and Oracle SRID codes are becoming essential meta data associated with system definitions.  The CS-MAP RFC 2, upon approval, will populate currently unused elements of the Coordinate System Dictionary record with EPSG and Oracle SRID codes.  Additionally, the Datums dictionary and the Ellipsoid Dictionary will have unused elements populated with EPSG codes (there are no Oracle SRID codes for datums and ellipsoids).  Implementation of this RFC will simply expose this data to the MapGuide community.
    3131
    32 There exists an axis swap problem when dealing with several data repositories.  Essentially, the problem stems from the official definition requiring that the northing be the first ordinate of a coordinate.  Since this produces a rotated image in most graphic systems this distinction is ignored in many CS-MAP definitions.  CS-MAP RFC #2 proposes to include the "officially blessed" (read EPSG) ordinate order in the coordinate system definition and this RFC proposes to simply expose this information to the MapGuide community.  Having access to this information, an application can compare the CS-MAP quad value to the EPSG quad value and chose an appropriate action baded on this comparison.
     32There exists an axis swap problem when dealing with several data repositories.  Essentially, the problem stems from the official definition requiring that the northing be the first ordinate of a coordinate.  Since this produces a rotated image in most graphic systems this distinction is ignored in many CS-MAP definitions.  CS-MAP RFC 2 proposes to include the "officially blessed" (read EPSG) ordinate order in the coordinate system definition and this RFC proposes to simply expose this information to the MapGuide community.  Having access to this information, an application can compare the CS-MAP quad value to the EPSG quad value and chose an appropriate action based on this comparison.
    3333
    3434== Proposed Solution ==
     
    3636Implementation is rather simple.  Three additional interface functions will be added as follows.  No exceptions are thrown, the API's simply return zeros if the information is not available.
    3737
    38     * INT32 MgCoordinateSystem::GetEpsgCode()
    39     * INT32 MgCoordinateSystem::GetEpsgQuadrant() 
    40     * INT32 MgCoordinateSystem::GetSridCode ()
     38    * INT32 MgCoordinateSystem::GetEpsgCode();
     39    * INT32 MgCoordinateSystem::GetEpsgQuadrant();
     40    * INT32 MgCoordinateSystem::GetSridCode ();
    4141
    42 The return value of the GetEpsgQuadrant function is a value with the same meaning as the MgCoordinateSystem::GetQuadrant() member which is (X == first ordinate, Y == second ordinate):
     42The return value of the GetEpsgQuadrant () method is a value with the same meaning as the MgCoordinateSystem::GetQuadrant() member which is (X == first ordinate, Y == second ordinate):
    4343
    44 ||1||X increases to the East,  Y increases to the North||
    45 ||2||X increases to the West,  Y increases to the North||
    46 ||3||X increases to the West,  Y increases to the South||
    47 ||4||X increases to the East,  Y increases to the South||
     44|| 1||X increases to the East,  Y increases to the North||
     45|| 2||X increases to the West,  Y increases to the North||
     46|| 3||X increases to the West,  Y increases to the South||
     47|| 4||X increases to the East,  Y increases to the South||
    4848||-1||X increases to the North, Y increases to the East||
    4949||-2||X increases to the North, Y increases to the West||
     
    5353== Implications ==
    5454
    55 No existing interface is changed.  Three new interface functions are added to expose new inofrmation.  The new interfaces will not throw exceptions.
     55No existing interface is changed.  Three new interface functions are added to expose new information.  The new interfaces will not throw exceptions.
     56
     57The names of some data elements in the CS-MAP ldata structures will change.  There exists one reference to each of these unused elements which will be renamed.  This means that the change to CS-MAP and this MapGuide RFC will need to be synchronized.
    5658
    5759== Test Plan ==
    5860
    59 A test porogram which compares the results returned by the new interfaces to the values obtained from the current NameMapper will be implemented.
     61A test program which compares the results returned by the new interfaces to the values obtained from the then current NameMapper database will be implemented.
    6062
    6163== Funding/Resources ==