Revision 25770

View differences:

trunk/extensions/extRasterTools-SE/src-test/org/gvsig/fmap/raster/grid/roi/TestVectorialROIsWriter.java
1
package org.gvsig.fmap.raster.grid.roi;
2

  
3
import java.awt.Color;
4

  
5
import junit.framework.TestCase;
6

  
7
import org.gvsig.raster.buffer.RasterBufferInvalidException;
8
import org.gvsig.raster.dataset.IBuffer;
9
import org.gvsig.raster.grid.Grid;
10
import org.gvsig.raster.grid.GridExtent;
11
import org.gvsig.raster.grid.OutOfGridException;
12

  
13
import com.iver.cit.gvsig.fmap.core.GeneralPathX;
14
import com.iver.cit.gvsig.fmap.core.IGeometry;
15
import com.iver.cit.gvsig.fmap.core.ShapeFactory;
16
import com.iver.cit.gvsig.fmap.crs.CRSFactory;
17

  
18
public class TestVectorialROIsWriter extends TestCase {
19
	
20
	Grid grid = null;
21
	GridExtent extent = null;
22
	int cellSize = 1;
23
	double xMin = 0;
24
	double xMax = 10;
25
	double yMin = 0;
26
	double yMax = 10;
27
	VectorialROI rois[] = null;
28
	GeneralPathX path = null;
29
	IGeometry geometry = null;
30
	
31
	public void setUp() {
32
		int bands[] = {0};
33
		extent = new GridExtent();
34
		extent.setCellSize(cellSize);
35
		extent.setXRange(xMin, xMax);
36
		extent.setYRange(yMin, yMax);
37
		rois = new VectorialROI[3];
38
		try {
39
			grid = new Grid(extent, extent, IBuffer.TYPE_DOUBLE, bands);
40
			for (int x = 0; x<5; x++)
41
				for (int y = 0; y<5; y++){
42
					grid.setCellValue(x, y, 0.0);
43
				}
44
			for (int x = 5; x<xMax; x++)
45
				for (int y = 0; y<5; y++){
46
					grid.setCellValue(x, y, 1.0);
47
				}
48
			for (int x = 0; x<5; x++)
49
				for (int y = 5; y<10; y++){
50
					grid.setCellValue(x, y, 2.0);
51
				}
52
			for (int x = 5; x<10; x++)
53
				for (int y = 5; y<10; y++){
54
					grid.setCellValue(x, y, 3.0);
55
				}
56
		} catch (RasterBufferInvalidException e) {
57
			// TODO Auto-generated catch block
58
			e.printStackTrace();
59
		} catch (OutOfGridException e) {
60
			// TODO Auto-generated catch block
61
			e.printStackTrace();
62
		}
63
		
64
	}
65

  
66
	public void start() {
67
		this.setUp();
68
		this.testStack();
69
	}
70

  
71
	public void testStack() {
72
		
73
		
74
		path = new GeneralPathX();
75
		
76
		path.moveTo(4,4);
77
		path.lineTo(4,0);
78
		path.lineTo(0,0);
79
		path.lineTo(0,4);
80
		path.closePath();
81
		
82
		geometry=ShapeFactory.createPolygon2D(path);
83
				
84
		rois[0] = new VectorialROI(grid);
85
		rois[0].addGeometry(geometry);
86
		rois[0].setColor(Color.RED);
87
		rois[0].setName("PoligonsROI");
88
		
89
		path = new GeneralPathX();
90
		
91
		path.moveTo(9,4);
92
		path.lineTo(9,2);
93
		path.lineTo(6,2);
94
		path.lineTo(6,4);
95
		path.closePath();
96
		
97
		geometry=ShapeFactory.createPolygon2D(path);
98
		rois[0].addGeometry(geometry);
99
		
100
		//ROI tipo linea:
101
		path = new GeneralPathX();
102
		
103
		path.moveTo(14,14);
104
		path.lineTo(14,10);
105
		path.lineTo(10,10);
106
		path.lineTo(10,14);
107
		
108
		geometry=ShapeFactory.createPolyline2D(path);
109
				
110
		rois[1] = new VectorialROI(grid);
111
		rois[1].addGeometry(geometry);
112
		rois[1].setColor(Color.GREEN);
113
		rois[1].setName("LinesROI");
114
		
115
		path = new GeneralPathX();
116
		
117
		path.moveTo(24,24);
118
		path.lineTo(24,20);
119
		path.lineTo(20,20);
120
		path.lineTo(20,24);
121
		
122
		geometry=ShapeFactory.createPolyline2D(path);
123
				
124
		rois[1].addGeometry(geometry);
125
		
126
		//ROI tipo puntos:
127
		geometry=ShapeFactory.createPoint2D(30, 30);
128
				
129
		rois[2] = new VectorialROI(grid);
130
		rois[2].addGeometry(geometry);
131
		rois[2].setColor(Color.BLUE);
132
		rois[2].setName("PointsROI");
133
		
134
		geometry=ShapeFactory.createPoint2D(35, 35);
135
		
136
		rois[2].addGeometry(geometry);
137
		
138
		VectorialROIsWriter roisWriter = new VectorialROIsWriter("./test-images/rois",CRSFactory.getCRS("EPSG:23030"));
139
		roisWriter.write(rois);
140
	}
141

  
142
}

Also available in: Unified diff