繁体   English   中英

如何使用Java检查值是否在矩形范围内

[英]How to check if the values lie within the rectangular bound using java

我有一组价值观说

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

这些是矩形有界区域的纬度和经度值。 LatLong1是左侧和底部边界值,LatLong2是右侧和顶部边界值。

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

我不得不猜测您的对象,您还需要检查其持久性是否为rentangle,并带有值:

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

如果是这种情况,并且两个图形结构都绑定到同一个坐标系,则要检查的条件是:

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;

我不知道openlayer。 但是,这是否不像查找点(x,y)是否位于矩形的矩形中,该矩形的左下角为(x1,y1)而右上角为(x2,y2)?

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

您可以创建一个矩形。 通过这两点,您可以计算左上角和尺寸。

Rectangle rect = new Rectangle(upperLeftCorner, dimension);

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM