public Object getProperty(Object object, QName name) throws Exception { LineString lineString = (LineString) object; if (GML.coordinates.equals(name)) { return lineString.getCoordinateSequence(); } return null; } }
public Object getProperty(Object object, QName name) throws Exception { if (KML.coordinates.getLocalPart().equals(name.getLocalPart())) { LineString l = (LineString) object; return l.getCoordinateSequence(); } return null; } }
/** * Used with ELEM_INFO <code>(1, 2, 1)</code> * * @param list List to add coordiantes to * @param line LineString to be encoded */ private static void addCoordinates(List list, LineString line) { addCoordinates(list, line.getCoordinateSequence()); }
Map<String, Object> createLine(LineString line) { LinkedHashMap obj = new LinkedHashMap(); obj.put("type", "LineString"); obj.put("coordinates", new CoordinateSequenceEncoder(line.getCoordinateSequence(), scale)); return obj; }
public void filter(Geometry geom) { if (geom instanceof LineString) { extractSegments(((LineString) geom).getCoordinateSequence()); } }
List toList(Polygon poly) { ArrayList list = new ArrayList(); list.add( new CoordinateSequenceEncoder( poly.getExteriorRing().getCoordinateSequence(), scale)); for (int i = 0; i < poly.getNumInteriorRing(); i++) { list.add( new CoordinateSequenceEncoder( poly.getInteriorRingN(i).getCoordinateSequence(), scale)); } return list; }
static CoordinateSequence positions(LineString line) { if (line instanceof SingleCurvedGeometry<?>) { SingleCurvedGeometry<?> curved = (SingleCurvedGeometry<?>) line; return new LiteCoordinateSequence(curved.getControlPoints()); } else { return line.getCoordinateSequence(); } }
protected void write(JsonGenerator gen, Polygon p) throws IOException { gen.writeStartArray(); write(gen, p.getExteriorRing().getCoordinateSequence()); for (int i = 0; i < p.getNumInteriorRing(); i++) { write(gen, p.getInteriorRingN(i).getCoordinateSequence()); } gen.writeEndArray(); }
public void encode(LineString geometry, AttributesImpl atts, GMLWriter handler) throws Exception { handler.startElement(element, atts); handler.coordinates(geometry.getCoordinateSequence()); handler.endElement(element); } }
private void writeLineString(LineString line, OutStream os) throws IOException { writeByteOrder(os); writeGeometryType(DB2WKBConstants.wkbLineString2D, os); writeCoordinateSequence(line.getCoordinateSequence(), true, os); }
static DirectPosition[] positions(LineString line) { CoordinateSequence coordinates = line.getCoordinateSequence(); DirectPosition[] dps = new DirectPosition[coordinates.size()]; double x; double y; for (int i = 0; i < dps.length; i++) { x = coordinates.getOrdinate(i, 0); y = coordinates.getOrdinate(i, 1); dps[i] = new DirectPosition2D(x, y); } return dps; }
public void encode(LineString geometry, AttributesImpl atts, GMLWriter handler, String gmlId) throws Exception { atts = cloneWithGmlId(atts, gmlId); handler.startElement(element, atts); handler.posList(geometry.getCoordinateSequence()); handler.endElement(element); } }
private void writePolygon(Polygon poly, OutStream os) throws IOException { writeByteOrder(os); writeGeometryType(DB2WKBConstants.wkbPolygon2D, os); writeInt(poly.getNumInteriorRing() + 1, os); writeCoordinateSequence(poly.getExteriorRing().getCoordinateSequence(), true, os); for (int i = 0; i < poly.getNumInteriorRing(); i++) { writeCoordinateSequence(poly.getInteriorRingN(i).getCoordinateSequence(), true, os); } }
public DBObject toObject(LineString l) { return BasicDBObjectBuilder.start() .add("type", "LineString") .add("coordinates", toList(l.getCoordinateSequence())) .get(); }
public void testEncode2D() throws Exception { LineString line = GML3MockData.lineStringLite2D(); CoordinateSequence seq = line.getCoordinateSequence(); Document doc = encode(seq, GML.posList); checkPosListOrdinates(doc, 2 * line.getNumPoints()); }
public void testEncode3D() throws Exception { LineString line = GML3MockData.lineStringLite3D(); CoordinateSequence seq = line.getCoordinateSequence(); Document doc = encode(seq, GML.posList); checkPosListOrdinates(doc, 3 * line.getNumPoints()); } }
@Test public void testToGeoemtry() { DefaultGeographicCRS crs = DefaultGeographicCRS.WGS84; // straight up Polygon polygon = JTS.toGeometry(new Envelope(-10, 10, -10, 10)); assertEquals(5, polygon.getExteriorRing().getCoordinateSequence().size()); // bounding box polygon = JTS.toGeometry((BoundingBox) new ReferencedEnvelope(-10, 10, -10, 10, crs)); assertEquals(5, polygon.getExteriorRing().getCoordinateSequence().size()); }
@Test public void testDecimate3DLine() throws Exception { LineString ls = gf.createLineString( csf.create(new double[] {0, 0, 1, 1, 2, 1, 3, 3, 4, 4, 5, 5}, 3)); assertEquals(4, ls.getNumPoints()); Decimator d = new Decimator(identity, new Rectangle(0, 0, 5, 5), 0.8); d.decimateTransformGeneralize(ls, identity); assertEquals(4, ls.getNumPoints()); assertEquals(2, ls.getCoordinateSequence().getDimension()); }
@Test public void emptyLineString() throws Exception { LineString line = builder.lineString(); assertTrue(line.isEmpty()); assertEquals(2, line.getCoordinateSequence().getDimension()); }
/** http://jira.codehaus.org/browse/GEOT-2937 */ @Test public void testDecimatePseudoRing() { // a long rectangle made of 3 coordinates LineString g = gf.createLineString(csf.create(new double[] {0, 0, 0, 10, 0, 0})); assertTrue(g.isValid()); Decimator d = new Decimator(4, 4); d.decimate(g); g.geometryChanged(); assertTrue(g.isValid()); assertEquals(3, g.getCoordinateSequence().size()); }