Revision 47635

View differences:

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/gml/GeometryStrategiesGML3.java
8 8
import com.vividsolutions.jts.geom.Coordinate;
9 9
import com.vividsolutions.jts.geom.CoordinateSequence;
10 10
import com.vividsolutions.jts.geom.GeometryFactory;
11
import com.vividsolutions.jts.geom.LineString;
11 12
import com.vividsolutions.jts.geom.LinearRing;
13
import com.vividsolutions.jts.geom.MultiLineString;
12 14
import com.vividsolutions.jts.geom.MultiPolygon;
13 15
import com.vividsolutions.jts.geom.Polygon;
14 16
import com.vividsolutions.jts.io.gml2.GMLConstants;
......
17 19
import org.apache.commons.lang3.StringUtils;
18 20
import org.apache.commons.lang3.tuple.ImmutablePair;
19 21
import org.apache.commons.lang3.tuple.Pair;
22
import org.gvsig.fmap.geom.aggregate.MultiLine;
20 23
import static org.gvsig.fmap.geom.jts.gml.GeometryStrategies.getSrid;
21 24
import org.xml.sax.SAXException;
22 25

  
......
169 172
            }
170 173
        });
171 174

  
175
        strats.put("curveMember".toLowerCase(), oneChild);
172 176

  
177
        strats.put("MultiCurve".toLowerCase(), new GeometryStrategies.ParseStrategy() {
178

  
179
            public Object parse(GMLHandler.Handler arg, GeometryFactory gf) throws SAXException {
180

  
181
                List<LineString> curves = arg.children;
182
                MultiLineString multicurve = gf.createMultiLineString(curves.toArray(new LineString[curves.size()]));
183
                int srid = getSrid(arg.attrs,gf.getSRID());
184
                if (multicurve.getSRID() != srid) {
185
                    multicurve.setSRID(srid);
186
                }
187
                return multicurve;
188

  
189
            }
190
        });
191

  
192

  
173 193
        return strats;
174 194

  
175 195
    }

Also available in: Unified diff