Revision 7721 trunk/extensions/extWFS2/src-test/com/iver/cit/gvsig/fmap/layers/gml/GMLWriterTest.java
GMLWriterTest.java | ||
---|---|---|
7 | 7 |
import junit.framework.TestCase; |
8 | 8 |
|
9 | 9 |
import org.cresques.cts.IProjection; |
10 |
import org.cresques.cts.ProjectionPool; |
|
10 | 11 |
|
11 | 12 |
import com.hardcode.driverManager.DriverLoadException; |
12 | 13 |
import com.hardcode.gdbms.engine.values.Value; |
... | ... | |
76 | 77 |
* |
77 | 78 |
* $Id$ |
78 | 79 |
* $Log$ |
79 |
* Revision 1.2 2006-09-25 10:22:44 caballero
|
|
80 |
* Projection
|
|
80 |
* Revision 1.3 2006-10-02 09:09:45 jorpiell
|
|
81 |
* Cambios del 10 copiados al head
|
|
81 | 82 |
* |
83 |
* Revision 1.1.2.1 2006/09/29 14:12:53 luisw2 |
|
84 |
* CRSFactory.getCRS substitutes ProjectionPool.get |
|
85 |
* |
|
82 | 86 |
* Revision 1.1 2006/07/24 07:30:33 jorpiell |
83 | 87 |
* Se han eliminado las partes duplicadas y se est? usando el parser de GML de FMAP. |
84 | 88 |
* |
... | ... | |
89 | 93 |
*/ |
90 | 94 |
public class GMLWriterTest extends TestCase { |
91 | 95 |
private String gmlFile = "MUNIC.gml"; |
92 |
|
|
96 |
|
|
93 | 97 |
protected void setUp(){ |
94 | 98 |
LayerFactory.setDriversPath("../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers"); |
95 | 99 |
LayerFactory.setWritersPath("../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers"); |
... | ... | |
103 | 107 |
} |
104 | 108 |
System.out.println("****************COMENZANDO****************"); |
105 | 109 |
} |
106 |
|
|
110 |
|
|
107 | 111 |
public void test1() throws DriverLoadException, DriverException, EditionException, DriverIOException, com.hardcode.gdbms.engine.data.driver.DriverException{ |
108 | 112 |
// DRIVER DEFINITION (SHAPE TYPE AND FIELDS) |
109 | 113 |
ConcreteMemoryDriver driver = new ConcreteMemoryDriver(); |
110 | 114 |
driver.setShapeType(FShape.LINE); |
111 |
|
|
115 |
|
|
112 | 116 |
ArrayList arrayFields = new ArrayList(); |
113 | 117 |
arrayFields.add("ID"); |
114 | 118 |
Value[] auxRow = new Value[1]; |
115 |
|
|
119 |
|
|
116 | 120 |
driver.getTableModel().setColumnIdentifiers(arrayFields.toArray()); |
117 |
|
|
121 |
|
|
118 | 122 |
//GEOMETRY DEFINITION |
119 | 123 |
GeneralPathX gp = new GeneralPathX(); |
120 |
|
|
124 |
|
|
121 | 125 |
gp.moveTo(20,80); |
122 | 126 |
gp.lineTo(80,60); |
123 | 127 |
gp.lineTo(100, 140); |
124 |
|
|
128 |
|
|
125 | 129 |
FShape shp = new FPolyline2D(gp); |
126 |
|
|
127 |
|
|
130 |
|
|
131 |
|
|
128 | 132 |
// ATRIBUTES |
129 | 133 |
auxRow[0] = ValueFactory.createValue(0); |
130 |
|
|
134 |
|
|
131 | 135 |
// ADD RECORD |
132 | 136 |
driver.addShape(shp, auxRow); |
133 |
|
|
137 |
|
|
134 | 138 |
//GEOMETRY DEFINITION |
135 | 139 |
gp = new GeneralPathX(); |
136 |
|
|
140 |
|
|
137 | 141 |
gp.moveTo(20,80); |
138 | 142 |
gp.lineTo(80,60); |
139 | 143 |
gp.lineTo(100, 140); |
140 |
|
|
144 |
|
|
141 | 145 |
shp = new FPolyline2D(gp); |
142 |
|
|
143 |
|
|
146 |
|
|
147 |
|
|
144 | 148 |
// ATRIBUTES |
145 | 149 |
auxRow[0] = ValueFactory.createValue(1); |
146 |
|
|
150 |
|
|
147 | 151 |
// ADD RECORD |
148 | 152 |
driver.addShape(shp, auxRow); |
149 | 153 |
|
150 | 154 |
// CREATE AND ADD LAYER |
151 | 155 |
FLyrVect lyr; |
152 | 156 |
String layerName = "Example"; |
153 |
lyr = (FLyrVect) LayerFactory.createLayer(layerName,driver, CRSFactory.getCRS("EPSG:4326")); |
|
154 |
|
|
155 |
|
|
157 |
lyr = (FLyrVect) LayerFactory.createLayer(layerName,driver, CRSFactory.getCRS("EPSG:4326"));
|
|
158 |
|
|
159 |
|
|
156 | 160 |
SHPLayerDefinition lyrDef = new SHPLayerDefinition(); |
157 | 161 |
SelectableDataSource sds = lyr.getRecordset(); |
158 | 162 |
FieldDescription[] fieldsDescrip = sds.getFieldsDescription(); |
159 | 163 |
lyrDef.setFieldsDesc(fieldsDescrip); |
160 | 164 |
lyrDef.setName(lyr.getName()); |
161 |
|
|
165 |
|
|
162 | 166 |
File newFile = new File(gmlFile); |
163 |
|
|
167 |
|
|
164 | 168 |
GMLWriter writer = (GMLWriter)LayerFactory.getWM().getWriter("GML Writer"); |
165 | 169 |
writer.setFile(new File(gmlFile)); |
166 |
writer.setSchema(lyrDef); |
|
170 |
writer.setSchema(lyrDef);
|
|
167 | 171 |
Rectangle2D rectangle = new Rectangle2D.Double(0, |
168 | 172 |
0, |
169 | 173 |
100, |
170 |
100); |
|
171 |
writer.setBoundedBy(rectangle, CRSFactory.getCRS("EPSG:23030"));
|
|
172 |
|
|
174 |
100);
|
|
175 |
writer.setBoundedBy(rectangle,CRSFactory.getCRS("EPSG:23030")); |
|
176 |
|
|
173 | 177 |
writer.preProcess(); |
174 |
|
|
178 |
|
|
175 | 179 |
ReadableVectorial adapter = lyr.getSource(); |
176 | 180 |
for (int i=0; i < adapter.getShapeCount(); i++){ |
177 | 181 |
IFeature feat = adapter.getFeature(i); |
178 | 182 |
IRowEdited editFeat = new DefaultRowEdited(feat, IRowEdited.STATUS_MODIFIED, i); |
179 | 183 |
writer.process(editFeat); |
180 | 184 |
} |
181 |
writer.postProcess(); |
|
185 |
writer.postProcess();
|
|
182 | 186 |
} |
187 |
|
|
183 | 188 |
|
184 |
|
|
185 |
|
|
189 |
|
|
186 | 190 |
private static FLayer createLayer(String layerName, VectorialFileDriver d, |
187 | 191 |
File f, IProjection proj) throws DriverException { |
188 | 192 |
//TODO Comprobar si hay un adaptador ya |
Also available in: Unified diff