101 |
101 |
insertLineLog("Potrace");
|
102 |
102 |
generatePotrace();
|
103 |
103 |
} catch (DataException e) {
|
104 |
|
RasterToolsUtil.messageBoxError("error_closing_grid", this, e);
|
|
104 |
RasterToolsUtil.messageBoxError("error_loading_store", this, e);
|
105 |
105 |
} catch (CreateGeometryException e) {
|
106 |
106 |
RasterToolsUtil.messageBoxError("error_closing_grid", this, e);
|
107 |
107 |
} catch (RasterDriverException e) {
|
108 |
108 |
RasterToolsUtil.messageBoxError("error_closing_grid", this, e);
|
109 |
109 |
} catch (ValidateDataParametersException e) {
|
110 |
|
RasterToolsUtil.messageBoxError("error_closing_grid", this, e);
|
|
110 |
RasterToolsUtil.messageBoxError("error_loading_store", this, e);
|
|
111 |
} catch (NullPointerException e) {
|
|
112 |
e.printStackTrace();
|
111 |
113 |
} finally {
|
112 |
114 |
if (incrementableTask != null) {
|
113 |
115 |
incrementableTask.processFinalize();
|
... | ... | |
145 |
147 |
String sFields[] = new String[2];
|
146 |
148 |
sFields[0] = "ID";
|
147 |
149 |
sFields[1] = fileName + "";
|
148 |
|
///////////////////
|
|
150 |
|
149 |
151 |
EditableFeatureType featureType = getFeatureType(fileName);
|
150 |
152 |
|
151 |
|
EditableFeatureAttributeDescriptor efad=featureType.add("GEOMETRY", DataTypes.GEOMETRY);
|
|
153 |
EditableFeatureAttributeDescriptor efad = featureType.add("GEOMETRY", DataTypes.GEOMETRY);
|
152 |
154 |
efad.setGeometryType(Geometry.TYPES.CURVE);
|
153 |
155 |
efad.setSRS(CRSFactory.getCRS("EPSG:23030"));
|
154 |
156 |
featureType.setDefaultGeometryAttributeName("GEOMETRY");
|
155 |
157 |
|
156 |
|
|
157 |
|
DataManager datamanager=DALLocator.getDataManager();
|
|
158 |
DataManager datamanager = DALLocator.getDataManager();
|
158 |
159 |
FilesystemServerExplorerParameters explorerParams;
|
159 |
160 |
|
160 |
161 |
explorerParams = (FilesystemServerExplorerParameters) datamanager.createServerExplorerParameters(FilesystemServerExplorer.NAME);
|
161 |
162 |
|
162 |
163 |
explorerParams.setRoot(new File(fileName).getParent());
|
163 |
|
FilesystemServerExplorer explorer=(FilesystemServerExplorer) datamanager.createServerExplorer(explorerParams);
|
|
164 |
FilesystemServerExplorer explorer = (FilesystemServerExplorer) datamanager.createServerExplorer(explorerParams);
|
164 |
165 |
NewFeatureStoreParameters newParams = (NewFeatureStoreParameters) explorer.getAddParameters(new File(fileName));
|
165 |
166 |
|
166 |
167 |
newParams.setDefaultFeatureType(featureType);
|
|
168 |
newParams.setDynValue("srs", CRSFactory.getCRS("EPSG:23030"));
|
167 |
169 |
explorer.add(newParams, true);
|
168 |
170 |
DataManager manager = DALLocator.getDataManager();
|
169 |
171 |
////////////////////////
|
170 |
|
fsWriter=(FeatureStore)manager.createStore(newParams);
|
171 |
|
if (fileName.endsWith(".dxf")) {
|
172 |
|
|
173 |
|
|
174 |
|
// fsWriter = new DxfWriter();
|
175 |
|
// ((DxfWriter) writer).setFile(new File(fileName));
|
176 |
|
// ProjectionPool pool = new ProjectionPool();
|
177 |
|
// ((DxfWriter) writer).setProjection(pool.get("EPSG:23030"));
|
178 |
|
// tableDef = new DXFLayerDefinition();
|
179 |
|
//
|
180 |
|
// DxfFieldsMapping fieldsMapping = new DxfFieldsMapping();
|
181 |
|
// ((DxfWriter) writer).setFieldMapping(fieldsMapping);
|
182 |
|
}
|
183 |
|
if (fileName.endsWith(".shp")) {
|
184 |
|
// writer = new ShpWriter();
|
185 |
|
// ((ShpWriter) writer).setFile(new File(fileName));
|
186 |
|
// tableDef = new SHPLayerDefinition();
|
187 |
|
}
|
188 |
|
// tableDef.setShapeType(FShape.LINE);
|
189 |
|
|
190 |
|
// int types[] = { Types.DOUBLE, Types.DOUBLE };
|
191 |
|
// FieldDescription[] fields = new FieldDescription[sFields.length];
|
192 |
|
// for (int i = 0; i < fields.length; i++) {
|
193 |
|
// fields[i] = new FieldDescription();
|
194 |
|
// fields[i].setFieldName(sFields[i]);
|
195 |
|
// fields[i].setFieldType(types[i]);
|
196 |
|
// fields[i].setFieldLength(getDataTypeLength(types[i]));
|
197 |
|
// fields[i].setFieldDecimalCount(5);
|
198 |
|
// }
|
199 |
|
// tableDef.setFieldsDesc(fields);
|
200 |
|
// tableDef.setName(fileName);
|
201 |
|
//
|
202 |
|
// writer.initialize(tableDef);
|
|
172 |
fsWriter = (FeatureStore)manager.createStore(newParams);
|
203 |
173 |
fsWriter.edit(FeatureStore.MODE_APPEND);
|
204 |
174 |
|
205 |
175 |
values = new Object[2];
|
... | ... | |
211 |
181 |
fsWriter.finishEditing();
|
212 |
182 |
}
|
213 |
183 |
|
214 |
|
// public void addShape(FShape shape, Value[] value) throws Exception {
|
215 |
|
// if (shape == null)
|
216 |
|
// return;
|
217 |
|
// IGeometry geom = ShapeFactory.createGeometry(shape);
|
218 |
|
// addGeometry(geom, value);
|
219 |
|
// }
|
220 |
|
|
221 |
184 |
public void addGeometry(Geometry geom, Object[] value) throws DataException {
|
222 |
|
// DefaultFeature feat = new DefaultFeature(geom, value, Integer.toString(m_iGeometry));
|
223 |
|
// IRowEdited editFeat = new DefaultRowEdited(feat, IRowEdited.STATUS_MODIFIED, m_iGeometry);
|
224 |
185 |
m_iGeometry++;
|
225 |
|
EditableFeature ef=fsWriter.createNewFeature();
|
|
186 |
EditableFeature ef = fsWriter.createNewFeature();
|
226 |
187 |
ef.set("ID", value[0]);
|
227 |
|
ef.set(fileName,value[1]);
|
|
188 |
ef.set("NAME", value[1]);
|
228 |
189 |
ef.setGeometry("GEOMETRY", geom);
|
229 |
190 |
fsWriter.insert(ef);
|
230 |
191 |
}
|
... | ... | |
239 |
200 |
private void showPotrace(double[] potraceX, int trozos) throws DataException, CreateGeometryException, InterruptedException {
|
240 |
201 |
RasterTask task = RasterTaskQueue.get(Thread.currentThread().toString());
|
241 |
202 |
BezierPathX pathX = new BezierPathX(trozos);
|
242 |
|
|
|
203 |
int ID = 0;
|
|
204 |
double dZ;
|
|
205 |
|
243 |
206 |
double increment = (100 / (double)potraceX.length);
|
244 |
207 |
int cont = 1;
|
245 |
208 |
while (true) {
|
... | ... | |
263 |
226 |
break;
|
264 |
227 |
case 3: // closePath
|
265 |
228 |
Geometry line = geomManager.createCurve(pathX, SUBTYPES.GEOM2D);
|
|
229 |
ID ++;
|
|
230 |
values[0] = new Double(ID);
|
266 |
231 |
addGeometry(line, values);
|
267 |
232 |
pathX = new BezierPathX(trozos);
|
268 |
233 |
cont ++;
|
... | ... | |
276 |
241 |
private EditableFeatureType getFeatureType(String fileName){
|
277 |
242 |
EditableFeatureType eft=new DefaultEditableFeatureType();
|
278 |
243 |
|
279 |
|
EditableFeatureAttributeDescriptor efad1=eft.add("ID", DataTypes.DOUBLE);
|
|
244 |
EditableFeatureAttributeDescriptor efad1 = eft.add("ID", DataTypes.DOUBLE);
|
280 |
245 |
efad1.setPrecision(5);
|
281 |
|
EditableFeatureAttributeDescriptor efad2=eft.add(fileName, DataTypes.DOUBLE);
|
|
246 |
EditableFeatureAttributeDescriptor efad2 = eft.add("NAME", DataTypes.DOUBLE);
|
282 |
247 |
efad2.setPrecision(5);
|
283 |
248 |
|
284 |
249 |
return eft;
|