Changes between Version 2 and Version 3 of MapGuideRfc51


Ignore:
Timestamp:
Jul 14, 2008, 3:31:11 PM (16 years ago)
Author:
tonyfang
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc51

    v2 v3  
    2828== Motivation ==
    2929
     30MapGuide does not currently support any form of raster re-projection. If a user has a raster feature source, it can only be displayed in a MapGuide map that uses the same coordinate system as the raster data.
    3031
     32Previously, in order for application developers to use images in multiple coordinate systems, they needed to create copies of the images in each coordinate system.  The re-projection capability that we are adding will allow developers to not have to have multiple versions of the same image (re-projected to different coordinate systems) at the cost of about 25% degradation in performance.
    3133
    3234== Proposed Solution ==
    3335
     36We will use a tessellation algorithm to re-project the raster data from one coordinate system to another.
     37
     38The original image will be divided into a grid of triangles representing the raster in its own coordinate system. Each point on the grid (representing the corners of the triangles) will be transformed into the target coordinate system, and the raster data within each triangle will be transformed appropriately to fit within the new geometry.
     39
     40<pic here>
     41
     42Each triangle will then be rendered into the output image to produce the transformed raster. The balance between performance and accuracy of the transformation is controlled by the number of triangles created for each raster. The configuration settings will control the size and number of triangles created. Configuration will be done through the serverconfig.ini.
     43
     44The category and setting names for this configuration are:
     45
     46
     47[RasterReprojectionProperties]
     48# *****************************************************************************
     49# R A S T E R  R E P R O J E C T I O N  P R O P E R T I E S
     50#
     51# Property Name                    Description
     52# -----------------------------------------------------------------------------
     53# TileSize                         size of tiles in pixels
     54# *****************************************************************************
     55TileSize = 100
     56
     57Descriptive error messages will be logged to handle invalid configuration settings, invalid data, unsupported transformations etc.
     58
     59In keeping with MapGuide’s current behavior, if the re-projection fails for any reason, the map will still be rendered and returned, using any other layers that it contains, and the failed layer(s) will be skipped.
     60
     61We will add an optimization if the re-projection is a simple datum shift. The image will simply be shifted, and the advanced algorithm will not be invoked.
     62
     63We will support re-projecting raster in drawing sources.
    3464
    3565
    3666== Implications ==
    3767
     68WMS is also a raster feature source and will be affected by this algorithm.
    3869
    3970== Test Plan ==
    4071
     72Unit tests should cover:
     73* The most common raster image formats (ECW, MrSid, TIFF)
     74* Re-projections between each of the main coordinate system types
     75
     76Unit tests should also validate that error conditions are handled gracefully.
    4177
    4278== Funding/Resources ==