private TileMatrix getTileMatrix ( CoverageDataRequest request ) { TileMatrix tileMatrix = null ; // Check if the request overlaps coverage data bounding box if ( request . overlap ( coverageBoundingBox ) != null ) { // Get the tile distance BoundingBox projectedBoundingBox = request . getProjectedBoundingBox ( ) ; double distanceWidth = projectedBoundingBox . getMaxLongitude ( ) - projectedBoundingBox . getMinLongitude ( ) ; double distanceHeight = projectedBoundingBox . getMaxLatitude ( ) - projectedBoundingBox . getMinLatitude ( ) ; // Get the zoom level to request based upon the tile size Long zoomLevel = tileDao . getClosestZoomLevel ( distanceWidth , distanceHeight ) ; // If there is a matching zoom level if ( zoomLevel != null ) { tileMatrix = tileDao . getTileMatrix ( zoomLevel ) ; } } return tileMatrix ; }
Get the tile matrix for the zoom level as defined by the area of the request