[英]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.