= !MapGuide RFC 16 - Elevation and Extrusion Support for KML = This page contains a change request (RFC) for the !MapGuide Open Source project. More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page. == Status == ||RFC Template Version||(1.0)|| ||Submission Date||(Date/Time submitted)|| ||Last Modified||Chris Claydon[[Timestamp]]|| ||Author||Chris Claydon|| ||RFC Status||draft|| ||Implementation Status||pending|| ||Proposed Milestone||1.2|| ||Assigned PSC guide(s)|||| ||'''Voting History'''||(vote date)|| ||+1|||| ||+0|||| ||-0|||| ||-1|||| == Overview == The purpose of this RFC is to allow !MapGuide users to configure elevation and extrusion parameters in a layer definition, and to use those settings to extrude features vertically in the KML generated for consumption by Google Earth. This provides a highly compelling way to visualize spatial data that contains a vertical component. == Motivation == !MapGuide currently supports 2D representation of spatial data. However, many spatial data sets contain height information for the features they contain, giving the potential for 2.5D representation. This RFC describes how the !MapGuide Layer Definition schema can be extended to specify expressions to be used to calculate a base elevation and extrusion size. Support for 2.5D would initially be implemented by the KML service, allowing visualization of solid objects in Google Earth. An example of the potential output is shown below: [[Image(KmlExtrusionScreenshot.jpg, align=center)]] == Proposed Solution == The proposed solution contains modifications to: the layer definition XML schema, the MDF Model, the MDF Parser, the KML Service, and the Rendering/Stylization project. = Layer Definition Schema Changes = The layer definition schema contains numerous !ExtendedData1 elements that allow the schema to be extended without breaking forward or backward compatibility. The changes proposed in this RFC would initially be added into one of these elements, and would eventually be moved to the main part of the schema whenever the next schema version update is carried out. See MapGuideRfc14 for more details. == Implications == This section allows discussion of the repercussions of the change, such as whether there will be any breakage in backwards compatibility, if documentation will need to be updated, etc. == Test Plan == How the proposed change will be tested, if applicable. New unit tests should be detailed here??? == Funding/Resources == This section will confirm that the proposed feature has enough support to proceed. This would typically mean that the entity making the changes would put forward the RFC, but a non-developer could act as an RFC author if they are sure they have the funding to cover the change.