Mit der neuen Möglichkeit, in Oracle Maps externe Layers fremder Web Tile Renderer Server zu integrieren, können Mashups aus diesen Basis - Layern und eigenen Anwendungs - Daten (Features of Interest Layer) erstellt werden. Hier ein Beispiel einer Google TileMapUrl.
Sowohl Google Maps, OpenLayers als auch Virtual Earth bieten recht transparent die Möglichkeit, selbst erstellte Map Tiles gerenderter Karten darzustellen. Als Map Projektion hat sich hierfür die Sperical Mercator Projektion von Google Maps und Virtual Earth, auch Web Mercator Projektion genannt, durchgesetzt, d.h. es erfolgen in den Map Clients die sogenannten Forward und Inverse Transformations . Schliesslich ist auch diese Sperical Mercator Projektion von der OSGEO wie folgt aufgenommen worden:
Proj4js.defs["EPSG:900913"] = "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
Proj4js.defs["GOOGLE"]="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs";
Im Oracle Spatial Forum wurde nun auch auf die Notwendigkeit dieser Projektion reagiert, wobei der Vorschlag, diesen Mercator Web Mercator : EPSG:3785 zu benennen, aufgenommen wurde und im Release 11.2 bzw. in diversen Patches breitgestellt wird.
Die Definition der Map Projektion und der Scale Ranges sehen wie folgt aus:
Wichtig ist noch die getMapTileUrl - Function:
function getMapTileURL(minx, miny, width, height, level)
{
var x = (minx-mapConfig.coordSys.minX)/mapConfig.zoomLevels[level].tileWidth ;
var y = (miny-mapConfig.coordSys.minY)/mapConfig.zoomLevels[level].tileHeight ;
return baseURL+"mcserver?request=gettile&format=" + mapConfig.format + "&zoomlevel="+level+"&mapcache=ELOCATION_MERCATOR.WORLD_MAP&mx=" + Math.round(x) + "&my=" + Math.round(y) ;
}
Hier noch ein Beipiel einer MapTileUrl obigen Oracle Maps Demos.
Grüße,
Friedhold