Revision 723 org.gvsig.raster.mosaic/trunk/org.gvsig.raster.mosaic/org.gvsig.raster.mosaic.io/src/main/java/org/gvsig/raster/mosaic/io/MosaicProvider.java

View differences:

MosaicProvider.java
55 55
import org.gvsig.fmap.dal.coverage.exception.RemoteServiceException;
56 56
import org.gvsig.fmap.dal.coverage.exception.RmfSerializerException;
57 57
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
58
import org.gvsig.fmap.dal.coverage.store.parameter.RasterDataParameters;
58 59
import org.gvsig.fmap.dal.coverage.store.props.HistogramComputer;
59 60
import org.gvsig.fmap.dal.coverage.store.props.Statistics;
60 61
import org.gvsig.fmap.dal.coverage.store.props.TimeSeries;
......
240 241
		noData = getParameters().getNoData();
241 242
		noDataEnabled = true;
242 243
		setColorInterpretation(providerList.get(0).getColorInterpretation().cloneColorInterpretation());
243
		transparency = providerList.get(0).getTransparency();
244
		
244 245
		//Se le pone banda de transparencia siempre
245
		if(providerList.get(0).getDataType()[0] == Buffer.TYPE_BYTE && !providerList.get(0).getTransparency().existAlphaBand()) {
246
		if(providerList.get(0).getDataType()[0] == Buffer.TYPE_BYTE) {
246 247
			transparency = new DataStoreTransparency();
247 248
			transparency.setTransparencyBand(getBandCount());
248
		}
249
		} else 
250
			transparency = providerList.get(0).getTransparency();
249 251
		
250 252
		extent = null;
251 253
		for (int i = 0; i < providerList.size(); i++) {
......
329 331
						File file = new File(multiFileFormat.getPathToFile(i));
330 332
						if(file.exists()) {
331 333
							RasterProvider prov = loadProvider(multiFileFormat.getPathToFile(i), storeServices);
334
							if(i == 0)
335
								getParameters().setPixelSize(prov.getCellSize());
332 336
							getParameters().addProvider(prov);
333 337
						}
334 338
					} catch (ProviderNotRegisteredException e) {
......
624 628
		if(getParameters().hasParamsChanged())
625 629
			calcMetadataFromParams();
626 630
		setView(extent);
627
		String layerName = getLayerNameFromTimeSelection(getParameters().getTimeSelection());
631
		String layerName = getLayerNameFromSelection(getParameters().getTimeSelection());
628 632
		ArrayList<Tile> tileList = getTileList(extent, bandList, rasterBuf.getWidth(), rasterBuf.getHeight(), layerName);
629 633
		try {
630 634
			for (int i = 0; i < tileList.size(); i++) {
......
675 679
		if(getParameters().hasParamsChanged())
676 680
			calcMetadataFromParams();
677 681
		setView(extent);
678
		String layerName = getLayerNameFromTimeSelection(getParameters().getTimeSelection());
682
		String layerName = getLayerNameFromSelection(getParameters().getTimeSelection());
679 683
		ArrayList<Tile> tileList = getTileList(extent, bandList, bufWidth, bufHeight, layerName);
680 684
		try {
681 685
			for (int i = 0; i < tileList.size(); i++) {
......
805 809
	}
806 810
	
807 811
	/**
808
	 * Gets the layer name using the time selection
812
	 * Gets the layer name using the time selection and visibility
809 813
	 * @param t
810 814
	 * @return
811 815
	 */
812
	private String getLayerNameFromTimeSelection(Time t) {
816
	private String getLayerNameFromSelection(Time t) {
813 817
		String name = "";
814 818
		
815 819
		MessageDigest md = null;
......
822 826
		if(t == null || selectedProviders.size() != providerList.size()) {
823 827
			selectedProviders.clear();
824 828
			for (int i = 0; i < providerList.size(); i++) {
825
				selectedProviders.add(providerList.get(i));
826
				name += providerList.get(i).getName();
829
				RasterProvider prov = providerList.get(i);
830
				selectedProviders.add(prov);
831
				if(!((RasterDataParameters)prov.getDataParameters()).isVisible())
832
					name += prov.getURI().substring(prov.getURI().lastIndexOf(File.separator) + 1, prov.getURI().length());
827 833
			}
828 834
		} else {
829 835
			selectedProviders.clear();
......
845 851
						if( instant != null && 
846 852
							t.intersects(instant) &&
847 853
							!selectedProviders.contains(providerList.get(i))) {
848
							selectedProviders.add(providerList.get(i));
849
							name += providerList.get(i).getName();
854
							RasterProvider prov = providerList.get(i);
855
							selectedProviders.add(prov);
856
							if(!((RasterDataParameters)prov.getDataParameters()).isVisible())
857
								name += prov.getURI().substring(prov.getURI().lastIndexOf(File.separator) + 1, prov.getURI().length());
850 858
						}
851 859
					}
852 860
				} catch (RmfSerializerException e) {

Also available in: Unified diff