private Geoshape(final float[][] coordinates) { Preconditions.checkArgument(coordinates!=null && coordinates.length==2); Preconditions.checkArgument(coordinates[0].length==coordinates[1].length && coordinates[0].length>0); for (int i=0;i<coordinates[0].length;i++) { if (Float.isNaN(coordinates[0][i])) Preconditions.checkArgument(i==1 && coordinates.length==2 && coordinates[1][i]>0); else Preconditions.checkArgument(isValidCoordinate(coordinates[0][i],coordinates[1][i])); } this.coordinates=coordinates; }
/** * Constructs a new box shape which is identified by its south-west and north-east corner points * @param southWestLatitude * @param southWestLongitude * @param northEastLatitude * @param northEastLongitude * @return */ public static final Geoshape box(final float southWestLatitude, final float southWestLongitude, final float northEastLatitude, final float northEastLongitude) { Preconditions.checkArgument(isValidCoordinate(southWestLatitude,southWestLongitude),"Invalid south-west coordinate provided"); Preconditions.checkArgument(isValidCoordinate(northEastLatitude,northEastLongitude),"Invalid north-east coordinate provided"); return new Geoshape(new float[][]{ new float[]{southWestLatitude, northEastLatitude}, new float[]{southWestLongitude, northEastLongitude}}); }
/** * Constructs a point from its latitude and longitude information * @param latitude * @param longitude * @return */ public static final Geoshape point(final float latitude, final float longitude) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); return new Geoshape(new float[][]{ new float[]{latitude}, new float[]{longitude}}); }
/** * Constructs a circle from a given center point and a radius in kilometer * @param latitude * @param longitude * @param radiusInKM * @return */ public static final Geoshape circle(final float latitude, final float longitude, final float radiusInKM) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); Preconditions.checkArgument(radiusInKM>0,"Invalid radius provided [%s]",radiusInKM); return new Geoshape(new float[][]{ new float[]{latitude, Float.NaN}, new float[]{longitude, radiusInKM}}); }
private Geoshape(final float[][] coordinates) { Preconditions.checkArgument(coordinates!=null && coordinates.length==2); Preconditions.checkArgument(coordinates[0].length==coordinates[1].length && coordinates[0].length>0); for (int i=0;i<coordinates[0].length;i++) { if (Float.isNaN(coordinates[0][i])) Preconditions.checkArgument(i==1 && coordinates.length==2 && coordinates[1][i]>0); else Preconditions.checkArgument(isValidCoordinate(coordinates[0][i],coordinates[1][i])); } this.coordinates=coordinates; }
private Geoshape(final float[][] coordinates) { Preconditions.checkArgument(coordinates!=null && coordinates.length==2); Preconditions.checkArgument(coordinates[0].length==coordinates[1].length && coordinates[0].length>0); for (int i=0;i<coordinates[0].length;i++) { if (Float.isNaN(coordinates[0][i])) Preconditions.checkArgument(i==1 && coordinates.length==2 && coordinates[1][i]>0); else Preconditions.checkArgument(isValidCoordinate(coordinates[0][i],coordinates[1][i])); } this.coordinates=coordinates; }
/** * Constructs a new box shape which is identified by its south-west and north-east corner points * @param southWestLatitude * @param southWestLongitude * @param northEastLatitude * @param northEastLongitude * @return */ public static final Geoshape box(final float southWestLatitude, final float southWestLongitude, final float northEastLatitude, final float northEastLongitude) { Preconditions.checkArgument(isValidCoordinate(southWestLatitude,southWestLongitude),"Invalid south-west coordinate provided"); Preconditions.checkArgument(isValidCoordinate(northEastLatitude,northEastLongitude),"Invalid north-east coordinate provided"); return new Geoshape(new float[][]{ new float[]{southWestLatitude, northEastLatitude}, new float[]{southWestLongitude, northEastLongitude}}); }
/** * Constructs a new box shape which is identified by its south-west and north-east corner points * @param southWestLatitude * @param southWestLongitude * @param northEastLatitude * @param northEastLongitude * @return */ public static final Geoshape box(final float southWestLatitude, final float southWestLongitude, final float northEastLatitude, final float northEastLongitude) { Preconditions.checkArgument(isValidCoordinate(southWestLatitude,southWestLongitude),"Invalid south-west coordinate provided"); Preconditions.checkArgument(isValidCoordinate(northEastLatitude,northEastLongitude),"Invalid north-east coordinate provided"); return new Geoshape(new float[][]{ new float[]{southWestLatitude, northEastLatitude}, new float[]{southWestLongitude, northEastLongitude}}); }
/** * Constructs a point from its latitude and longitude information * @param latitude * @param longitude * @return */ public static final Geoshape point(final float latitude, final float longitude) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); return new Geoshape(new float[][]{ new float[]{latitude}, new float[]{longitude}}); }
/** * Constructs a point from its latitude and longitude information * @param latitude * @param longitude * @return */ public static final Geoshape point(final float latitude, final float longitude) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); return new Geoshape(new float[][]{ new float[]{latitude}, new float[]{longitude}}); }
/** * Constructs a circle from a given center point and a radius in kilometer * @param latitude * @param longitude * @param radiusInKM * @return */ public static final Geoshape circle(final float latitude, final float longitude, final float radiusInKM) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); Preconditions.checkArgument(radiusInKM>0,"Invalid radius provided [%s]",radiusInKM); return new Geoshape(new float[][]{ new float[]{latitude, Float.NaN}, new float[]{longitude, radiusInKM}}); }
/** * Constructs a circle from a given center point and a radius in kilometer * @param latitude * @param longitude * @param radiusInKM * @return */ public static final Geoshape circle(final float latitude, final float longitude, final float radiusInKM) { Preconditions.checkArgument(isValidCoordinate(latitude,longitude),"Invalid coordinate provided"); Preconditions.checkArgument(radiusInKM>0,"Invalid radius provided [%s]",radiusInKM); return new Geoshape(new float[][]{ new float[]{latitude, Float.NaN}, new float[]{longitude, radiusInKM}}); }