40 |
40 |
*/
|
41 |
41 |
package com.iver.cit.gvsig.fmap.layers;
|
42 |
42 |
|
43 |
|
import java.awt.Color;
|
44 |
|
import java.awt.Font;
|
45 |
43 |
import java.awt.Graphics2D;
|
46 |
44 |
import java.awt.Point;
|
47 |
45 |
import java.awt.geom.Point2D;
|
... | ... | |
54 |
52 |
import org.apache.log4j.Logger;
|
55 |
53 |
import org.cresques.cts.ICoordTrans;
|
56 |
54 |
|
57 |
|
import com.hardcode.driverManager.DriverLoadException;
|
58 |
55 |
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
|
59 |
|
import com.hardcode.gdbms.engine.data.DataSourceFactory;
|
60 |
56 |
import com.hardcode.gdbms.engine.data.NoSuchTableException;
|
61 |
57 |
import com.hardcode.gdbms.engine.data.driver.DriverException;
|
62 |
58 |
import com.hardcode.gdbms.engine.instruction.FieldNotFoundException;
|
... | ... | |
69 |
65 |
import com.iver.cit.gvsig.fmap.ViewPort;
|
70 |
66 |
import com.iver.cit.gvsig.fmap.core.IGeometry;
|
71 |
67 |
import com.iver.cit.gvsig.fmap.core.ILabelable;
|
72 |
|
import com.iver.cit.gvsig.fmap.core.IPrintable;
|
73 |
|
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol;
|
74 |
|
import com.iver.cit.gvsig.fmap.core.v02.FSymbol;
|
75 |
68 |
import com.iver.cit.gvsig.fmap.drivers.BoundedShapes;
|
76 |
69 |
import com.iver.cit.gvsig.fmap.drivers.VectorialDatabaseDriver;
|
77 |
70 |
import com.iver.cit.gvsig.fmap.drivers.VectorialDriver;
|
78 |
71 |
import com.iver.cit.gvsig.fmap.drivers.WithDefaultLegend;
|
79 |
|
import com.iver.cit.gvsig.fmap.drivers.shp.IndexedShpDriver;
|
80 |
72 |
import com.iver.cit.gvsig.fmap.edition.AnnotationEditableAdapter;
|
81 |
73 |
import com.iver.cit.gvsig.fmap.edition.EditionEvent;
|
82 |
74 |
import com.iver.cit.gvsig.fmap.edition.ISpatialWriter;
|
... | ... | |
95 |
87 |
import com.iver.cit.gvsig.fmap.operations.strategies.FeatureVisitor;
|
96 |
88 |
import com.iver.cit.gvsig.fmap.operations.strategies.Strategy;
|
97 |
89 |
import com.iver.cit.gvsig.fmap.operations.strategies.StrategyManager;
|
98 |
|
import com.iver.cit.gvsig.fmap.rendering.ClassifiedLegendInfo;
|
99 |
90 |
import com.iver.cit.gvsig.fmap.rendering.Legend;
|
100 |
91 |
import com.iver.cit.gvsig.fmap.rendering.LegendChangedEvent;
|
101 |
92 |
import com.iver.cit.gvsig.fmap.rendering.LegendFactory;
|
... | ... | |
199 |
190 |
source.start();
|
200 |
191 |
spatialIndex = new QuadtreeGt2(FileUtils.getFileWithoutExtension(sptFile),
|
201 |
192 |
"NM", source.getFullExtent(), source.getShapeCount(), false);
|
|
193 |
source.setSpatialIndex(spatialIndex);
|
202 |
194 |
} catch (SpatialIndexException e) {
|
203 |
195 |
spatialIndex = null;
|
204 |
196 |
e.printStackTrace();
|
... | ... | |
425 |
417 |
if(localCopy instanceof IPersistentSpatialIndex)
|
426 |
418 |
((IPersistentSpatialIndex) localCopy).flush();
|
427 |
419 |
spatialIndex = localCopy;
|
|
420 |
//vectorial adapter needs a reference to the spatial index, to solve
|
|
421 |
//request for feature iteration based in spatial queries
|
|
422 |
source.setSpatialIndex(spatialIndex);
|
428 |
423 |
} catch (ReadDriverException e) {
|
429 |
424 |
// TODO Auto-generated catch block
|
430 |
425 |
e.printStackTrace();
|
... | ... | |
875 |
870 |
}
|
876 |
871 |
return sds;
|
877 |
872 |
}
|
878 |
|
|
|
873 |
|
879 |
874 |
public void setEditing(boolean b) throws StartEditionLayerException {
|
880 |
875 |
super.setEditing(b);
|
881 |
876 |
try {
|
... | ... | |
895 |
890 |
vea = new VectorialEditableAdapter();
|
896 |
891 |
}
|
897 |
892 |
vea.setOriginalVectorialAdapter(getSource());
|
898 |
|
|
|
893 |
// azo: implementations of readablevectorial need
|
|
894 |
//references of projection and spatial index
|
|
895 |
vea.setProjection(getProjection());
|
|
896 |
vea.setSpatialIndex(spatialIndex);
|
|
897 |
|
|
898 |
|
899 |
899 |
// /vea.setSpatialIndex(getSpatialIndex());
|
900 |
900 |
// /vea.setFullExtent(getFullExtent());
|
901 |
901 |
vea.startEdition(EditionEvent.GRAPHIC);
|