Revision 47432 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/coerce/CoerceToGeometry.java

View differences:

CoerceToGeometry.java
117 117
                case Geometry.TYPES.MULTIPOINT:
118 118
                    geom = geom.toPoints();
119 119
                    break;
120
                case Geometry.TYPES.MULTICURVE:
121
                    if(geom.getGeometryType().getSubType() != Geometry.TYPES.MULTICURVE){
122
                        geom = geom.toLines();
123
                    }
124
                    break;
120 125
                case Geometry.TYPES.MULTILINE:
121 126
                    geom = geom.toLines();
122 127
                    break;
128
                case Geometry.TYPES.MULTISURFACE:
129
                    if(geom.getGeometryType().getSubType() != Geometry.TYPES.MULTISURFACE){
130
                        geom = geom.toPolygons();
131
                    }
132
                    break;
123 133
                case Geometry.TYPES.MULTIPOLYGON:
124 134
                    geom = geom.toPolygons();
125 135
                    break;
126 136
                case Geometry.TYPES.POINT:
127 137
                    geom = this.convertToPoint(targetGeometryType, geom);
128 138
                    break;
139
                case Geometry.TYPES.CURVE:
140
                    if(geom.getGeometryType().getSubType() != Geometry.TYPES.CURVE){
141
                        geom = this.convertToLine(targetGeometryType, geom);
142
                    }
143
                    break;
129 144
                case Geometry.TYPES.LINE:
130 145
                    geom = this.convertToLine(targetGeometryType, geom);
131 146
                    break;
147
                case Geometry.TYPES.SURFACE:
148
                    if(geom.getGeometryType().getSubType() != Geometry.TYPES.SURFACE){
149
                        geom = this.convertToPolygon(targetGeometryType, geom);
150
                    }
151
                    break;
132 152
                case Geometry.TYPES.POLYGON:
133 153
                    geom = this.convertToPolygon(targetGeometryType, geom);
134 154
                    break;
......
139 159
                    geom = null;
140 160
                    break;
141 161
            }
162
            
163
            if (geom.getGeometryType().getSubType() != targetGeometryType.getSubType()) {
164
                geom = geom.forceSubtype(targetGeometryType.getSubType());
165
            }
166
            
142 167
            if (geom != null) {
143 168
                // Return converted geometry
144 169
                return geom;

Also available in: Unified diff