Statistics
| Revision:

svn-gvsig-desktop / tags / J2ME_compat_v1_2_Build_1209 / libraries / libFMap / src / com / iver / cit / gvsig / fmap / edition / writers / shp / Prueba.java @ 19509

History | View | Annotate | Download (4.98 KB)

1
package com.iver.cit.gvsig.fmap.edition.writers.shp;
2

    
3
import java.io.File;
4

    
5
import org.cresques.cts.IProjection;
6

    
7
import com.hardcode.driverManager.DriverLoadException;
8
import com.hardcode.driverManager.DriverManager;
9
import com.hardcode.gdbms.driver.exceptions.InitializeWriterException;
10
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
11
import com.hardcode.gdbms.engine.values.Value;
12
import com.hardcode.gdbms.engine.values.ValueFactory;
13
import com.iver.cit.gvsig.exceptions.layers.LegendLayerException;
14
import com.iver.cit.gvsig.exceptions.validate.ValidateRowException;
15
import com.iver.cit.gvsig.exceptions.visitors.StartWriterVisitorException;
16
import com.iver.cit.gvsig.exceptions.visitors.StopWriterVisitorException;
17
import com.iver.cit.gvsig.fmap.core.DefaultFeature;
18
import com.iver.cit.gvsig.fmap.core.ShapeFactory;
19
import com.iver.cit.gvsig.fmap.crs.CRSFactory;
20
import com.iver.cit.gvsig.fmap.drivers.VectorialDriver;
21
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver;
22
import com.iver.cit.gvsig.fmap.drivers.WithDefaultLegend;
23
import com.iver.cit.gvsig.fmap.edition.EditionEvent;
24
import com.iver.cit.gvsig.fmap.edition.VectorialEditableAdapter;
25
import com.iver.cit.gvsig.fmap.layers.FLayer;
26
import com.iver.cit.gvsig.fmap.layers.FLyrVect;
27
import com.iver.cit.gvsig.fmap.layers.LayerFactory;
28
import com.iver.cit.gvsig.fmap.layers.VectorialFileAdapter;
29
import com.iver.cit.gvsig.fmap.rendering.IVectorLegend;
30
import com.iver.cit.gvsig.fmap.rendering.LegendFactory;
31

    
32

    
33
public class Prueba {
34

    
35
        public FLayer createLayer(String layerName, VectorialFileDriver d,
36
                        File f, IProjection proj) throws ReadDriverException {
37
                VectorialFileAdapter adapter = new VectorialFileAdapter(f);
38
                adapter.setDriver((VectorialDriver) d);
39
                VectorialEditableAdapter vea=new VectorialEditableAdapter();
40
                vea.setOriginalVectorialAdapter(adapter);
41
                //FileEditableFeatureSource fefs=new FileEditableFeatureSource((VectorialFileAdapter)adapter);
42
                //MemoryExpansionFile mef=new MemoryExpansionFile();
43
                //DefaultEditableFeatureSource defs=new DefaultEditableFeatureSource(mef,fefs, new FBitSet());
44

    
45
                //vea.start();
46

    
47

    
48

    
49

    
50

    
51
                FLyrVect capa = new FLyrVect();
52
                capa.setName(layerName);
53

    
54
                //TODO Meter esto dentro de la comprobaci?n de si hay memoria
55
                if (false) {
56
                } else {
57
                        capa.setSource(adapter);
58
                        capa.setProjection(proj);
59
                }
60

    
61
                try {
62
                        // Le asignamos tambi?n una legenda por defecto acorde con
63
                        // el tipo de shape que tenga. Tampoco s? si es aqu? el
64
                        // sitio adecuado, pero en fin....
65
                        if (d instanceof WithDefaultLegend) {
66
                                WithDefaultLegend aux = (WithDefaultLegend) d;
67
                                adapter.start();
68
                                capa.setLegend((IVectorLegend) aux.getDefaultLegend());
69
                                adapter.stop();
70
                        } else {
71
                                capa.setLegend(LegendFactory.createSingleSymbolLegend(
72
                                                capa.getShapeType()));
73
                        }
74
                        vea.startEdition(EditionEvent.GRAPHIC);
75
                        Value[] values=new Value[5];
76
                        values[0]=ValueFactory.createValue("hola0");
77
                        values[1]=ValueFactory.createValue("hola1");
78
                        values[2]=ValueFactory.createValue("hola2");
79
                        values[3]=ValueFactory.createValue(300d);
80
                        values[4]=ValueFactory.createValue(1d);
81
                        DefaultFeature df0=new DefaultFeature(ShapeFactory.createPoint2D(1,3),values);
82
                        vea.addRow(df0,"",EditionEvent.GRAPHIC);
83
                        DefaultFeature df1=new DefaultFeature(ShapeFactory.createPoint2D(2,4),values);
84
                        vea.addRow(df1,"",EditionEvent.GRAPHIC);
85
                        DefaultFeature df2=new DefaultFeature(ShapeFactory.createPoint2D(3,5),values);
86
                        vea.addRow(df2,"", EditionEvent.GRAPHIC);
87
                        DefaultFeature df3=new DefaultFeature(ShapeFactory.createPoint2D(4,6),values);
88
                        vea.addRow(df3,"", EditionEvent.GRAPHIC);
89
                        ShpWriter writer=null;
90

    
91
                        writer = (ShpWriter)LayerFactory.getWM().getWriter("Shape Writer");
92
                        writer.initialize(capa);
93
                        vea.stopEdition(writer,EditionEvent.GRAPHIC);
94
                } catch (ReadDriverException e) {
95
                        e.printStackTrace();
96
                } catch (LegendLayerException e) {
97
                        // TODO Auto-generated catch block
98
                        e.printStackTrace();
99
                } catch (ValidateRowException e) {
100
                        e.printStackTrace();
101
                } catch (StartWriterVisitorException e) {
102
                        // TODO Auto-generated catch block
103
                        e.printStackTrace();
104
                } catch (DriverLoadException e1) {
105
                        // TODO Auto-generated catch block
106
                        e1.printStackTrace();
107

    
108
                } catch (InitializeWriterException e) {
109
                        e.printStackTrace();
110
                } catch (StopWriterVisitorException e) {
111
                        e.printStackTrace();
112
                }
113
                return null;
114
        }
115
        
116
        public static void main(String[] args) {
117
                DriverManager driverManager = LayerFactory.getDM();
118
                driverManager.loadDrivers(new File("d:/eclipse/workspace/fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers"));
119
                Prueba prueba=new Prueba();
120
                FLayer layer=null;
121
                try {
122
                        layer=prueba.createLayer("prueba", (VectorialFileDriver)LayerFactory.getDM().getDriver("gvSIG shp driver"),new File("c:/Layers/puntosPrueba.shp"),CRSFactory.getCRS("EPSG:23030"));
123
                } catch (ReadDriverException e) {
124
                        e.printStackTrace();
125
                } catch (DriverLoadException e) {
126
                        e.printStackTrace();
127
                }
128

    
129
        }
130
}