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); }
data.add(MultiPoint.createEmpty()); for (int i = 0; i < 6; i++) { data.add(new MultiPoint(new Point[]{(Point) data.get(i)}));
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); }