Revision 26013 trunk/extensions/extRasterTools-SE/src/org/gvsig/fmap/raster/grid/roi/VectorialROIsWriter.java

View differences:

VectorialROIsWriter.java
59 59
	 * @param rois Array de VectorialROI
60 60
	 */
61 61
	public void write (VectorialROI rois[]){
62
		boolean monoType = true;
63
		int geometryType = -1;
64
		ArrayList geometries = null;
65
		
62 66
		Value values[] = new Value[4];
67
		
68
		if (baseFilename.endsWith(".shp"))
69
			baseFilename = baseFilename.replaceAll(".shp", "");
70
		
63 71
		for (int i = 0; i < rois.length; i++) {
64
			ArrayList geometries = rois[i].getGeometries();
72
			geometries = rois[i].getGeometries();
73
			for (Iterator iterator = geometries.iterator(); iterator.hasNext();) {
74
				if (geometryType < 0)
75
					geometryType = ((IGeometry) iterator.next()).getGeometryType();
76
				else
77
					if (geometryType != ((IGeometry) iterator.next()).getGeometryType()){
78
						monoType = false;
79
						break;
80
					}
81
			}
82
		}
83
		
84
		if (monoType)
85
			switch (geometryType){
86
			case FShape.POLYGON:
87
				create(baseFilename+".shp", projection, FShape.POLYGON);
88
				break;
89
				
90
			case FShape.POINT:
91
				create(baseFilename+".shp", projection, FShape.POINT);
92
				break;
93
				
94
			case FShape.LINE:
95
				create(baseFilename+".shp", projection, FShape.LINE);
96
				break;
97
			}
98
		
99
		for (int i = 0; i < rois.length; i++) {
100
			geometries = rois[i].getGeometries();
65 101
			values[0] = ValueFactory.createValue(rois[i].getName());
66 102
			values[1] = ValueFactory.createValue(rois[i].getColor().getRed());
67 103
			values[2] = ValueFactory.createValue(rois[i].getColor().getGreen());
68 104
			values[3] = ValueFactory.createValue(rois[i].getColor().getBlue());
69
			if (baseFilename.endsWith(".shp"))
70
				baseFilename = baseFilename.replaceAll(".shp", "");
71 105
			
106
			
72 107
			for (Iterator iterator = geometries.iterator(); iterator.hasNext();) {
73 108
				IGeometry geometry = (IGeometry) iterator.next();
74 109
				switch (geometry.getGeometryType()) {

Also available in: Unified diff