maximumLatitude = center.computeDestination( radius, GeometricConstants.HEADING_NORTH ).getLatitude(); minimumLatitude = center.computeDestination( radius, GeometricConstants.HEADING_SOUTH ).getLatitude(); ), center.getLongitude() ); maximumLongitude = referencePoint.computeDestination( radius, GeometricConstants.HEADING_EAST ) .getLongitude(); minimumLongitude = referencePoint.computeDestination( radius, GeometricConstants.HEADING_WEST ) .getLongitude();
maximumLatitude = center.computeDestination( radius, GeometricConstants.HEADING_NORTH ).getLatitude(); minimumLatitude = center.computeDestination( radius, GeometricConstants.HEADING_SOUTH ).getLatitude(); ), center.getLongitude() ); maximumLongitude = referencePoint.computeDestination( radius, GeometricConstants.HEADING_EAST ) .getLongitude(); minimumLongitude = referencePoint.computeDestination( radius, GeometricConstants.HEADING_WEST ) .getLongitude();
public boolean projectedBoundingBoxCellsIdsInclusionTest( Point center, Double radius) { Integer spatialHashLevel = SpatialHelper.findBestSpatialHashLevelForSearchRange( radius ); List<String> cellsIds = SpatialHelper.getSpatialHashCellsIds( center, radius, spatialHashLevel ); Point edge = null; boolean validated = true; for ( int heading = 0; heading < 360; heading++ ) { edge = center.computeDestination( radius, heading ); String cellId = SpatialHelper.getSpatialHashCellId( edge, spatialHashLevel ); validated &= cellsIds.contains( cellId ); } return validated; }
@Test public void computeDestinationTest() { Point point = Point.fromDegrees( 45, 4 ); Point destination = point.computeDestination( 100, 45 ); Assert.assertEquals( 0.796432523, destination.getLatitudeRad(), 0.00001 ); Assert.assertEquals( 0.08568597, destination.getLongitudeRad(), 0.00001 ); }