Revision 882 org.gvsig.raster.netcdf/trunk/org.gvsig.raster.netcdf/org.gvsig.raster.netcdf.io/src/main/java/org/gvsig/raster/netcdf/io/NetCDFProvider.java
NetCDFProvider.java | ||
---|---|---|
49 | 49 |
import org.gvsig.raster.cache.tile.provider.TileListener; |
50 | 50 |
import org.gvsig.raster.cache.tile.provider.TileServer; |
51 | 51 |
import org.gvsig.raster.impl.DefaultRasterManager; |
52 |
import org.gvsig.raster.impl.datastruct.DefaultNoData; |
|
52 | 53 |
import org.gvsig.raster.impl.datastruct.ExtentImpl; |
53 | 54 |
import org.gvsig.raster.impl.provider.DefaultRasterProvider; |
54 | 55 |
import org.gvsig.raster.impl.provider.RasterProvider; |
... | ... | |
181 | 182 |
DataStoreProviderServices storeServices) throws NotSupportedExtensionException, OpenException { |
182 | 183 |
|
183 | 184 |
if(((RasterFileStoreParameters)params).getFile().exists()) { |
185 |
String fileName = ((RasterFileStoreParameters)params).getFile().getAbsolutePath(); |
|
184 | 186 |
try { |
185 |
gridNetCDF = GridDataset.open(((RasterFileStoreParameters)params).getFile().getAbsolutePath());
|
|
187 |
gridNetCDF = GridDataset.open(fileName);
|
|
186 | 188 |
gridList = gridNetCDF.getGrids(); |
187 | 189 |
if(gridList.size() == 0) |
188 | 190 |
throw new OpenException("There is not a grid variable", null); |
... | ... | |
202 | 204 |
setParam(storeServices, params); |
203 | 205 |
reloadMetadataFromGrid(); |
204 | 206 |
|
207 |
noData = new DefaultNoData(Double.NaN, Double.NaN, fileName); |
|
205 | 208 |
load(); |
206 | 209 |
} else |
207 | 210 |
setParam(storeServices, params); |
208 | 211 |
|
209 | 212 |
super.init(); |
210 |
|
|
213 |
selectSubdataset(getId(0, 0, 0)); |
|
211 | 214 |
try { |
212 | 215 |
loadFromRmf(getRmfBlocksManager()); |
213 | 216 |
} catch (ParsingException e) { |
... | ... | |
524 | 527 |
if(gridList.get(j).getName().compareTo(variable) == 0) { |
525 | 528 |
selectedGridDataType = gridList.get(j); |
526 | 529 |
reloadMetadataFromGrid(); |
527 |
String id = j + "-" + getLevelValue() + "-" + p.getFieldTime(); |
|
528 |
super.selectSubdataset(id); |
|
530 |
super.selectSubdataset(getId(j, getLevelValue(), p.getFieldTime())); |
|
529 | 531 |
} |
530 | 532 |
} |
531 | 533 |
} |
532 | 534 |
} |
533 | 535 |
} |
536 |
|
|
537 |
/** |
|
538 |
* Gets the identifier of a subdataset |
|
539 |
* @param grid |
|
540 |
* @param level |
|
541 |
* @param time |
|
542 |
* @return |
|
543 |
*/ |
|
544 |
private String getId(int grid, int level, int time) { |
|
545 |
return grid + "-" + level + "-" + time; |
|
546 |
} |
|
534 | 547 |
|
535 | 548 |
/** |
536 | 549 |
* Loads a Buffer object from an netCDF Array. |
Also available in: Unified diff