Revision 18218
trunk/libraries/libCacheService/src/org/gvsig/cacheservice/CacheService.java | ||
---|---|---|
81 | 81 |
return new Dimension(getTileSize(),getTileSize()); |
82 | 82 |
} |
83 | 83 |
|
84 |
/** |
|
85 |
* Calcula el Extent de un tile a partir de su level y num |
|
86 |
* @param tileNum |
|
87 |
* @return |
|
88 |
*/ |
|
89 |
public Rectangle2D computeBBox(TileNum tileNum) { |
|
90 |
int partsX = getFullSize(tileNum.getLevel()).width/getTileSize(); |
|
91 |
int partsY = partsX/2; |
|
92 |
double stepX = (getFullExtent().getMaxX()-getFullExtent().getMinX())/partsX; |
|
93 |
double stepY = (getFullExtent().getMaxY()-getFullExtent().getMinY())/partsY; |
|
94 |
double l = getFullExtent().getMinX()+(double)tileNum.getX()*stepX; |
|
95 |
//double r = l+stepX; |
|
96 |
double b; |
|
97 |
if ((_cacheType & SPHERIC) == SPHERIC) |
|
98 |
b = getFullExtent().getMaxY()-(double)tileNum.getY()*stepY - stepY; |
|
99 |
else |
|
100 |
b = getFullExtent().getMinY()+(double)tileNum.getY()*stepY; |
|
101 |
|
|
102 |
return new Rectangle2D.Double(l,b,stepX, Math.abs(stepY)); |
|
103 |
} |
|
104 |
|
|
105 | 84 |
public Dimension getFullSize(int level) { |
106 | 85 |
int w = getTileSize() * (int)Math.pow(2,level); |
107 | 86 |
return new Dimension(w, w/2); |
trunk/libraries/libCacheService/src/org/gvsig/cacheservice/RasterCacheService.java | ||
---|---|---|
2 | 2 |
|
3 | 3 |
import java.awt.Image; |
4 | 4 |
import java.awt.Point; |
5 |
import java.awt.geom.Rectangle2D; |
|
5 | 6 |
import java.awt.image.RenderedImage; |
6 | 7 |
import java.io.File; |
7 | 8 |
import java.io.FileOutputStream; |
... | ... | |
53 | 54 |
* @return The image of the. |
54 | 55 |
* @throws CacheServiceException |
55 | 56 |
*/ |
56 |
abstract public Image getTileAsImage(TileNum tileNum) |
|
57 |
abstract public Image getTileAsImage(TileNum tileNum, Rectangle2D extent)
|
|
57 | 58 |
throws CacheServiceException; |
58 | 59 |
|
59 |
public Image getTileAsImage(int level, Point num) |
|
60 |
public Image getTileAsImage(int level, Point num, Rectangle2D extent)
|
|
60 | 61 |
throws CacheServiceException { |
61 |
return getTileAsImage(new TileNum(level, num)); |
|
62 |
return getTileAsImage(new TileNum(level, num), extent);
|
|
62 | 63 |
} |
63 | 64 |
|
64 | 65 |
/** |
... | ... | |
69 | 70 |
* @throws MalformedURLException |
70 | 71 |
* @throws IOException |
71 | 72 |
*/ |
72 |
abstract public String getTileAsFName(TileNum tileNum) |
|
73 |
abstract public String getTileAsFName(TileNum tileNum, Rectangle2D extent)
|
|
73 | 74 |
throws CacheServiceException; |
74 | 75 |
|
75 | 76 |
/** |
... | ... | |
83 | 84 |
* @throws MalformedURLException |
84 | 85 |
* @throws IOException |
85 | 86 |
*/ |
86 |
public String getTileAsFName(int level, Point num) |
|
87 |
public String getTileAsFName(int level, Point num, Rectangle2D extent)
|
|
87 | 88 |
throws CacheServiceException { |
88 |
return getTileAsFName(new TileNum(level, num)); |
|
89 |
return getTileAsFName(new TileNum(level, num), extent);
|
|
89 | 90 |
} |
90 | 91 |
|
91 | 92 |
public Image getImageFromCachedFile(String fName) throws IOException { |
Also available in: Unified diff