Changes between Initial Version and Version 1 of MapGuideRfc4


Ignore:
Timestamp:
Feb 25, 2007, 11:01:47 PM (17 years ago)
Author:
jbirch
Comment:

Ported from old site

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc4

    v1 v1  
     1= !MapGuide RFC 4 - KML Support =
     2
     3This page contains an change request (RFC) for the !MapGuide Open Source project. 
     4More !MapGuide RFCs can be found on the [wiki:MapGuideRfcs RFCs] page.
     5
     6
     7== Status ==
     8
     9||RFC Template Version||(1.0)||
     10||Submission Date||unknown||
     11||Last Modified||jasonbirch [[Timestamp]]||
     12||Author||Chris Claydon||
     13||RFC Status||(as designed)||
     14||Implementation Status||completed||
     15||Proposed Milestone||1.1||
     16||Assigned PSC guide(s)||n/a||
     17||'''Voting History'''||n/a||
     18 
     19== Overview ==
     20
     21Google Earth allows external data to be overlaid upon its own vast collection of satellite imagery and vector graphics. It does this by supporting KML - an XML-based format that can be used to define how external vector and raster data may be dynamically loaded and displayed within the Google Earth application.
     22
     23== Motivation ==
     24
     25By integrating MapGuide with Google Earth, we provide a compelling way for users to visualize their data in relation to the planet as a whole. In addition to satellite imagery, Google provides a large amount of useful content, such as road networks, points of interest, voting districts etc. By serving up MapGuide data via KML (and its compressed form, KMZ) we allow users to incorporate their specific data set with Google's.
     26
     27So, for example, if a MapGuide data set contained information about underground pipes and sewers, this information could be overlaid on a satellite image showing individual streets and houses. This would greatly facilitate the process of estimating exactly which homes and streets would be affected by any maintenance required on those pipes.
     28
     29== Proposed Solution ==
     30
     31A new service will be added to MapGuide that supports three request types - GetMapKml, GetLayerKml and GetFeaturesKml.
     32
     33'''GetMapKml''' is designed to be the single point of user-initiated contact with the server. It takes the following parameters:
     34
     35OPERATION = GetMapKml
     36
     37VERSION = 1
     38
     39MAPDEFINITION = <map definition stored in repository>
     40
     41DPI = <the resolution of the display used by the caller> (defaults to 96)
     42
     43FORMAT = KML, KMZ or XML
     44
     45This request can be made from a URL link in a web page. It generates a KML document representing the requested map definition. This document contains one NetworkLink element for each layer in the map. Google Earth uses these elements to make GetLayerKml requests back to MapGuide to retrieve further dynamic data for each layer.
     46
     47If the format is KMZ, the KML document is compressed inside a zip file before being returned in the response. The mime types returned for KML and KMZ responses cause Google Earth to start up automatically and display the content of the document. If the requested format is XML, the mime type returned is text/xml, and the text of the KML document is typically displayed directly in the browser window.
     48
     49'''GetLayerKml''' is designed to be called only by Google Earth. Its format may change in order to accomodate future enhancements to our KML support. It is therefore not recommended to call this operation directly. It supports the following parameters:
     50
     51OPERATION = GetLayerKml
     52
     53VERSION = 1
     54
     55LAYERDEFINITION = <layer definition stored in repository>
     56
     57DPI = <the resolution of the display used by the caller> (defaults to 96)
     58
     59FORMAT = KML, KMZ or XML
     60
     61BBOX = <minx,miny,maxx,mayy> the current map extent in WGS84 lat/lon coordinates
     62
     63WIDTH = the current map width in pixels
     64
     65HEIGHT = the current map height in pixels
     66
     67The KML generated by the GetMapKml request populates the first 5 of these parameters, and the link is formatted in such a way that Google Earth provides the BBOX, WIDTH and HEIGHT parameters corresponding to its current view.
     68
     69GetLayerKml returns a KML document containing a <NetworkLink> element corresponding to each scale range supported by the layer that is currently visible. <Region> elements are used to instruct Google Earth only to request data via these links when the current scale falls within the scale range and when the current map extent intersects the extent of the data.
     70
     71'''GetFeaturesKml''' is designed to be called only by Google Earth. Its format may change in order to accomodate future enhancements to our KML support. It is therefore not recommended to call this operation directly. It supports the following parameters:
     72
     73OPERATION = GetFeaturesKml
     74
     75VERSION = 1
     76
     77LAYERDEFINITION = <layer definition stored in repository>
     78
     79DPI = <the resolution of the display used by the caller> (defaults to 96)
     80
     81FORMAT = KML, KMZ or XML
     82
     83BBOX = <minx,miny,maxx,mayy> the current map extent in WGS84 lat/lon coordinates
     84
     85WIDTH = the current map width in pixels
     86
     87HEIGHT = the current map height in pixels
     88
     89GetFeaturesKml returns the actual content to be rendered on the map. For feature layers, a KML document is returned that contains the features represented in vector format, plus style information such as the color, line width etc. For raster layers, the raster image is returned in PNG format. Drawing layers (from DWF files) will not be supported (yet).
     90
     91== Implications ==
     92
     93n/a
     94
     95== Test Plan ==
     96
     97n/a
     98
     99== Funding/Resources ==
     100
     101Resources supplied by Autodesk.