Revision 27525 branches/v2_0_0_prep/extensions/extRasterTools-SE/src/org/gvsig/fmap/raster/grid/roi/VectorialROIsReader.java
VectorialROIsReader.java | ||
---|---|---|
4 | 4 |
import java.io.File; |
5 | 5 |
import java.util.ArrayList; |
6 | 6 |
import java.util.HashMap; |
7 |
import java.util.Iterator; |
|
8 | 7 |
|
9 | 8 |
import org.cresques.cts.IProjection; |
10 | 9 |
import org.gvsig.fmap.dal.DALLocator; |
... | ... | |
13 | 12 |
import org.gvsig.fmap.dal.exception.DataException; |
14 | 13 |
import org.gvsig.fmap.dal.exception.InitializeException; |
15 | 14 |
import org.gvsig.fmap.dal.exception.ProviderNotRegisteredException; |
15 |
import org.gvsig.fmap.dal.feature.DisposableIterator; |
|
16 | 16 |
import org.gvsig.fmap.dal.feature.Feature; |
17 |
import org.gvsig.fmap.dal.feature.FeatureSet; |
|
17 | 18 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
18 | 19 |
import org.gvsig.fmap.dal.feature.FeatureType; |
19 | 20 |
import org.gvsig.fmap.dal.store.shp.SHPStoreParameters; |
... | ... | |
72 | 73 |
int typegFiledIndex = featureType.getAttributeDescriptor(gFiledIndex).getDataType(); |
73 | 74 |
int typebFiledIndex = featureType.getAttributeDescriptor(bFiledIndex).getDataType(); |
74 | 75 |
|
75 |
if (nameFieldIndex < 0 || rFiledIndex < 0 || gFiledIndex < 0 || bFiledIndex < 0){
|
|
76 |
if (nameFieldIndex < 0 || rFiledIndex < 0 || gFiledIndex < 0 || bFiledIndex < 0) |
|
76 | 77 |
throw new InvalidROIsShpException(""); |
77 |
} |
|
78 | 78 |
|
79 | 79 |
if (typeFieldIndex != DataTypes.STRING || |
80 | 80 |
typerFiledIndex != DataTypes.DOUBLE || typerFiledIndex != DataTypes.INT || |
... | ... | |
85 | 85 |
|
86 | 86 |
if (existingROIs != null) |
87 | 87 |
rois = new HashMap(); |
88 |
if (existingROIs != null){
|
|
88 |
if (existingROIs != null) |
|
89 | 89 |
for (int i = 0; i < existingROIs.size(); i++) { |
90 | 90 |
VectorialROI roi = (VectorialROI)existingROIs.get(i); |
91 | 91 |
rois.put(roi.getName(), roi); |
92 | 92 |
} |
93 |
} |
|
94 | 93 |
String roiName; |
95 | 94 |
int r, g, b; |
96 |
Iterator features=featureStore.getFeatureSet().iterator(); |
|
97 |
while (features.hasNext()) { |
|
98 |
Feature feature = (Feature) features.next(); |
|
95 |
FeatureSet set = null; |
|
96 |
DisposableIterator features = null; |
|
97 |
try { |
|
98 |
set = featureStore.getFeatureSet(); |
|
99 |
features = set.iterator(); |
|
100 |
while (features.hasNext()) { |
|
101 |
Feature feature = (Feature) features.next(); |
|
99 | 102 |
|
100 |
// } |
|
101 |
// for (int i = 0; i<dataSource.getRowCount(); i++) { |
|
102 |
// IFeature feature = fLyrVect.getSource().getFeature(i); |
|
103 |
roiName = feature.getString(nameFieldIndex).toString(); |
|
104 |
VectorialROI roi = null; |
|
105 |
if (!rois.containsKey(roiName)){ |
|
106 |
roi = new VectorialROI(grid); |
|
107 |
roi.setName(roiName); |
|
108 |
r = ((Number)feature.get(rFiledIndex)).intValue(); |
|
109 |
g = ((Number)feature.get(gFiledIndex)).intValue(); |
|
110 |
b = ((Number)feature.get(bFiledIndex)).intValue(); |
|
111 |
roi.setColor(new Color(r,g,b)); |
|
112 |
rois.put(roi.getName(), roi); |
|
103 |
// } |
|
104 |
// for (int i = 0; i<dataSource.getRowCount(); i++) { |
|
105 |
// IFeature feature = fLyrVect.getSource().getFeature(i); |
|
106 |
roiName = feature.getString(nameFieldIndex).toString(); |
|
107 |
VectorialROI roi = null; |
|
108 |
if (!rois.containsKey(roiName)) { |
|
109 |
roi = new VectorialROI(grid); |
|
110 |
roi.setName(roiName); |
|
111 |
r = ((Number) feature.get(rFiledIndex)).intValue(); |
|
112 |
g = ((Number) feature.get(gFiledIndex)).intValue(); |
|
113 |
b = ((Number) feature.get(bFiledIndex)).intValue(); |
|
114 |
roi.setColor(new Color(r, g, b)); |
|
115 |
rois.put(roi.getName(), roi); |
|
116 |
} else |
|
117 |
roi = (VectorialROI) rois.get(roiName); |
|
118 |
roi.addGeometry(feature.getDefaultGeometry()); |
|
113 | 119 |
} |
114 |
else |
|
115 |
roi = (VectorialROI)rois.get(roiName); |
|
116 |
roi.addGeometry(feature.getDefaultGeometry()); |
|
120 |
} finally { |
|
121 |
if (features != null) |
|
122 |
features.dispose(); |
|
123 |
if (set != null) |
|
124 |
set.dispose(); |
|
117 | 125 |
} |
118 | 126 |
return new ArrayList(rois.values()); |
119 | 127 |
} |
Also available in: Unified diff