Changes between Version 4 and Version 5 of MapGuideRfc140
- Timestamp:
- Mar 17, 2015, 3:57:29 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
MapGuideRfc140
v4 v5 9 9 ||RFC Template Version||(1.0)|| 10 10 ||Submission Date||1 July 2014|| 11 ||Last Modified||1 2 August 2014||11 ||Last Modified||17 March 2015|| 12 12 ||Author||Jackie Ng|| 13 13 ||RFC Status||Implemented|| … … 21 21 ||-1|||| 22 22 ||no vote||Haris,Trevor,Kevin,Zac,Gordon|| 23 24 '''Author's note (17 March 2015): Upon further analysis, the correct coordinate systems for XYZ tile sets is not LL84, but WGS84.PseudoMercator. This RFC has been amended to reflect this fact''' 23 25 24 26 == Overview == … … 859 861 * FiniteScaleList - Defines the discrete set of zoom levels for this tile set. 860 862 861 The "XYZ" provider implements tile rendering and access using the XYZ tiling scheme. Coordinate System is always LL84and size of rendered tiles are locked at 256x256 pixels. See XYZ support below for more information. "XYZ" provider also uses a simplified directory structure for storing tiles `<basepath>/<group>/<z>/<x>/<y>.<format>` allowing for easy and intuitive external access if the tile cache was exposed by a web server. The following parameters can be specified to a "XYZ" tile provider:863 The "XYZ" provider implements tile rendering and access using the XYZ tiling scheme. Coordinate System is always ~~LL84~~ WGS84.PseudoMercator and size of rendered tiles are locked at 256x256 pixels. See XYZ support below for more information. "XYZ" provider also uses a simplified directory structure for storing tiles `<basepath>/<group>/<z>/<x>/<y>.<format>` allowing for easy and intuitive external access if the tile cache was exposed by a web server. The following parameters can be specified to a "XYZ" tile provider: 862 864 863 865 * TilePath - Defines where rendered tiles will be cached. This can be any path of your choice or %MG_TILE_CACHE_PATH% to use the MapGuide-designated tile cache path. … … 939 941 <Name>XYZ</Name> 940 942 <DisplayName>XYZ Tile Provider</DisplayName> 941 <Description>XYZ tile access provided by MapGuide. Grid scheme is compatible with Google Maps and Open Street Map. Rendered tiles are 256x256. Layers must be convertible from lat/loncoordinates. Under this scheme, Row = X, Column = Y, Scale = Z for accessing tiles. Supports MapGuide-managed tile path or user-defined path</Description>943 <Description>XYZ tile access provided by MapGuide. Grid scheme is compatible with Google Maps and Open Street Map. Rendered tiles are 256x256. Layers must be convertible from WGS84.PseudoMercator coordinates. Under this scheme, Row = X, Column = Y, Scale = Z for accessing tiles. Supports MapGuide-managed tile path or user-defined path</Description> 942 944 <ConnectionProperties> 943 945 <ConnectionProperty Enumerable="false" Protected="false" Required="true"> … … 1053 1055 }}} 1054 1056 1055 Based on the given x, y and z values, [http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames we use defined mathematical forumlae] to convert this to a lat/lon bounding box . If the coordinate system of the tile set is already lat/lon, the map tile will be rendered for these bounds. Otherwise the bounds will be transformed to the tile set's coordinate system before doing the rendering.1057 Based on the given x, y and z values, [http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames we use defined mathematical forumlae] to convert this to a lat/lon bounding box (that is transformed to WGS84.PseudoMercator coordinates when dispatching the actual feature queries for tile rendering). If the coordinate system of the tile set is already ~~lat/lon~~ WGS84.PseudoMercator, the map tile will be rendered for these bounds. Otherwise the bounds will be transformed to the tile set's coordinate system before doing the rendering. 1056 1058 1057 1059 Tile Set Definitions using the XYZ provider will be using this API for the actual tile rendering. … … 1120 1122 Client applications have already been modified to handle this expectation. 1121 1123 1122 An important constraint of the XYZ tiling scheme is that XYZ resolves to lat/lon coordinates. Therefore any map you wish to make available as an XYZ tileset must be in a coordinate system that is either LL84 or transformable from LL84. Maps based on arbitrary coordinate systems cannot be served as XYZ tile sets.1124 An important constraint of the XYZ tiling scheme is that XYZ resolves to real world coordinates. Therefore any map you wish to make available as an XYZ tileset must be in a coordinate system that is either ~~LL84~~ WGS84.PseudoMercator or transformable from ~~LL84~~ WGS84.PseudoMercator. Maps based on arbitrary coordinate systems cannot be served as XYZ tile sets. 1123 1125 1124 1126 As mentioned above, the MgMap::Create() method now supports Tile Set Definitions. However for the public API, the method will only support Tile Set Definitions using the "Default" tile provider. The reason for this is that when creating a MgMap, it also needs to be initalized with the coordinate system and finite scale lists, and only Tile Set Definitions using the "Default" tile provider can provide this information. It is not possible to create a MgMap using a Tile Set Definition that uses the XYZ provider. Such attempts will throw a MgUnsupportedTileProviderException.