Revision 17663

View differences:

trunk/libraries/libRaster/src/org/gvsig/raster/dataset/MultiRasterDataset.java
25 25
import java.util.ArrayList;
26 26

  
27 27
import org.cresques.cts.IProjection;
28
import org.gvsig.raster.RasterLibrary;
28 29
import org.gvsig.raster.buffer.RasterBuffer;
29 30
import org.gvsig.raster.buffer.cache.RasterReadOnlyBuffer;
30 31
import org.gvsig.raster.dataset.io.RasterDriverException;
......
406 407
		else
407 408
			mallocNBands = bandList.getDrawableBandsCount();
408 409
		
409
		//Buffer RO
410
		//Buffer ReadOnly
410 411
		
411 412
		if(isReadOnly()) {
412 413
			RasterBuffer rb = RasterBuffer.getReadOnlyBuffer(getDataType()[0], width, height, getBandCount());
......
506 507
		else
507 508
			mallocNBands = bandList.getDrawableBandsCount();
508 509
		
509
		//Buffer RO
510
		//Buffer ReadOnly
510 511
		
511 512
		if(isReadOnly()) {
512 513
			RasterBuffer rb = RasterBuffer.getReadOnlyBuffer(getDataType()[0], width, height, getBandCount());
......
586 587
		else
587 588
			mallocNBands = bandList.getDrawableBandsCount();
588 589
		
589
		//Buffer RO
590
		//Buffer ReadOnly
590 591
		
591 592
		if(isReadOnly()) {
592 593
			RasterBuffer rb = RasterBuffer.getReadOnlyBuffer(getDataType()[0], bufWidth, bufHeight, getBandCount());
......
647 648
		if(x < 0 || y < 0 || w > ((RasterDataset)files.get(0)).getWidth() || h > ((RasterDataset)files.get(0)).getHeight())
648 649
			throw new InvalidSetViewException("Out of image");
649 650
				
650
		//Buffer RO
651
		//Buffer ReadOnly
651 652
		
652 653
		if(isReadOnly()) {
653 654
			RasterBuffer rb = RasterBuffer.getReadOnlyBuffer(getDataType()[0], w, h, getBandCount());
......
704 705
		if(x < 0 || y < 0 || w > ((RasterDataset)files.get(0)).getWidth() || h > ((RasterDataset)files.get(0)).getHeight())
705 706
			throw new InvalidSetViewException("Out of image");
706 707
		
707
		//Buffer RO
708
		//Buffer ReadOnly
708 709
		
709 710
		if(isReadOnly()) {
710 711
			RasterBuffer rb = RasterBuffer.getReadOnlyBuffer(getDataType()[0], bufWidth, bufHeight, getBandCount());
......
800 801
	 */
801 802
	public int[] getDataType() {
802 803
		int[] dt = new int[getBandCount()];
804

  
805
		if (dt.length == 0)
806
			return null;
807

  
803 808
		int k = 0;
804 809
		for(int i = 0; i < files.size(); i++) {
805 810
			int[] types = ((RasterDataset)files.get(i)).getDataType();
......
809 814
			}
810 815
		}
811 816
				
812
	    if(dt.length == 0)
813
	    	return null;
814
	    else
815
	    	return dt;
817
		return dt;
816 818
	}
817 819
	
818 820
	/**
......
901 903
		}
902 904
		return maxy;
903 905
	}
904
	
906

  
907
	/*
908
	 * (non-Javadoc)
909
	 * @see org.gvsig.raster.dataset.IRasterDataSource#getNoDataValue()
910
	 */
911
	public double getNoDataValue(int dataset) {
912
		if (files.isEmpty())
913
			return RasterLibrary.defaultNoDataValue;
914

  
915
		if (dataset >= files.size())
916
			dataset = files.size() - 1;
917

  
918
		if (dataset < 0)
919
			dataset = 0;
920

  
921
		return ((RasterDataset) files.get(dataset)).getNoDataValue();
922
	}
923

  
924
	/*
925
	 * (non-Javadoc)
926
	 * @see org.gvsig.raster.dataset.IRasterDataSource#resetNoDataValue()
927
	 */
928
	public void resetNoDataValue() {
929
		for (int i = 0; i < files.size(); i++)
930
			((RasterDataset) files.get(i)).resetNoDataValue();
931
	}
932

  
933
	/*
934
	 * (non-Javadoc)
935
	 * @see org.gvsig.raster.dataset.IRasterDataSource#setNoDataValue(int, double)
936
	 */
937
	public void setNoDataValue(int dataset, double value) {
938
		if (files.isEmpty())
939
			return;
940

  
941
		if (dataset >= files.size())
942
			return;
943

  
944
		if (dataset < 0)
945
			return;
946

  
947
		((RasterDataset) files.get(dataset)).setNoDataValue(value);
948
	}
949

  
905 950
	/**
906 951
	 * Obtiene el extent del multi fichero. Este corresponde al primer
907 952
	 * GeoRasterFile de la lista.
......
1114 1159
		return 0;
1115 1160
	}
1116 1161
	
1117
	
1118 1162
	/*
1119 1163
	 * (non-Javadoc)
1120 1164
	 * @see org.gvsig.raster.util.IHistogramable#resetPercent()

Also available in: Unified diff