Revision 29791 branches/v2_0_0_prep/extensions/extDalTransformEventTheme/src/org/gvsig/app/eventtheme/dal/feature/EventThemeTransform.java
EventThemeTransform.java | ||
---|---|---|
29 | 29 |
|
30 | 30 |
import java.util.Arrays; |
31 | 31 |
|
32 |
import org.gvsig.fmap.crs.CRSFactory; |
|
32 | 33 |
import org.gvsig.fmap.dal.DataStore; |
33 | 34 |
import org.gvsig.fmap.dal.DataTypes; |
34 | 35 |
import org.gvsig.fmap.dal.exception.DataException; |
... | ... | |
63 | 64 |
private String yFieldName = null; |
64 | 65 |
private String geometryFieldName = null; |
65 | 66 |
private FeatureType originalFeatureType; |
66 |
private static final GeometryManager geometryManager = GeometryLocator.getGeometryManager();
|
|
67 |
private GeometryManager geometryManager = GeometryLocator.getGeometryManager(); |
|
67 | 68 |
|
68 | 69 |
public EventThemeTransform() { |
69 | 70 |
super(); |
71 |
geometryManager = GeometryLocator.getGeometryManager(); |
|
70 | 72 |
} |
71 | 73 |
|
72 | 74 |
/** |
... | ... | |
94 | 96 |
this.originalFeatureType = this.getFeatureStore() |
95 | 97 |
.getDefaultFeatureType(); |
96 | 98 |
|
97 |
EditableFeatureType type = this.getFeatureStore().getDefaultFeatureType().getEditable();
|
|
99 |
EditableFeatureType type = originalFeatureType.getEditable();
|
|
98 | 100 |
if (type.get(this.geometryFieldName) == null){ |
99 | 101 |
EditableFeatureAttributeDescriptor attributeDescriptor = type.add(this.geometryFieldName, DataTypes.GEOMETRY); |
100 | 102 |
attributeDescriptor.setGeometryType(TYPES.POINT); |
101 |
attributeDescriptor.setGeometrySubType(SUBTYPES.GEOM2D); |
|
103 |
attributeDescriptor.setGeometrySubType(SUBTYPES.GEOM2D); |
|
104 |
attributeDescriptor.setSRS(CRSFactory.getCRS("EPSG:23030")); |
|
102 | 105 |
} |
103 | 106 |
|
104 | 107 |
type.setDefaultGeometryAttributeName(this.geometryFieldName); |
... | ... | |
112 | 115 |
public void applyTransform(Feature source, EditableFeature target) |
113 | 116 |
throws DataException { |
114 | 117 |
this.copySourceToTarget(source, target); |
115 |
|
|
116 |
Object x = source.get(xFieldName); |
|
117 |
Object y = source.get(yFieldName); |
|
118 |
Double dx = Double.valueOf(x.toString()); |
|
119 |
Double dy = Double.valueOf(y.toString()); |
|
118 |
|
|
120 | 119 |
try { |
121 |
Point point = geometryManager.createPoint(dx, dy, SUBTYPES.GEOM2D); |
|
120 |
Point point = geometryManager.createPoint(source.getDouble(xFieldName), |
|
121 |
source.getDouble(yFieldName), |
|
122 |
SUBTYPES.GEOM2D); |
|
122 | 123 |
target.set(geometryFieldName, point); |
123 | 124 |
target.setDefaultGeometry(point); |
124 | 125 |
} catch (CreateGeometryException e) { |
Also available in: Unified diff