如何使用java检查值是否在矩形边界内

时间:2014-06-18 09:24:02

标签: java

我有一组值说

LatLong1=(lon=74.663085,lat=22.67578)
LatLong2=(lon=80.663085,lat=28.67578)

这些是矩形有界区域的纬度和经度值。 LatLong1是左边界和下边界值,LatLong2是右边界和上边界值。

现在我需要检查当前某个对象是否位于此边界内。 如果我的对象位置分别为75.67和26.89作为纬度经度。如何检查这些值是否在上述LatLong1,LatLong2值中?

3 个答案:

答案 0 :(得分:3)

我猜你的对象你需要检查的是一个租金角度,值是:

LatLong1=(lon=x0,lat=y0)
LatLong2=(lon=x1,lat=y1)

如果是这种情况,并且两个图形结构都与同一来源的coordenates相关联,则需要检查的条件是:

if( (x0>=lon0 && x1<=lon1 ) && (y0>=lat0 && y1<=lat1 ) )
    return true;
else return false;

如果你需要检查一个点是否在一个矩形内,作为该点的坐标(x0,y0):

if( (x0>=lon0 && x0<=lon1 ) && (y0>=lat0 && y0<=lat1 ) )
    return true;
else return false;

答案 1 :(得分:1)

我不知道openlayer。但这不是找到一个点(x,y)是否在一个矩形,其左下角是(x1,y1)而右上角是(x2,y2)?

在这种情况下(x,y)在矩形中,如果是(x>x1 && x<x2 && y>y1 && y<y2)

答案 2 :(得分:1)

您可以创建一个矩形。使用您的两个点,您可以计算左上角和尺寸。

Rectangle rect = new Rectangle(upperLeftCorner, dimension);

您想要检查点(x,y)是否位于矩形中:

Point p = new Point(x,y);
rect.contains(p);