svn-gvsig-desktop / trunk / libraries / libjni-mrsid / src-test / Example.java @ 1582
History | View | Annotate | Download (3.91 KB)
1 | 662 | igbrotru | /**********************************************************************
|
---|---|---|---|
2 | * $Id$
|
||
3 | *
|
||
4 | * Name: Example.java
|
||
5 | * Project:
|
||
6 | * Purpose:
|
||
7 | * Author: Nacho Brodin, brodin_ign@gva.es
|
||
8 | *
|
||
9 | **********************************************************************/
|
||
10 | |||
11 | |||
12 | import es.gva.cit.jmrsid.*; |
||
13 | import java.io.*; |
||
14 | |||
15 | public class Example { |
||
16 | public static void main(String[] args){ |
||
17 | |||
18 | |||
19 | LTIImageReader img; |
||
20 | LTIMetadataDatabase metadata; |
||
21 | LTIPixel pixel; |
||
22 | int eColorSpace, nBands, eSampleType;
|
||
23 | |||
24 | int tamx=Integer.parseInt(args[1]); |
||
25 | int tamy=Integer.parseInt(args[2]); |
||
26 | int siz = tamx * tamy * 1; |
||
27 | |||
28 | |||
29 | try{
|
||
30 | img = new MrSIDImageReader(args[0]); |
||
31 | img.initialize(); |
||
32 | |||
33 | int overviews=((MrSIDImageReader)img).getNumLevels()-1; |
||
34 | System.out.println("Overviews="+overviews); |
||
35 | System.out.println("Width="+img.getWidth()); |
||
36 | System.out.println("Height="+img.getHeight()); |
||
37 | System.out.println("Stripsheigth="+img.getStripHeight()); |
||
38 | nBands=img.getNumBands(); |
||
39 | System.out.println("NumBands="+nBands); |
||
40 | eColorSpace=img.getColorSpace(); |
||
41 | System.out.println("ColorSpace="+eColorSpace); |
||
42 | eSampleType=img.getDataType(); |
||
43 | System.out.println("DataType="+eSampleType); |
||
44 | pixel=new LTIPixel(eColorSpace, nBands, eSampleType);
|
||
45 | 720 | igbrotru | int[] dimsAtMag=img.getDimsAtMag(0.5); |
46 | System.out.println("Dims At Mag 0,5="+dimsAtMag[0]+" "+dimsAtMag[1]); |
||
47 | |||
48 | 662 | igbrotru | |
49 | 746 | igbrotru | System.out.println("************************************"); |
50 | |||
51 | 720 | igbrotru | //Acceso a metadatos
|
52 | |||
53 | metadata=img.getMetadata(); |
||
54 | 746 | igbrotru | |
55 | 720 | igbrotru | System.out.println("Metadatos="+metadata.getIndexCount()); |
56 | for (int i=0; i<metadata.getIndexCount(); i++) |
||
57 | { |
||
58 | LTIMetadataRecord rec = null;
|
||
59 | rec = metadata.getDataByIndex(i); |
||
60 | System.out.println(rec.getTagName());
|
||
61 | |||
62 | 840 | igbrotru | //System.out.print("Dims="+rec.getNumDims());
|
63 | //int[] longitudes=rec.getDims();
|
||
64 | //for(int j=0;j<rec.getNumDims();j++)
|
||
65 | //System.out.print("Dim["+j+"]="+longitudes[j]);
|
||
66 | //System.out.println("");
|
||
67 | |||
68 | 720 | igbrotru | if(rec.isScalar())System.out.println(rec.getScalarData()); |
69 | else if(rec.isVector()){ |
||
70 | String[] s = rec.getVectorData(); |
||
71 | for(int j=0;j<s.length;j++)System.out.println("V"+j+"->"+s[j]); |
||
72 | }else if(rec.isArray()){ |
||
73 | String[] s = rec.getArrayData(); |
||
74 | for(int j=0;j<s.length;j++)System.out.println("A"+j+"->"+s[j]); |
||
75 | } |
||
76 | |||
77 | else System.out.println(""); |
||
78 | } |
||
79 | |||
80 | //Fin metadatos
|
||
81 | |||
82 | 746 | igbrotru | System.out.println("************************************"); |
83 | 720 | igbrotru | |
84 | 746 | igbrotru | //Acceso a la informaci?n de georeferenciaci?n
|
85 | |||
86 | LTIGeoCoord geoc = img.getGeoCoord(); |
||
87 | System.out.println("X="+geoc.getX()); |
||
88 | System.out.println("Y="+geoc.getY()); |
||
89 | System.out.println("XRes="+geoc.getXRes()); |
||
90 | System.out.println("YRes="+geoc.getYRes()); |
||
91 | System.out.println("XRot="+geoc.getXRot()); |
||
92 | System.out.println("YRot="+geoc.getYRot()); |
||
93 | |||
94 | //Fin de acceso a la informaci?n de georeferenciaci?n
|
||
95 | |||
96 | System.out.println("************************************"); |
||
97 | |||
98 | 662 | igbrotru | LTIScene scene=new LTIScene(0,0,tamx,tamy,1.0); |
99 | LTISceneBuffer buffer=new LTISceneBuffer(pixel,tamx,tamy,1); |
||
100 | ((LTIImageStage)img).read(scene,buffer); |
||
101 | |||
102 | FileOutputStream s=null; |
||
103 | |||
104 | try{
|
||
105 | File mifichero=new File("exit.raw"); |
||
106 | s = new FileOutputStream(mifichero); |
||
107 | }catch(Exception e){} |
||
108 | |||
109 | |||
110 | try{
|
||
111 | for(int j=0;j<buffer.size;j++){ |
||
112 | s.write(buffer.buf1,j,1);
|
||
113 | s.write(buffer.buf2,j,1);
|
||
114 | s.write(buffer.buf3,j,1);
|
||
115 | } |
||
116 | }catch(IOException e){ |
||
117 | System.out.println("Error writing a line in the file\n"); |
||
118 | System.exit(1); |
||
119 | } |
||
120 | |||
121 | |||
122 | |||
123 | |||
124 | }catch(Exception e){ |
||
125 | e.printStackTrace(); |
||
126 | |||
127 | } |
||
128 | |||
129 | |||
130 | |||
131 | } |
||
132 | } |