use of org.geolatte.geom.crs.CrsId in project querydsl by querydsl.
the class JGeometryConverter method getPoints.
private static PointSequence getPoints(JGeometry geometry) {
CrsId crs = CrsId.valueOf(geometry.getSRID());
int dimensions = geometry.getDimensions();
boolean measured = geometry.isLRSGeometry();
DimensionalFlag flag = DimensionalFlag.valueOf(dimensions > (measured ? 3 : 2), measured);
double[] ordinates = geometry.getOrdinatesArray();
return PointCollectionFactory.create(ordinates, flag, crs);
}
use of org.geolatte.geom.crs.CrsId in project querydsl by querydsl.
the class JGeometryConverter method convertPolygon.
private static Polygon convertPolygon(JGeometry geometry) {
CrsId crs = CrsId.valueOf(geometry.getSRID());
int dimensions = geometry.getDimensions();
boolean measured = geometry.isLRSGeometry();
DimensionalFlag flag = DimensionalFlag.valueOf(dimensions > (measured ? 3 : 2), measured);
Object[] elements = geometry.getOrdinatesOfElements();
LinearRing[] rings = new LinearRing[elements.length];
for (int i = 0; i < elements.length; i++) {
PointSequence points = PointCollectionFactory.create((double[]) elements[i], flag, crs);
rings[i] = new LinearRing(points);
}
return new Polygon(rings);
}
use of org.geolatte.geom.crs.CrsId in project querydsl by querydsl.
the class JGeometryConverter method convertCurve.
private static LineString convertCurve(JGeometry geometry) {
CrsId crs = CrsId.valueOf(geometry.getSRID());
PointSequence points = getPoints(geometry);
return new LineString(points);
}
use of org.geolatte.geom.crs.CrsId in project querydsl by querydsl.
the class JGeometryConverter method convertMultiPoint.
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);
}