/** * Creates an empty {@code MultiPoint} for a coordinate reference system * * @param crs the coordinate reference system for the created {@code MultiPoint} * @param <P> the type of {@code Position} * @return an empty {@code MultiPoint} with the specified coordinate reference system */ public static <P extends Position> MultiPoint<P> mkEmptyMultiPoint(CoordinateReferenceSystem<P> crs) { return new MultiPoint<>(crs); }
private static JGeometry convert(MultiPoint geometry) { int srid = geometry.getSRID(); int dim = geometry.getCoordinateDimension(); double[] points = getPoints(geometry.getPoints()); int[] elemInfo = new int[]{1, 1, geometry.getNumPoints()}; int gtype = dim * 1000 + (geometry.isMeasured() ? dim : 0) * 100 + GTYPE_MULTIPOINT; return new JGeometry(gtype, srid, elemInfo, points); }
private static <P extends Position> MultiPoint to(org.geolatte.geom.MultiPoint<P> multiPoint, GeometryFactory gFact) { Point[] points = new Point[multiPoint.getNumGeometries()]; for (int i = 0; i < multiPoint.getNumGeometries(); i++) { points[i] = to(multiPoint.getGeometryN(i), gFact); } return gFact.createMultiPoint(points); }
private Double[] pointToOrdinates(MultiPoint<?> multiPoint, int i) { Double[] pointOrdinates = new Double[multiPoint.getCoordinateDimension()]; int idx = 0; for (Double d : multiPoint.getGeometryN(i).getPosition().toArray(null)) { pointOrdinates[idx++] = d; } return pointOrdinates; }
private static MultiPoint convertMultiPoint(JGeometry geometry) { CrsId crs = CrsId.valueOf(geometry.getSRID()); JGeometry[] elements = geometry.getElements(); if (elements == null || elements.length == 0) { return MultiPoint.createEmpty(); } Point[] points = new Point[elements.length]; int dimensions = geometry.getDimensions(); double[] ordinates = geometry.getOrdinatesArray(); boolean measured = geometry.isLRSGeometry(); DimensionalFlag flag = DimensionalFlag.valueOf(dimensions > (measured ? 3 : 2), measured); int offset = 0; for (int i = 0; i < points.length; i++) { double[] coords = new double[dimensions]; System.arraycopy(ordinates, offset, coords, 0, coords.length); points[i] = new Point(PointCollectionFactory.create(coords, flag, crs)); offset += dimensions; } return new MultiPoint(points); }
@Override @SuppressWarnings("unchecked") public <P extends Position, G extends Geometry<P>> SDOGeometry encode(G geom) { final int dim = geom.getCoordinateDimension(); final int lrsDim = getLRSDim(geom); final boolean isLrs = (lrsDim != 0); MultiPoint<P> multiPoint = (MultiPoint<P>) geom; final ElemInfo info = new ElemInfo(multiPoint.getNumGeometries()); int oordinatesOffset = 1; Double[] ordinates = new Double[]{}; for (int i = 0; i < multiPoint.getNumGeometries(); i++) { info.setElement(i, oordinatesOffset, ElementType.POINT, 0); ordinates = addOrdinates(ordinates, pointToOrdinates(multiPoint, i)); oordinatesOffset = ordinates.length + 1; } return new SDOGeometry(new SDOGType(dim, lrsDim, TypeGeometry.MULTIPOINT), geom.getSRID(), null, info, new Ordinates(ordinates)); }
private static org.postgis.MultiPoint convert(MultiPoint multiPoint) { org.postgis.Point[] pgPoints = convertPoints(multiPoint); org.postgis.MultiPoint pgMultiPoint = new org.postgis.MultiPoint(pgPoints); pgMultiPoint.setSrid(multiPoint.getSRID()); return pgMultiPoint; }
private static MultiPoint convertMultiPoint(JGeometry geometry) { CrsId crs = CrsId.valueOf(geometry.getSRID()); JGeometry[] elements = geometry.getElements(); if (elements == null || elements.length == 0) { return MultiPoint.createEmpty(); } Point[] points = new Point[elements.length]; int dimensions = geometry.getDimensions(); double[] ordinates = geometry.getOrdinatesArray(); boolean measured = geometry.isLRSGeometry(); DimensionalFlag flag = DimensionalFlag.valueOf(dimensions > (measured ? 3 : 2), measured); int offset = 0; for (int i = 0; i < points.length; i++) { double[] coords = new double[dimensions]; System.arraycopy(ordinates, offset, coords, 0, coords.length); points[i] = new Point(PointCollectionFactory.create(coords, flag, crs)); offset += dimensions; } return new MultiPoint(points); }
private static org.postgis.MultiPoint convert(MultiPoint multiPoint) { org.postgis.Point[] pgPoints = convertPoints(multiPoint); org.postgis.MultiPoint pgMultiPoint = new org.postgis.MultiPoint(pgPoints); pgMultiPoint.setSrid(multiPoint.getSRID()); return pgMultiPoint; }
public static <P extends Position> MultiPoint<P> mkMultiPoint(Point<P>... points) { return new MultiPoint<P>(points); }
private static JGeometry convert(MultiPoint geometry) { int srid = geometry.getSRID(); int dim = geometry.getCoordinateDimension(); double[] points = getPoints(geometry.getPoints()); int[] elemInfo = new int[]{1, 1, geometry.getNumPoints()}; int gtype = dim * 1000 + (geometry.isMeasured() ? dim : 0) * 100 + GTYPE_MULTIPOINT; return new JGeometry(gtype, srid, elemInfo, points); }
data.add(MultiPoint.createEmpty()); for (int i = 0; i < 6; i++) { data.add(new MultiPoint(new Point[]{(Point) data.get(i)}));
public void visit(MultiPoint collection, int parent) { Shape shape = new Shape(); shape.type = MULTI_POINT; shape.figureOffset = figures.size(); shape.parentOffset = parent; shapes.add(shape); parent = shapes.size() - 1; for (int i = 0; i < collection.getNumGeometries(); i++) { visit(collection.getGeometryN(i), parent); } }
public static <P extends Position> MultiPoint<P> mkMultiPoint(List<Point<P>> points) { Point<P>[] pointArr = new Point[points.size()]; return new MultiPoint<P>(points.toArray(pointArr)); }
public void visit(MultiPoint collection, int parent) { Shape shape = new Shape(); shape.type = MULTI_POINT; shape.figureOffset = figures.size(); shape.parentOffset = parent; shapes.add(shape); parent = shapes.size() - 1; for (int i = 0; i < collection.getNumGeometries(); i++) { visit(collection.getGeometryN(i), parent); } }
@SuppressWarnings("unchecked") @SafeVarargs public static <P extends Position> MultiPoint<P> multipoint(CoordinateReferenceSystem<P> crs, PointToken<P>... tokens) { if (tokens.length == 0) return new MultiPoint<P>(crs); Point<P>[] points = new Point[tokens.length]; int idx = 0; for (PointToken t : tokens) { points[idx++] = t.toGeometry(crs); } return new MultiPoint<P>(points); }
private MultiPoint decodeMultiPoint(int shapeIdx) { List<Point> points = Lists.newArrayList(); for (int i = shapeIdx; i < shapes.length; i++) { if (shapes[i].parentOffset == shapeIdx) { points.add(decodePoint(i)); } } return new MultiPoint(points.toArray(new Point[0])); }
@SafeVarargs @SuppressWarnings("unchecked") public static <P extends Position> MultiPoint<P> multipoint(Point<P> point, Point<P>... points) { return new MultiPoint<P>(combine(Point.class, point, points)); }
private MultiPoint decodeMultiPoint(int shapeIdx) { List<Point> points = Lists.newArrayList(); for (int i = shapeIdx; i < shapes.length; i++) { if (shapes[i].parentOffset == shapeIdx) { points.add(decodePoint(i)); } } return new MultiPoint(points.toArray(new Point[0])); }
@Override @SuppressWarnings("unchecked") MultiPoint<P> toGeometry(CoordinateReferenceSystem<P> crs) { Point<P>[] parts = new Point[tokens.length]; for (int i = 0; i < tokens.length; i++) { parts[i] = tokens[i].toGeometry(crs); } return new MultiPoint<P>(parts); }