Revision 11250

View differences:

trunk/libraries/libRaster/src/org/gvsig/raster/util/MathUtils.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
*
3
* Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
*
5
* This program is free software; you can redistribute it and/or
6
* modify it under the terms of the GNU General Public License
7
* as published by the Free Software Foundation; either version 2
8
* of the License, or (at your option) any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program; if not, write to the Free Software
17
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
*/
19
package org.gvsig.raster.util;
20

  
21
/**
22
 * Utilidades para calculos matem?ticos
23
 * 
24
 * @version 18/04/2007
25
 * @author Nacho Brodin (nachobrodin@gmail.com)
26
 *
27
 */
28
public class MathUtils {
29
	public static double INCHESMTR = 39.73007874D;
30
	public static double INCHESCM = 0.3973007874D;
31
	public static double INCHESMM = 0.03973007874D;
32
	public static double MTRSINCH = 0.0254D;
33
	public static double MMSINCH = 25.4D;
34
	public static double CMSINCH = 2.54D;
35
	
36
	
37
	/**
38
     * Recorta el n?mero de decimales a n del n?mero pasado por par?metro
39
     * @return N?mero recortado
40
     */
41
    public static double tailDecimals(double num, int n){
42
    	int m = (int)Math.pow(10, n);
43
        num *= m;
44
        int aux = ((int)num);
45
        num = (double)((double)aux / (double)m);
46
        return num;
47
    }
48
    
49
	/**
50
	 * Convierte pixels en milimetros dependiendo del los puntos por pulgada
51
	 * @param pixels N?mero de pixels
52
	 * @param ppp Puntos por pulgada
53
	 * @return N?mero de milimetros
54
	 */
55
	public static double convertPixelsToMms(int pixels, int ppp){
56
		return convertPixelsToInches(pixels, ppp) * MMSINCH;
57
	}
58
	
59
	/**
60
	 * Convierte pixels en centimetros dependiendo del los metros por pixel
61
	 * @param pixels N?mero de pixels
62
	 * @param mtsPixel Metros por pixel
63
	 * @return N?mero de centimetros
64
	 */
65
	public static double convertPixelsToCms(int pixels, int ppp){
66
		return convertPixelsToInches(pixels, ppp) * CMSINCH;
67
	}
68
	
69
	/**
70
	 * Convierte pixels en metros dependiendo del los metros por pixel
71
	 * @param pixels N?mero de pixels
72
	 * @param mtsPixel Metros por pixel
73
	 * @return N?mero de metros
74
	 */
75
	public static double convertPixelsToMts(int pixels, int ppp){
76
		return convertPixelsToInches(pixels, ppp) * MTRSINCH;
77
	}
78
	
79
	/**
80
	 * Convierte pixels en pulgadas dependiendo del los metros por pixel
81
	 * @param pixels N?mero de pixels
82
	 * @param mtsPixel Metros por pixel
83
	 * @return N?mero de pulgadas
84
	 */
85
	public static double convertPixelsToInches(int pixels, int ppp){
86
		return (double)((double)pixels / (double)ppp);
87
	}
88
	
89
	/**
90
	 * Convierte metros en pixels dependiendo de los puntos por pulgada
91
	 * @param mts N?mero de metros
92
	 * @param ppp Puntos por pulgada
93
	 * @return N?mero de pixeles
94
	 */
95
	public static int convertMtsToPixels(double mts, int ppp){
96
		return (int)(mts * MathUtils.INCHESMTR * ppp);
97
	}
98
	
99
	/**
100
	 * Convierte pulgadas en pixels dependiendo de los puntos por pulgada
101
	 * @param mts N?mero de pulgadas
102
	 * @param ppp Puntos por pulgada
103
	 * @return N?mero de pixeles
104
	 */
105
	public static int convertInchesToPixels(double inches, int ppp){
106
		return (int)(inches * ppp);
107
	}
108
	
109
	/**
110
	 * Convierte centimetros en pixels dependiendo de los puntos por pulgada
111
	 * @param mts N?mero de centmetros
112
	 * @param ppp Puntos por pulgada
113
	 * @return N?mero de pixeles
114
	 */
115
	public static int convertCmsToPixels(double cms, int ppp){
116
		return (int)(cms * MathUtils.INCHESCM * ppp);
117
	}
118
	
119
	/**
120
	 * Convierte milimetros en pixels dependiendo de los puntos por pulgada
121
	 * @param mts N?mero de milimetros
122
	 * @param ppp Puntos por pulgada
123
	 * @return N?mero de pixeles
124
	 */
125
	public static int convertMmsToPixels(double mms, int ppp){
126
		return (int)(mms * MathUtils.INCHESMM * ppp);
127
	}
128
}
0 129

  
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/io/GdalWriter.java
18 18
 */
19 19
package org.gvsig.raster.dataset.io;
20 20

  
21
import java.io.BufferedOutputStream;
22
import java.io.DataOutputStream;
23
import java.io.File;
24
import java.io.FileOutputStream;
25 21
import java.io.IOException;
26 22

  
27 23
import org.cresques.cts.IProjection;
......
152 148
        this.sizeWindowX = outSizeX.intValue();
153 149
        this.sizeWindowY = outSizeY.intValue();
154 150

  
155
        if ((sizeWindowX < 0) || (sizeWindowY < 0)) {
151
        if ((sizeWindowX < 0) || (sizeWindowY < 0)) 
156 152
            throw new IOException("Tama?o del fichero de salida erroneo.");
157
        }
158

  
153
        
159 154
        this.nBands = nBands.intValue();
160 155

  
161 156
        //Calculamos la georeferenciaci?n a partir del extend pasado por el cliente.
......
177 172
        
178 173
        init();
179 174
    }
180

  
175
    
181 176
    /**
182 177
     * Asigna el tipo de driver con el que se salvar? la imagen
183 178
     * @param drvType        Tipo de driver
trunk/libraries/libRaster/doc/Notas.txt
1
Writer de ermapper
1 2
Acabar cach?
2 3
readCompleteLine + test para ECW
3 4
Drivers escritura y grid para escritura y exportaci?n de formatos

Also available in: Unified diff