public boolean isGoogleTiles ( ) { // Convert the bounding box to wgs84 BoundingBox boundingBox = tileMatrixSet . getBoundingBox ( ) ; BoundingBox wgs84BoundingBox = boundingBox . transform ( projection . getTransformation ( ProjectionConstants . EPSG_WORLD_GEODETIC_SYSTEM ) ) ; boolean googleTiles = false ; // Verify the bounds are the entire world if ( wgs84BoundingBox . getMinLatitude ( ) <= ProjectionConstants . WEB_MERCATOR_MIN_LAT_RANGE && wgs84BoundingBox . getMaxLatitude ( ) >= ProjectionConstants . WEB_MERCATOR_MAX_LAT_RANGE && wgs84BoundingBox . getMinLongitude ( ) <= - ProjectionConstants . WGS84_HALF_WORLD_LON_WIDTH && wgs84BoundingBox . getMaxLongitude ( ) >= ProjectionConstants . WGS84_HALF_WORLD_LON_WIDTH ) { googleTiles = true ; // Verify each tile matrix is the correct width and height for ( TileMatrix tileMatrix : tileMatrices ) { long zoomLevel = tileMatrix . getZoomLevel ( ) ; long tilesPerSide = TileBoundingBoxUtils . tilesPerSide ( ( int ) zoomLevel ) ; if ( tileMatrix . getMatrixWidth ( ) != tilesPerSide || tileMatrix . getMatrixHeight ( ) != tilesPerSide ) { googleTiles = false ; break ; } } } return googleTiles ; }
Determine if the tiles are in the Google tile coordinate format