Changes between Version 20 and Version 21 of MapGuideRfc51


Ignore:
Timestamp:
Aug 19, 2008, 8:45:59 AM (16 years ago)
Author:
chrisclaydon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc51

    v20 v21  
    3636We will use a tessellation algorithm to re-project the raster data from one coordinate system (CS) to another.
    3737
     38In Figure 1, the green rectangle represents the original raster image. The blue mesh represents the extents of the viewport (or map), divided into a set of triangular regions. The purpose of the algorithm is to re-project the appropriate triangular sections of the original image into the equivalent parts of the mesh.
     39
    3840||[[Image(raster_reprojection_viewport3_1.PNG)]]||
    3941||Figure 1. The left side shows the raster image (green rectangle) in it's own CS. The right side shows the blue mesh of uniform triangles created in device space in the viewport CS.||
    4042
    41 We must first determine how much of the original image is required by projecting the extents of the viewport (or map) into the image's CS. This yields our desired clipped image (red outline). Then we project the extents of the clipped image into the viewport's CS, and subsequently into device space. A mesh of uniform triangles is created in device space (Figure 1).
     43We must first determine how much of the original image is required by projecting the extents of the viewport (or map) into the image's CS. The intersection of the re-projected extents with the original image extents yields our desired clipped image (red outline, Figure 2).
     44
     45Each point in the triangle mesh is transformed from device space, to the viewport's CS, to the image's CS, and then to device space. A texture map is created from the two triangle meshes.
    4246
    4347||[[Image(raster_reprojection_viewport3_2.PNG)]]||
    4448||Figure 2. The blue mesh of triangles has been transformed into the raster image's CS.||
    4549
    46 Each point in the triangle mesh is transformed from device space, to the viewport's CS, to the image's CS, and then to device space (Figure 2). A texture map will be created from the two triangle meshes.
     50The image will then be rendered using the texture map created from the two triangle meshes (Figure 3). Because the triangle mesh is in device space, choosing its size guarantees you a minimum level of accuracy: the error in the re-projected image will never be greater than the size of the individual triangles.
    4751
    4852||[[Image(raster_reprojection_viewport3_3.PNG)]]||
    4953||Figure 3. The raster image is rendered into the viewport using the texture map.||
    50 
    51 The image will then be rendered using the texture map created from the two triangle meshes (Figure 3). Because the triangle mesh is in device space, choosing its size guarantees you a minimum level of accuracy: the error in the re-projected image will never be greater than the size of the individual triangles.
    5254
    5355The balance between performance and accuracy of the transformation is controlled by the number of triangles created for each raster. The configuration setting will control the grid size and thus the number of triangles created. The configuration will be handled by the serverconfig.ini.