Is there any way to make this work with the /rest/... URL? I took the code you (Robert) provided from ArcGISCache and changed how it was generating the URL. not calculating, that is left in place, but generating - and I just removed all the "L" and "R" prefixing, and padding with 0's and so on. And made that work with the /tile/z/x/y scheme, but tiles are still mis-aligned.
Do you know of any efforts to make ArcGIS tile/cached services work on top of XYZ.js with the /rest/... URL. Thank you, -Vadim On Tue, Jul 20, 2010 at 1:45 PM, Robert Sanson <[email protected]> wrote: > ArcGIS Server can create tile caches, similar to what Google maps creates > and uses. These are 256x256 pixel tiles laid out in a grid fashion which are > pre-rendered at various scales. They can be accessed either via the ArcGIS > Server REST API - requests take the form: > > > > http://<map service URL>/tile/<level>/<row>/<column> > > > > eg.: > > > > http://ws-esrimt/ArcGIS/rest/services/mapservice_topography_vector_prod/MapServer/tile/0/17/7 > > > > or via a direct URL call against the virtual cache on the Web server eg.: > > > > http://ws-esrimt/MapCache/mapservice_topography_vector_prod/Layers/_alllayers/L00/R00000011/C00000007.png > > > > The former requires ArcGIS Server, as requests are handled through the REST > API and may result in some interpolation. The latter is faster as it > requests the tile directly from the Web server. > > > > The tileOrigin for ArcGIS Server caches is the upper left corner, with > increasing row and column numbers moving down and to the right. This differs > from some other commercial and free tile caches, which usually have their > origin to the lower left. The virtual cache directory structure uses zero > padded hexadecimal numbers for the row and column numbers. > > > > OpenLayers can request tiles using either mechanism, but the virtual cache > format is the fastest (and produces the sharpest images). According to > ESRI's own Web site: > > > > http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_java_help/index.html#/Map_cache_usage_by_clients/009200000t1n000000/ > > "After an initial connection to the GIS server, the Web ADF retrieves tiles > directly from the virtual cache directory. This is the fastest way for the > application to get the tiles. Tiles can only be retrieved this way for > caches stored in the exploded format." > > > > To access these virtual caches, OpenLayers requires ArcGISCache.js and a > patched XYZ.js file to tell OpenLayers to calculate the grid layout from the > upper left rather than the bottom left. > > > > The scale ranges are specified when the map object is created: > > > > var mapoptions = { > > maxExtent: new OpenLayers.Bounds(-4020900, 4554869.11353823, > 2568710.79993, 19998100), > > restrictedExtent: new > OpenLayers.Bounds(980902.6296,4672753.201,2606505.881,6298356.452), > > //scales: [12000000, 3000000, 1000000, 750000, 500000, > 250000, 100000, 75000, 50000, 35000, 25000, 20000, 15000, 10000, 7500, > 5000], > > resolutions: new Array(3175.0063500127003, //0 > > 793.75158750317507, //1 > > 264.58386250105838, //2 > > 198.43789687579377, //3 > > 132.29193125052919, //4 > > 66.145965625264594, //5 > > 26.458386250105836, //6 > > 19.843789687579378, //7 > > 13.229193125052918, //8 > > 9.260435187537043, //9 > > 6.6145965625264589, //10 > > 5.2916772500211673, //11 > > 3.9687579375158752, //12 > > 2.6458386250105836, //13 > > 1.9843789687579376, //14 > > 1.3229193125052918),//15 > > tileSize: new OpenLayers.Size(256,256), > > units: 'm', > > projection: new OpenLayers.Projection('EPSG:2193'), > > fractionalZoom: false > > }; > > var map = new OpenLayers.Map( 'map',mapoptions ); > > > > A cached map layer is then specified as follows: > > > > var topoagc = new OpenLayers.Layer.ArcGISCache({ > > name: "agscache", > > url: > "http://ws-esrimt/MapCache/mapservice_topography_vector_prod/Layers/_alllayers/", > > tileOrigin: new > OpenLayers.LonLat(-4020900,19998100) > > }); > > map.addLayer(topoagc); > > > regards, > > Robert Sanson > >>>> Vadim Bokin <[email protected]> 20/07/2010 6:20 p.m. >>> > Ok, now I'm confused. How do I initialize the ArcGISCache layer with > this service > > http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer > > ?? > > Previously I was going after > > http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer > + "/tile/" + "${z}/${y}/${x}" tiles. > > This goes after completely different scheme of tiles. > > > > This message has been scanned for malware by SurfControl plc. > www.surfcontrol.com _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
