Revision 335 org.gvsig.geoprocess/trunk/org.gvsig.geoprocess/org.gvsig.geoprocess.algorithm/org.gvsig.geoprocess.algorithm.dissolve/src/main/java/org/gvsig/geoprocess/algorithm/dissolve/DissolveOperation.java
DissolveOperation.java | ||
---|---|---|
67 | 67 |
* @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a> |
68 | 68 |
*/ |
69 | 69 |
public class DissolveOperation extends GeometryOperation { |
70 |
private EditableFeature lastEditFeature = null; |
|
71 |
private ArrayList<Geometry> geometries = new ArrayList<Geometry>(); |
|
72 |
private IDissolveRule criteria = null; |
|
73 |
private AtomicDissolveOperation atomicOperation = null; |
|
70 |
private EditableFeature lastEditFeature = null; |
|
71 |
private ArrayList<Geometry> geometries = new ArrayList<Geometry>(); |
|
72 |
private IDissolveRule criteria = null; |
|
73 |
private AtomicDissolveOperation atomicOperation = null; |
|
74 |
|
|
74 | 75 |
/** |
75 | 76 |
* Cada elemento representa una feature del vectorial de entrada. Cuando se hace un dissolve de |
76 | 77 |
* esa feature con otra su posici?n en el array se pone a false para no volver a procesarla. |
... | ... | |
97 | 98 |
return lastEditFeature; |
98 | 99 |
getAtomicDissolveOperation().setFeature(feature); |
99 | 100 |
try { |
100 |
getAtomicDissolveOperation().computesOperation(selectedGeom); |
|
101 |
getAtomicDissolveOperation().computesOperation(selectedGeomInput);
|
|
101 | 102 |
EditableFeature res = (EditableFeature)getAtomicDissolveOperation().getResult(); |
102 | 103 |
lastEditFeature = persister.addFeature(res, res.getDefaultGeometry()); |
103 | 104 |
} catch (DataException e) { |
... | ... | |
143 | 144 |
public void computesGeometryOperation(FeatureStore inFeatStore, |
144 | 145 |
FeatureStore outFeatStore, |
145 | 146 |
String[] attrNames, |
146 |
boolean selectedGeom, |
|
147 |
boolean selectedGeomInput, |
|
148 |
boolean selectedGeomOutput, |
|
147 | 149 |
boolean closeOutStore) throws DataException { |
148 | 150 |
this.inFeatureStore = inFeatStore; |
149 |
this.selectedGeom = selectedGeom; |
|
151 |
this.selectedGeomInput = selectedGeomInput; |
|
152 |
this.selectedGeomOverlay = selectedGeomOutput; |
|
150 | 153 |
FeatureSet featuresSet = null; |
151 | 154 |
featuresSet = inFeatStore.getFeatureSet(); |
152 | 155 |
|
153 | 156 |
setFeatureStore(outFeatStore, attrNames); |
154 | 157 |
DisposableIterator it = null; |
155 | 158 |
|
156 |
if(selectedGeom) { |
|
159 |
if(selectedGeomInput) {
|
|
157 | 160 |
FeatureSelection ds = inFeatStore.getFeatureSelection(); |
158 | 161 |
it = ds.iterator(); |
159 | 162 |
numberOfFeatures = (int) ds.getSelectedCount(); |
Also available in: Unified diff