我有一组值说
LatLong1=(lon=74.663085,lat=22.67578)
LatLong2=(lon=80.663085,lat=28.67578)
这些是矩形有界区域的纬度和经度值。 LatLong1是左边界和下边界值,LatLong2是右边界和上边界值。
现在我需要检查当前某个对象是否位于此边界内。 如果我的对象位置分别为75.67和26.89作为纬度经度。如何检查这些值是否在上述LatLong1,LatLong2值中?
答案 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);