public Object getProperty(Object object, QName name) throws Exception { if ("pointMember".equals(name.getLocalPart())) { MultiPoint multiPoint = (MultiPoint) object; Point[] members = new Point[multiPoint.getNumGeometries()]; for (int i = 0; i < members.length; i++) { members[i] = (Point) multiPoint.getGeometryN(i); } GML3EncodingUtils.setChildIDs(multiPoint); return members; } return null; } }
private static void addCoordinates(List list, MultiPoint points) { for (int i = 0; i < points.getNumGeometries(); i++) { Geometry geometryN = points.getGeometryN(i); if (geometryN != null && !geometryN.isEmpty()) addCoordinates(list, (Point) geometryN); } }
/** * Converts a <code>MultiPoint</code> to <MultiPoint Text> format, then appends it to the * writer. * * @param multiPoint the <code>MultiPoint</code> to process * @param writer the output writer to append to */ private void appendMultiPointText(MultiPoint multiPoint, int level, Writer writer) throws IOException { if (multiPoint.isEmpty()) { writer.write("EMPTY"); } else { writer.write("("); for (int i = 0; i < multiPoint.getNumGeometries(); i++) { if (i > 0) { writer.write(", "); indentCoords(i, level + 1, writer); } writer.write("("); appendCoordinate(((Point) multiPoint.getGeometryN(i)).getCoordinate(), writer); writer.write(")"); } writer.write(")"); } }
Coordinate c = (mp.getGeometryN(t)).getCoordinate(); buffer.putDouble(c.x); buffer.putDouble(c.y); Coordinate c = (mp.getGeometryN(t)).getCoordinate(); double z = c.z; Point point = (Point) mp.getGeometryN(t); mvalues.add(point.getCoordinateSequence().getM(0));
@Override public void encode(MultiPoint geometry, AttributesImpl atts, GMLWriter handler) throws Exception { handler.startElement(multiPoint, atts); for (int i = 0; i < geometry.getNumGeometries(); i++) { handler.startElement(pointMember, null); pe.encode((Point) geometry.getGeometryN(i), null, handler); handler.endElement(pointMember); } handler.endElement(multiPoint); } }
@Override public void encode(MultiPoint geometry, AttributesImpl atts, GMLWriter handler, String gmlId) throws Exception { atts = cloneWithGmlId(atts, gmlId); handler.startElement(multiPoint, atts); for (int i = 0; i < geometry.getNumGeometries(); i++) { handler.startElement(pointMember, null); pe.encode((Point) geometry.getGeometryN(i), null, handler, gmlId + "." + (i + 1)); handler.endElement(pointMember); } handler.endElement(multiPoint); } }
public DBObject toObject(MultiPoint mp) { if (opportunisticMultiGeometryCoversion && mp.getNumGeometries() == 1) { return toObject((Point) mp.getGeometryN(0)); } return BasicDBObjectBuilder.start() .add("type", "MultiPoint") .add("coordinates", toList(mp.getCoordinates())) .get(); }
else if (source instanceof MultiPoint && sourceGeometry.getNumGeometries() == 1) destGeometry = ((MultiPoint) source).getGeometryN(0).copy(); else { if (LOGGER.isLoggable(Level.FINE))
static void encode(Element e, MultiPoint g, PrintHandler output) throws IOException { if ((g == null) || (g.getNumGeometries() <= 0)) { throw new IOException("Bad MultiPoint Data"); } AttributesImpl ai = getSrsNameAttribute(g); if (e == null) { output.startElement(GMLSchema.NAMESPACE, "MultiPoint", ai); } else { output.startElement(e.getNamespace(), e.getName(), ai); } for (int i = 0; i < g.getNumGeometries(); i++) { output.startElement(GMLSchema.NAMESPACE, "pointMember", null); encode(null, (Point) g.getGeometryN(i), output); output.endElement(GMLSchema.NAMESPACE, "pointMember"); } if (e == null) { output.endElement(GMLSchema.NAMESPACE, "MultiPoint"); } else { output.endElement(e.getNamespace(), e.getName()); } }
@Test public void multiPoint() throws Exception { String WKT = "MULTIPOINT (111 -47, 110 -46.5)"; WKTReader reader = new WKTReader2(); Geometry geometry = reader.read(WKT); assertNotNull(geometry); assertTrue(geometry instanceof MultiPoint); MultiPoint mp = (MultiPoint) geometry; assertEquals(2, mp.getNumGeometries()); assertEquals(new Coordinate(111, -47), mp.getGeometryN(0).getCoordinate()); assertEquals(new Coordinate(110, -46.5), mp.getGeometryN(1).getCoordinate()); }
@Test public void multiPointWithInnerParens() throws Exception { String WKT = "MULTIPOINT ((111 -47), (110 -46.5))"; WKTReader reader = new WKTReader2(); Geometry geometry = reader.read(WKT); assertNotNull(geometry); assertTrue(geometry instanceof MultiPoint); MultiPoint mp = (MultiPoint) geometry; assertEquals(2, mp.getNumGeometries()); assertEquals(new Coordinate(111, -47), mp.getGeometryN(0).getCoordinate()); assertEquals(new Coordinate(110, -46.5), mp.getGeometryN(1).getCoordinate()); }
@Test public void multiPoint() throws Exception { double[] ords = {1, 2, 3, 4}; MultiPoint mp = builder.multiPoint(ords[0], ords[1], ords[2], ords[3]); assertEquals(2, mp.getNumGeometries()); Point p = (Point) mp.getGeometryN(0); assertEquals(2, p.getCoordinateSequence().getDimension()); }
@Test public void multiPointZ() throws Exception { double[] ords = {1, 2, 3, 4, 5, 6}; MultiPoint mp = builder.multiPointZ(ords[0], ords[1], ords[2], ords[3], ords[4], ords[5]); assertEquals(2, mp.getNumGeometries()); Point p = (Point) mp.getGeometryN(0); assertEquals(3, p.getCoordinateSequence().getDimension()); }
public void test3D() throws Exception { GML3MockData.multiPoint3D(document, document); MultiPoint multiPoint = (MultiPoint) parse(); assertNotNull(multiPoint); assertEquals(4, multiPoint.getNumPoints()); Point p = (Point) multiPoint.getGeometryN(0); assertTrue(new Coordinate(1d, 2d, 10d).equals3D(p.getCoordinate())); }
points[i] = transformPoint((Point) mp.getGeometryN(i), factory);
protected Geometry transformMultiPoint(MultiPoint geom, Geometry parent) { List transGeomList = new ArrayList(); for (int i = 0; i < geom.getNumGeometries(); i++) { Geometry transformGeom = transformPoint((Point) geom.getGeometryN(i), geom); if (transformGeom == null) continue; if (transformGeom.isEmpty()) continue; transGeomList.add(transformGeom); } return factory.buildGeometry(transGeomList); }
private TopoGeom.MultiPoint createMultiPoint(MultiPoint geom) { List<TopoGeom.Point> points = new ArrayList<>(geom.getNumGeometries()); for (int n = 0; n < geom.getNumGeometries(); n++) { points.add(createPoint((Point) geom.getGeometryN(n))); } return new TopoGeom.MultiPoint(points); }
/** Estimate an array of "fat" Points */ private int estimateMultiPoint(MultiPoint geom) { // int size int result = 4; if (geom.getNumGeometries() > 0) { // We can shortcut here, compared to estimateGeometryArray, as all // subgeoms have the same fixed size result += geom.getNumGeometries() * estimateBytes(geom.getGeometryN(0)); } return result; }
private void writeMultiPoint(MultiPoint geom, ValueSetter dest) { dest.setInt(geom.getNumPoints()); for(int i = 0; i < geom.getNumPoints(); ++i) { this.writeGeometry(geom.getGeometryN(i), dest); } }
@SuppressWarnings("unchecked") private static <P extends Position> org.geolatte.geom.MultiPoint<P> from(MultiPoint jtsMultiPoint, CoordinateReferenceSystem<P> crs) { if (jtsMultiPoint == null || jtsMultiPoint.getNumGeometries() == 0) return new org.geolatte.geom.MultiPoint<P>(crs); org.geolatte.geom.Point<P>[] points = new org.geolatte.geom.Point[jtsMultiPoint.getNumGeometries()]; for (int i = 0; i < points.length; i++) { points[i] = from((Point) jtsMultiPoint.getGeometryN(i), crs); } return new org.geolatte.geom.MultiPoint<P>(points); }