Revision 8684 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.tilecache/org.gvsig.raster.tilecache.provider/src/main/java/org/gvsig/raster/tilecache/provider/AbstractTileCacheStructImage.java
AbstractTileCacheStructImage.java | ||
---|---|---|
1 | 1 |
package org.gvsig.raster.tilecache.provider; |
2 | 2 |
|
3 |
import java.util.Collection; |
|
4 |
import java.util.Collections; |
|
3 | 5 |
import java.util.Iterator; |
4 | 6 |
import java.util.Map; |
7 |
import java.util.Set; |
|
8 |
import java.util.SortedSet; |
|
9 |
import java.util.TreeSet; |
|
5 | 10 |
|
6 | 11 |
import org.slf4j.Logger; |
7 | 12 |
import org.slf4j.LoggerFactory; |
... | ... | |
61 | 66 |
public int getZoomLvlForPixelSize(double pixelSize) { |
62 | 67 |
int zoom = 0; |
63 | 68 |
Map<Integer, Double> pixelSizePerZoomLevel = tileStruct.getPixelSizePerZoomLevel(); |
64 |
for (int i : pixelSizePerZoomLevel.keySet()) { |
|
65 |
zoom = i; |
|
69 |
|
|
70 |
SortedSet<Integer> keySet = new TreeSet<>(Collections.reverseOrder()); |
|
71 |
keySet.addAll(pixelSizePerZoomLevel.keySet()); |
|
72 |
Iterator<Integer> iterator = keySet.iterator(); |
|
73 |
while(iterator.hasNext()){ |
|
74 |
zoom = iterator.next(); |
|
66 | 75 |
double levelPixelSize = pixelSizePerZoomLevel.get(zoom); |
67 |
if (pixelSize >= levelPixelSize) {
|
|
76 |
if (pixelSize <= levelPixelSize) {
|
|
68 | 77 |
return zoom; |
69 | 78 |
} |
70 | 79 |
} |
80 |
|
|
71 | 81 |
return zoom; |
72 | 82 |
} |
73 | 83 |
|
Also available in: Unified diff