I've used this patch submited by tschaub with good success: http://trac.openlayers.org/browser/sandbox/tschaub/arcgiscache/lib/OpenLayers/Layer/ArcGISCache.js?rev=9918
<http://trac.openlayers.org/browser/sandbox/tschaub/arcgiscache/lib/OpenLayers/Layer/ArcGISCache.js?rev=9918> Cheers, Alexei On Tue, Jun 1, 2010 at 5:33 PM, Robert Sanson <sans...@asurequality.com>wrote: > Tiles I request from an ArcGIS Server tile cache using Layer.XYZ are not > lining up with other layers requested from the same server via Layer.WMS or > Layer.ArcGIS93Rest. > > Here is my code snippet: > > var mapoptions = { > //tileOrigin: new OpenLayers.LonLat(-4020900,19998100), //Origin as > reported by ArcGIS > maxExtent: new OpenLayers.Bounds(-4020900, 4674128.11975, > 2568710.79993, 19998100), //contains the AGS origin > restrictedExtent: new OpenLayers.Bounds(1018697.71047, 4674128.11975, > 2568710.79993, 6296981.53325), > resolutions: new Array(3175.0063500127, 793.751587503175, > 264.583862501058, 198.437896875794, 132.291931250529, 66.1459656252646, > 26.4583862501058, 19.8437896875794, 13.2291931250529, 9.26043518753704, > 6.61459656252646, 5.29167725002117, 3.96875793751588, 2.64583862501058, > 1.98437896875794, 1.32291931250529), > tileSize: new OpenLayers.Size(256,256), > units: 'm', > projection: new OpenLayers.Projection('EPSG:2193'), > fractionalZoom: false > }; > var map = new OpenLayers.Map( 'map',mapoptions ); > var nzcoastwms = new OpenLayers.Layer.WMS( "Coastline", > " > http://ws-esrimt/arcgis/services/mapservice_asurequality_prod/MapServer/WMSServer > ", > {layers: ['0'], format: "image/png"}, > {isBaseLayer: true, singleTile:true, visibility: > true, > attribution:"LINZ data Crown copyright > reserved"} ); > var topoxyz = new OpenLayers.Layer.XYZ( "Topo", > " > http://ws-esrimt/ArcGIS/rest/services/mapservice_topography_vector_prod/MapServer/tile/${z}/${y}/${x<http://ws-esrimt/ArcGIS/rest/services/mapservice_topography_vector_prod/MapServer/tile/$%7Bz%7D/$%7By%7D/$%7Bx> > }", > {isBaseLayer: false, sphericalMercator: false//, > tileOrigin: new OpenLayers.LonLat(-4020900,19998100) > }); > map.addLayers([nzcoastwms,topoxyz]); > > Doing this above, requests the correct tiles, but it seems the requested > tiles are displaced in a north-south direction, depending on Zoom level. I > have previously verified the WMS layer is in the correct location. All the > data and the map are in NZ Transverse Mercator (EPSG:2193), so there is no > projection. > > Here are some numbers to show the problem based on relative locations of > the same features on the map: > Layer zoom res pixel.x pixel.y x y relative px relative y (m) displacement > WMS 0 3175.00635 328 207 2022304.713 5641130.138 > XYZ 0 3175.00635 328 168 2022304.713 5764955.385 -39 123825.25 North > > WMS 1 793.7515875 219 265 1764335.447 5478411.062 > XYZ 1 793.7515875 219 370 1764335.447 5395067.146 105 -83343.92 South > > WMS 2 264.5838625 148 284 1765129.198 5478146.478 > XYZ 2 264.5838625 148 344 1765129.198 5462271.447 60 -15875.03 South > > WMS 3 198.4378969 97 289 1762152.63 5479006.376 > XYZ 3 198.4378969 97 199 1762152.63 5496865.787 -90 17859.41 North > > WMS 4 132.2919313 155 235 1762218.776 5479204.814 > XYZ 4 132.2919313 155 358 1762218.776 5462932.906 123 -16271.91 South > > WMS 5 66.14596563 121 273 1757522.412 5473317.823 > XYZ 5 66.14596563 121 262 1757522.412 5473979.283 -11 661.46 North > > WMS 6 26.45838625 103 307 1757509.183 5473317.823 > XYZ 6 26.45838625 103 408 1757509.183 5470645.526 101 -2672.30 South > > Is this a bug? > > Thanks, > > Robert Sanson > > > This message has been scanned for malware by SurfControl plc. > www.surfcontrol.com > > _______________________________________________ > Dev mailing list > Dev@openlayers.org > http://openlayers.org/mailman/listinfo/dev > >
_______________________________________________ Dev mailing list Dev@openlayers.org http://openlayers.org/mailman/listinfo/dev