public String[] getGridNames() { List<String> ret = new ArrayList<String>(gridCoverageLevels.size()); final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); for (int i = zoomStart; i <= zoomStop; i++) { ret.add(gridSet.getGrid(i).getName()); } return ret.toArray(new String[ret.size()]); }
public long[][] getCoverages() { long[][] ret = new long[gridCoverageLevels.size()][5]; final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); for (int level = zoomStart, i = 0; level <= zoomStop; level++, i++) { long[] cov = getCoverage(level); ret[i] = cov; } return ret; }
public long[][] getCoverageIntersections(BoundingBox reqBounds) { final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); long[][] ret = new long[1 + zoomStop - zoomStart][5]; for (int level = zoomStart; level <= zoomStop; level++) { ret[level - zoomStart] = getCoverageIntersection(level, reqBounds); } return ret; }
public long getGridIndex(String gridId) { final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); for (int index = zoomStart; index <= zoomStop; index++) { if (gridSet.getGrid(index).getName().equals(gridId)) { return index; } } return -1L; }
public double[] getResolutions() { double[] ret = new double[gridCoverageLevels.size()]; final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); final Grid[] gridLevels = gridSet.getGridLevels(); for (int z = zoomStart, i = 0; z <= zoomStop; z++, i++) { Grid grid = gridLevels[z]; ret[i] = grid.getResolution(); } return ret; }
public void checkCoverage(long[] index) throws OutsideCoverageException { if (covers(index)) { return; } if (index[2] < getZoomStart() || index[2] > getZoomStop()) { throw new OutsideCoverageException(index, getZoomStart(), getZoomStop()); } long[] coverage = getCoverage((int) index[2]); throw new OutsideCoverageException(index, coverage); }
public long[] getCoverageBestFit() { int level; long[] cov = null; final int zoomStart = getZoomStart(); final int zoomStop = getZoomStop(); for (level = zoomStop; level > zoomStart; level--) { cov = getCoverage(level); if (cov[0] == cov[2] && cov[1] == cov[3]) { break; } } cov = getCoverage(level); return cov; }
PagePyramid newPagePyramid(final GridSubset gridSubset) { int zoomStart = gridSubset.getZoomStart(); int zoomStop = gridSubset.getZoomStop(); final long[][] coverages = gridSubset.getCoverages(); PagePyramid pagePyramid = new PagePyramid(coverages, zoomStart, zoomStop); return pagePyramid; } }
GridSubset subset = tl.getGridSubset(gridSetId); int start = subset.getZoomStart(); int stop = subset.getZoomStop();
int zoomStart = getZoomStart(); for (int i = zoomStart; i <= zoomStop; i++) { Grid grid = gridSet.getGrid(i);
private void truncate(final TileLayer layer, final BoundingBox bounds, final GridSubset gridSubset, String formatName, Map<String, String> parameters) { final int threadCount = 1; int zoomStart; int zoomStop; zoomStart = gridSubset.getZoomStart(); zoomStop = gridSubset.getZoomStop(); final TYPE taskType = TRUNCATE; SeedRequest req = new SeedRequest(layer.getName(), bounds, gridSubset.getName(), threadCount, zoomStart, zoomStop, formatName, taskType, parameters); GWCTask[] tasks; try { TileRange tr = TileBreeder.createTileRange(req, layer); boolean filterUpdate = false; tasks = tileBreeder.createTasks(tr, taskType, threadCount, filterUpdate); } catch (GeoWebCacheException e) { throw new RuntimeException(e); } tileBreeder.dispatchTasks(tasks); }
/** */ public void testWholeRangeMultiThreaded() throws Exception { int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); int[] metaTilingFactors = {1, 1}; int nThreads = 32; long tilesProcessed = traverseTileRangeIter( nThreads, gridCoverages, zoomStart, zoomStop, metaTilingFactors); long expected = countMetaTiles(gridCoverages, zoomStart, zoomStop, metaTilingFactors); assertEquals(expected, tilesProcessed); }
/** */ public void testWholeRangeMultiThreadedMetaTiling() throws Exception { int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); int[] metaTilingFactors = {3, 3}; int nThreads = 32; long tilesProcessed = traverseTileRangeIter( nThreads, gridCoverages, zoomStart, zoomStop, metaTilingFactors); long expected = countMetaTiles(gridCoverages, zoomStart, zoomStop, metaTilingFactors); assertEquals(expected, tilesProcessed); }
/** */ public void testTraverseIndividualZoomLevelsNoMetaTiling() throws Exception { int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); int[] metaTilingFactors = {1, 1}; for (int zLevel = zoomStart; zLevel <= zoomStop; zLevel++) { long tilesProcessed = traverseTileRangeIter(1, gridCoverages, zLevel, zLevel, metaTilingFactors); long expected = countMetaTiles(gridCoverages, zLevel, zLevel, metaTilingFactors); assertEquals( "Expected tile count mismatch at zoom level " + zLevel, expected, tilesProcessed); } }
/** */ public void testTraverseIndividualZoomLevelsMetaTiling() throws Exception { int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); int[] metaTilingFactors = {3, 3}; for (int zLevel = zoomStart; zLevel <= zoomStop; zLevel++) { long tilesProcessed = traverseTileRangeIter(1, gridCoverages, zLevel, zLevel, metaTilingFactors); long expected = countMetaTiles(gridCoverages, zLevel, zLevel, metaTilingFactors); assertEquals( "Expected tile count mismatch at zoom level " + zLevel, expected, tilesProcessed); } }
public long[][] getSubGrid(long[] gridLoc) throws GeoWebCacheException { final int firstLevel = getZoomStart(); final int zoomStop = getZoomStop(); int idx = (int) gridLoc[2];
public void testCalculatePageInfo() { GridSubset gridSubSet = GridSubsetFactory.createGridSubSet(world_EPSG3857); long[][] gridSubsetCoverages = gridSubSet.getCoverages(); int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); PagePyramid pp = new PagePyramid(gridSubsetCoverages, zoomStart, zoomStop); printPyramid(zoomStart, zoomStop, pp); }
/** Builds an XMLGridSubset out of a {@link GridSubset} */ public XMLGridSubset(GridSubset sset) { setGridSetName(sset.getName()); setExtent( sset.getOriginalExtent() == null ? null : new BoundingBox(sset.getOriginalExtent())); setZoomStart(sset.getZoomStart()); setZoomStop(sset.getZoomStop()); setMinCachedLevel(sset.getMinCachedZoom()); setMaxCachedLevel(sset.getMaxCachedZoom()); }
public void testGridNames() throws Exception { BoundingBox bbox = new BoundingBox(0, 0, 180, 90); int zoomStart = 3; int zoomStop = 9; GridSubset grid = GridSubsetFactory.createGridSubSet( gridSetBroker.getWorldEpsg4326(), bbox, zoomStart, zoomStop); String[] gridNames = grid.getGridNames(); final int nlevels = 1 + (grid.getZoomStop() - grid.getZoomStart()); assertEquals(nlevels, gridNames.length); for (String name : gridNames) { assertNotNull(name); } }
/** */ public void testTraverseIndividualZoomLevelsNoMetaTilingMultiThreading() throws Exception { int zoomStart = gridSubSet.getZoomStart(); int zoomStop = gridSubSet.getZoomStop(); int[] metaTilingFactors = {1, 1}; final int nThreads = 64; StopWatch sw = new StopWatch(); sw.start(); // for (int zLevel = zoomStart; zLevel <= zoomStop; zLevel++) { long tilesProcessed = traverseTileRangeIter( nThreads, gridCoverages, zoomStart, zoomStop, metaTilingFactors); long expected = countMetaTiles(gridCoverages, zoomStart, zoomStop, metaTilingFactors); assertEquals( "Expected tile count mismatch at zoom level " + zoomStart, expected, tilesProcessed); // } sw.stop(); System.err.println( nThreads + " threads finished in " + sw.getTotalTimeMillis() + " to count " + expected); }