簡體   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