summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Layer/ArcGISCache.html
diff options
context:
space:
mode:
authorChris Schlaeger <chris@linux.com>2015-10-17 21:36:38 +0200
committerChris Schlaeger <chris@linux.com>2015-10-17 21:36:38 +0200
commite30f267181d990947e67909de4809fa941698c85 (patch)
tree46e9f94c2b3699ed378963b420b8a8d361286ea1 /misc/openlayers/tests/Layer/ArcGISCache.html
parente763ceb183f389fcd314a4a6a712d87c9d4cdb32 (diff)
downloadpostrunner-e30f267181d990947e67909de4809fa941698c85.zip
Upgrading openlayers to 3.x
Diffstat (limited to 'misc/openlayers/tests/Layer/ArcGISCache.html')
-rw-r--r--misc/openlayers/tests/Layer/ArcGISCache.html256
1 files changed, 0 insertions, 256 deletions
diff --git a/misc/openlayers/tests/Layer/ArcGISCache.html b/misc/openlayers/tests/Layer/ArcGISCache.html
deleted file mode 100644
index b5ed5d5..0000000
--- a/misc/openlayers/tests/Layer/ArcGISCache.html
+++ /dev/null
@@ -1,256 +0,0 @@
-<html>
-<head>
- <script src="../../lib/OpenLayers.js"></script>
- <script src="../../lib/OpenLayers/Layer/ArcGISCache.js" type="text/javascript"></script>
- <script src="ArcGISCache.json" type="text/javascript"></script>
- <script type="text/javascript">
- var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
- var layer;
-
- var name = 'Test Layer';
- var url = "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer";
- var options = { };
-
- function test_Layer_ARCGISCACHE_constructor (t) {
- t.plan( 1 );
-
- var layer = new OpenLayers.Layer.ArcGISCache(name, url, options);
- t.ok( layer instanceof OpenLayers.Layer.ArcGISCache, "returns OpenLayers.Layer.ArcGISCache object" );
- }
-
- function test_Layer_ARCGISCACHE_autoConfigure (t) {
- t.plan( 5 );
- var layerInfo = capabilitiesObject;
-
- //initialize the layer using the JSON object from an arcgis server
- //SEE: ArcGISCache.json
- var layer = new OpenLayers.Layer.ArcGISCache(name, url, {
- layerInfo: layerInfo
- });
- t.ok( layer instanceof OpenLayers.Layer.ArcGISCache, "returns OpenLayers.Layer.ArcGISCache object" );
- t.ok( layer.projection = 'EPSG:' + layerInfo.spatialReference.wkid, "projection is set correctly");
- t.ok( layer.units = 'm', "map units are set correctly");
- t.ok( layer.resolutions && layer.resolutions.length == 20, "resolutions are initialized from LOD objects properly");
-
- if (layerInfo.tileInfo) {
- if (layerInfo.tileInfo.width && layerInfo.tileInfo.height) {
- var tileSize = new OpenLayers.Size(layerInfo.tileInfo.width, layerInfo.tileInfo.height);
- t.ok((layer.tileSize.width == tileSize.width) && (layer.tileSize.height == tileSize.height), "tile size is set properly");
- }
- else {
- var tileSize = new OpenLayers.Size(layerInfo.tileInfo.cols, layerInfo.tileInfo.rows);
- t.ok((layer.tileSize.width == tileSize.width) && (layer.tileSize.height == tileSize.height), "tile size is set properly");
- }
- }
- }
-
- /**
- * lets make sure we're getting the correct urls back with a basic auto-configure setup
- */
- function test_Layer_ARCGISCACHE_autoConfigure_URLS(t) {
- var layerInfo = capabilitiesObject;
-
- //initialize the layer using the JSON object from an arcgis server
- //SEE: ArcGISCache.json
- var layer = new OpenLayers.Layer.ArcGISCache(name, url, {
- layerInfo: layerInfo,
- params: {foo: "bar"}
- });
- var map = new OpenLayers.Map('map', {
- maxExtent: layer.maxExtent,
- units: layer.units,
- resolutions: layer.resolutions,
- numZoomLevels: layer.numZoomLevels,
- tileSize: layer.tileSize,
- projection: layer.displayProjection,
- StartBounds: layer.initialExtent
- });
- map.addLayers([layer]);
-
- //this set represents a few edge cases, and some more specific cases, it is by no means exhaustive,
- var urlSets = [
- {
- bounds: new OpenLayers.Bounds(-36787612.973083,-22463925.368666, 43362420.398053,17611091.316902),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/0/0/0"
- },
- {
- bounds: new OpenLayers.Bounds(-31793889.951914,4589319.785415, 8281126.733654,24626828.128199),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/1/0/0"
- },
- {
- bounds: new OpenLayers.Bounds(-24639873.181971,12676071.933457, -4602364.839187,22694826.104849),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/2/0/0"
- },
- {
- bounds: new OpenLayers.Bounds(-15521241.455665,11580270.695961, 4516266.887119,21599024.867353),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/2/0/1"
- },
- {
- bounds: new OpenLayers.Bounds(-9265879.5435993,2870892.9335638, -8639707.4078873,3183979.0014198) ,
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/7/54/35"
- },
- {
- bounds: new OpenLayers.Bounds(-10741909.131798,4684560.1640365, -10585366.09787,4762831.6810005),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/9/195/119"
- },
- {
- bounds: new OpenLayers.Bounds(-13668958.106938,4456961.2611504, -13512415.07301,4535232.7781144),
- url: "http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/9/198/82"
- }
- ];
-
- t.plan( urlSets.length );
- for(var i=0;i<urlSets.length;i++)
- {
- var o = urlSets[i];
- map.zoomToExtent(o.bounds, true);
-
- var resultUrl = layer.getURL(o.bounds);
- t.ok( resultUrl == o.url + "?foo=bar", "correct tile returned for " + o.bounds);
- }
- }
-
- /**
- * Test the formatting for the 'direct' urls, especially when not auto-configuring the layer
- */
- function test_Layer_ARCGISCACHE_direct(t) {
- var roadsUrl = 'http://serverx.esri.com/arcgiscache/DG_County_roads_yesA_backgroundDark/Layers/_alllayers';
- var urlSets = [
- {
- bounds: new OpenLayers.Bounds(289244.67443386,4317153.7421985, 306178.04163392,4325620.4257985),
- url: roadsUrl + "/L00/R0000029e/C0000027f.png"
- },
- {
- bounds: new OpenLayers.Bounds(308658.51534463,4303230.0164352, 325591.88254469,4311696.7000352),
- url: roadsUrl + "/L00/R000002a0/C00000282.png"
- },
- {
- bounds: new OpenLayers.Bounds(311136.39626998,4318933.8711555, 311678.26402038,4319204.8050307) ,
- url: roadsUrl + "/L05/R000051e0/C00004e52.png"
- }
- ];
- t.plan( urlSets.length );
-
-
- //perform the exact setup from the arcgiscache_direct example
-
- // First 4 variables extracted from conf.xml file
- // Tile layers & map MUST have same projection
- var proj='EPSG:26915';
-
- // Layer can also accept serverResolutions array
- // to deal with situation in which layer resolution array & map resolution
- // array are out of sync
- var mapResolutions = [33.0729828126323,16.9333672000677,8.46668360003387,4.23334180001693,2.11667090000847,1.05833545000423];
-
- // For this example this next line is not really needed, 256x256 is default.
- // However, you would need to change this if your layer had different tile sizes
- var tileSize = new OpenLayers.Size(256,256);
-
- // Tile Origin is required unless it is the same as the implicit map origin
- // which can be effected by several variables including maxExtent for map or base layer
- var agsTileOrigin = new OpenLayers.LonLat(-5120900,9998100);
-
- // This can really be any valid bounds that the map would reasonably be within
- var mapExtent = new OpenLayers.Bounds(289310.8204,4300021.937,314710.8712,4325421.988);
-
-
- var map = new OpenLayers.Map('map', {
- maxExtent:mapExtent,
- controls: [
- new OpenLayers.Control.Navigation(),
- new OpenLayers.Control.LayerSwitcher(),
- new OpenLayers.Control.PanZoomBar(),
- new OpenLayers.Control.MousePosition()]
- });
-
- var layer = new OpenLayers.Layer.ArcGISCache('Roads', roadsUrl, {
- tileOrigin: agsTileOrigin,
- resolutions: mapResolutions,
- sphericalMercator: true,
- maxExtent: mapExtent,
- useArcGISServer: false,
- isBaseLayer: true,
- projection: proj
- });
-
- map.addLayers([layer]);
- map.zoomToExtent(new OpenLayers.Bounds(-8341644, 4711236, -8339198, 4712459));
-
- for(var i=0;i<urlSets.length;i++)
- {
- var o = urlSets[i];
- map.zoomToExtent(o.bounds, true);
- var resultUrl = layer.getURL(o.bounds);
- t.ok( resultUrl == o.url, "correct tile returned for " + o.bounds);
- }
- }
-
- /**
- * Check the utility function for generating tile indexes against a file cache
- * This is already tested in BaseTypes test, but these are specific,
- * common conversions that this class will rely on, so the tests are retained
- */
- function test_Layer_ARCGISCACHE_zeroPad(t) {
- t.plan(4);
-
- var layer = new OpenLayers.Layer.ArcGISCache('test', null, { });
-
- //some tile examples
- t.ok('00000001' == OpenLayers.Number.zeroPad(1, 8, 16), 'zeroPad should generate tile indexes properly ');
- t.ok('00000020' == OpenLayers.Number.zeroPad(32, 8, 16), 'zeroPad should generate tile indexes properly ');
- t.ok('00000100' == OpenLayers.Number.zeroPad(256, 8, 16), 'zeroPad should generate tile indexes properly ');
- t.ok('00001000' == OpenLayers.Number.zeroPad(4096, 8, 16), 'zeroPad should generate tile indexes properly ');
- }
-
- /**
- * Check to ensure our LOD calculation will correctly avoid returning tile indexes less than zero
- * (see http://trac.osgeo.org/openlayers/ticket/3169)
- */
- function test_Layer_ARCGISCACHE_tileBounds(t) {
- t.plan(1);
-
- var layer = new OpenLayers.Layer.ArcGISCache('test', null, { });
- var res = 264.583862501058;
- layer.tileOrigin = new OpenLayers.LonLat(0.0, 650000.0);
- layer.tileSize = new OpenLayers.Size(512, 512);
-
- // pick a point off the left of our tile origin (would be a negative tile index)
- var point = new OpenLayers.Geometry.Point(-123308.94829, 393128.85817);
-
- var tile = layer.getContainingTileCoords(point, res);
- t.ok((tile.x >= 0 && tile.y >= 0), 'layer should not generate negative tile ranges for level of detail');
- }
-
- /*
- * Test that messing up the Array.prototype does not mess up the lods of the layer.
- * This messes up zooming when resolutions are very small/scales are very large/zoomed way in.
- */
- function test_Layer_ARCGISCACHE_lods (t) {
- t.plan( 2 );
- var layerInfo = capabilitiesObject;
-
- lods = layerInfo.tileInfo.lods.length;
-
- // mess up the Array prototype
- Array.prototype.foo = function() { };
-
- t.ok( lods == layerInfo.tileInfo.lods.length, 'proper number of "Levels of Detail" before initialization' );
-
- // initialize the layer using the JSON object from an arcgis server
- // see: ArcGISCache.json
- var layer = new OpenLayers.Layer.ArcGISCache(name, url, {
- layerInfo: layerInfo
- });
-
- t.ok( lods == layer.lods.length, 'proper number of "Levels of Detail" after initialization.' );
- // restore the Array prototype
- delete Array.prototype.foo;
- }
-
- </script>
-</head>
-<body>
-<div id="map" style="width:500px;height:550px;"></div>
-</body>
-</html>