@Override public AnyValue value( int offset ) { return Values.point( value[offset] ); }
public static PointArray pointArray( Value[] maybePoints ) { PointValue[] values = new PointValue[maybePoints.length]; for ( int i = 0; i < maybePoints.length; i++ ) { Value maybePoint = maybePoints[i]; if ( !(maybePoint instanceof PointValue) ) { throw new IllegalArgumentException( format( "[%s:%s] is not a supported point value", maybePoint, maybePoint.getClass().getName() ) ); } values[i] = Values.point( (PointValue) maybePoint ); } return pointArray( values ); }
@Test void comparePointsMustOnlyReturnZeroForEqualPoints() { PointValue firstPoint = random.randomValues().nextPointValue(); PointValue equalPoint = Values.point( firstPoint ); CoordinateReferenceSystem crs = firstPoint.getCoordinateReferenceSystem(); SpaceFillingCurve curve = noSpecificIndexSettings.forCrs( crs, false ); Long spaceFillingCurveValue = curve.derivedValueFor( firstPoint.coordinate() ); PointValue centerPoint = Values.pointValue( crs, curve.centerPointFor( spaceFillingCurveValue ) ); GenericKey firstKey = newKeyState(); firstKey.writeValue( firstPoint, NEUTRAL ); GenericKey equalKey = newKeyState(); equalKey.writeValue( equalPoint, NEUTRAL ); GenericKey centerKey = newKeyState(); centerKey.writeValue( centerPoint, NEUTRAL ); GenericKey noCoordsKey = newKeyState(); noCoordsKey.writeValue( equalPoint, NEUTRAL ); GeometryType.setNoCoordinates( noCoordsKey ); assertEquals( 0, firstKey.compareValueTo( equalKey ), "expected keys to be equal" ); assertEquals( firstPoint.compareTo( centerPoint ) != 0, firstKey.compareValueTo( centerKey ) != 0, "expected keys to be equal if and only if source points are equal" ); assertEquals( 0, firstKey.compareValueTo( noCoordsKey ), "expected keys to be equal" ); }
public static PointArray pointArray( Value[] maybePoints ) { PointValue[] values = new PointValue[maybePoints.length]; for ( int i = 0; i < maybePoints.length; i++ ) { Value maybePoint = maybePoints[i]; if ( !(maybePoint instanceof PointValue) ) { throw new IllegalArgumentException( format( "[%s:%s] is not a supported point value", maybePoint, maybePoint.getClass().getName() ) ); } values[i] = Values.point( (PointValue) maybePoint ); } return pointArray( values ); }
public static PointArray pointArray( Point[] points ) { PointValue[] values = new PointValue[points.length]; for ( int i = 0; i < points.length; i++ ) { values[i] = Values.point( points[i] ); } return new PointArray( values ); }
public static <E extends Exception> void writeTo( ValueWriter<E> writer, Point[] values ) throws E { writer.beginArray( values.length, ValueWriter.ArrayType.POINT ); for ( Point x : values ) { PointValue value = Values.point( x ); writer.writePoint( value.getCoordinateReferenceSystem(), value.coordinate() ); } writer.endArray(); } }
return Values.point( (Point) value );
@Override public AnyValue value( int offset ) { return Values.point( value[offset] ); }
public static PointArray pointArray( Point[] points ) { PointValue[] values = new PointValue[points.length]; for ( int i = 0; i < points.length; i++ ) { values[i] = Values.point( points[i] ); } return new PointArray( values ); }
public static <E extends Exception> void writeTo( ValueWriter<E> writer, Point[] values ) throws E { writer.beginArray( values.length, ValueWriter.ArrayType.POINT ); for ( Point x : values ) { PointValue value = Values.point( x ); writer.writePoint( value.getCoordinateReferenceSystem(), value.coordinate() ); } writer.endArray(); } }
return Values.point( (Point) value );