Revision 47635
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