Revision 1260 org.gvsig.geoprocess/trunk/org.gvsig.geoprocess/org.gvsig.geoprocess.algorithm/org.gvsig.geoprocess.algorithm.union/src/main/java/org/gvsig/geoprocess/algorithm/union/UnionAlgorithm.java
UnionAlgorithm.java | ||
---|---|---|
107 | 107 |
IVectorLayer layer2 = m_Parameters.getParameterValueAsVectorLayer(LAYER2); |
108 | 108 |
boolean selectedGeomInput = m_Parameters.getParameter(SELECTGEOM_INPUT).getParameterValueAsBoolean(); |
109 | 109 |
boolean selectedGeomOverlay = m_Parameters.getParameter(SELECTGEOM_OVERLAY).getParameterValueAsBoolean(); |
110 |
this.nameTranslator = NamesTranslator.createTrimTranslator(10);
|
|
110 |
this.nameTranslator = NamesTranslator.createTrimTranslator(11);
|
|
111 | 111 |
|
112 | 112 |
FeatureStore storeLayer1 = null; |
113 | 113 |
FeatureStore storeLayer2 = null; |
... | ... | |
134 | 134 |
featureType2, |
135 | 135 |
layer1.getShapeType(), |
136 | 136 |
getTranslation("Union_polygon"), |
137 |
RESULT1, nameTranslator);
|
|
137 |
RESULT1); |
|
138 | 138 |
computesUnion(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay); |
139 | 139 |
} else |
140 | 140 |
//PTO-PTO |
... | ... | |
143 | 143 |
featureType2, |
144 | 144 |
layer1.getShapeType(), |
145 | 145 |
getTranslation("Union_point"), |
146 |
RESULT1, nameTranslator);
|
|
146 |
RESULT1); |
|
147 | 147 |
computesUnion(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay); |
148 | 148 |
} else |
149 | 149 |
//LIN-LIN |
... | ... | |
152 | 152 |
featureType2, |
153 | 153 |
IVectorLayer.SHAPE_TYPE_POINT, |
154 | 154 |
getTranslation("Union_point"), |
155 |
RESULT1, nameTranslator);
|
|
155 |
RESULT1); |
|
156 | 156 |
computesIntersection(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay, true); |
157 | 157 |
featStoreOut2 = buildOutPutStoreFromUnion(featureType1, |
158 | 158 |
featureType2, |
159 | 159 |
IVectorLayer.SHAPE_TYPE_LINE, |
160 | 160 |
getTranslation("Union_line"), |
161 |
RESULT2, nameTranslator);
|
|
161 |
RESULT2); |
|
162 | 162 |
computesDifference(storeLayer1, storeLayer2, featStoreOut2, selectedGeomInput, selectedGeomOverlay, false); |
163 | 163 |
computesDifference(storeLayer2, storeLayer1, featStoreOut2, selectedGeomInput, selectedGeomOverlay, true); |
164 | 164 |
} else |
... | ... | |
168 | 168 |
featStoreOut1 = buildOutPutStoreFromUnion(featureType1, |
169 | 169 |
featureType2, |
170 | 170 |
IVectorLayer.SHAPE_TYPE_LINE, |
171 |
getTranslation("Union_line"), RESULT1, nameTranslator);
|
|
171 |
getTranslation("Union_line"), RESULT1); |
|
172 | 172 |
computesUnion(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay); |
173 | 173 |
featStoreOut2 = buildOutPutStoreFromUnion(featureType1, |
174 | 174 |
featureType2, |
175 | 175 |
IVectorLayer.SHAPE_TYPE_POLYGON, |
176 | 176 |
getTranslation("Union_polygon"), |
177 |
RESULT2, nameTranslator);
|
|
177 |
RESULT2); |
|
178 | 178 |
computesDifference(storeLayer1, storeLayer2, featStoreOut2, selectedGeomInput, selectedGeomOverlay, false); |
179 | 179 |
computesDifference(storeLayer2, storeLayer1, featStoreOut2, selectedGeomInput, selectedGeomOverlay, true); |
180 | 180 |
} else |
... | ... | |
182 | 182 |
if( (isPolygon(storeLayer1) && isPoint(storeLayer2)) || |
183 | 183 |
(isPoint(storeLayer1) && isPolygon(storeLayer2))) { |
184 | 184 |
featStoreOut1 = buildOutPutStoreFromUnion(featureType1, featureType2, IVectorLayer.SHAPE_TYPE_POINT, |
185 |
getTranslation("Union_point"), RESULT1, nameTranslator);
|
|
185 |
getTranslation("Union_point"), RESULT1); |
|
186 | 186 |
computesUnion(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay); |
187 | 187 |
featStoreOut2 = buildOutPutStoreFromUnion(featureType1, featureType2, IVectorLayer.SHAPE_TYPE_POLYGON, |
188 |
getTranslation("Union_polygon"), RESULT2, nameTranslator);
|
|
188 |
getTranslation("Union_polygon"), RESULT2); |
|
189 | 189 |
computesUnion(storeLayer1, storeLayer2, featStoreOut2, selectedGeomInput, selectedGeomOverlay); |
190 | 190 |
} else |
191 | 191 |
//PTO-LIN |
192 | 192 |
if( (isPoint(storeLayer1) && isLine(storeLayer2)) || |
193 | 193 |
(isLine(storeLayer1) && isPoint(storeLayer2))) { |
194 | 194 |
featStoreOut1 = buildOutPutStoreFromUnion(featureType1, featureType2, IVectorLayer.SHAPE_TYPE_POINT, |
195 |
getTranslation("Union_point"), RESULT1, nameTranslator);
|
|
195 |
getTranslation("Union_point"), RESULT1); |
|
196 | 196 |
computesUnion(storeLayer1, storeLayer2, featStoreOut1, selectedGeomInput, selectedGeomOverlay); |
197 | 197 |
featStoreOut2 = buildOutPutStoreFromUnion(featureType1, featureType2, IVectorLayer.SHAPE_TYPE_LINE, |
198 |
getTranslation("Union_line"), RESULT2, nameTranslator);
|
|
198 |
getTranslation("Union_line"), RESULT2); |
|
199 | 199 |
computesUnion(storeLayer1, storeLayer2, featStoreOut2, selectedGeomInput, selectedGeomOverlay); |
200 | 200 |
} |
201 | 201 |
|
202 | 202 |
if(featStoreOut2 == null) { |
203 | 203 |
featStoreOut2 = buildOutPutStoreFromUnion(featureType1, featureType2, IVectorLayer.SHAPE_TYPE_WRONG, |
204 |
getTranslation("Null_Layer"), RESULT2, nameTranslator);
|
|
204 |
getTranslation("Null_Layer"), RESULT2); |
|
205 | 205 |
} |
206 | 206 |
|
207 | 207 |
} catch (ReadException e) { |
Also available in: Unified diff