簡體   English   中英

如何從給定的經度和緯度中找到左下和右上的經度?

[英]How to find Bottom-left and Top-right latitude and longitude from given latitude and longitude?

我想按照以下方式轉換給定的緯度和經度:-

  1. 左下緯度
  2. 左下經度
  3. 右上角的緯度
  4. 右上經度

例如,我有一個緯度:29.0167和經度:77.3833。 現在,我如何將這些坐標轉換為左下緯度,左下經度,右上緯度和右上經度。

請任何人能幫助我。

我不確定我是否了解您要做什么,但是如果我知道,您可以使用Math.Floor和Math.Ceiling。 它們使您的第一個整數變小,所提供的數字變大。

float lon =77.38;
float lat = 29.01;
float loLat=Math.Floor(lat); //29
float upLat=Math.Ceiling(lat); //30
float loLon=Math.Floor(lat); //77
float upLon=Math.Ceiling(lat); //78

然后,您可以據此計算所需的角。

計算兩點之間的距離。 如果距離很小(例如約100 km),那么通常可以使用平坦的地球近似值。 對於更長的距離,您需要使用“大圓”距離。 又名Haversine公式。 您計算的該距離是正方形的對角線距離。 請參閱此網站以獲取所需的所有公式: http : //www.movable-type.co.uk/scripts/latlong.html

從左下到右上計算方位角。 同樣,請參見上面的站點以計算兩個緯度/經度點之間的方位。

要獲得右下角的信息,您知道盒子側面的距離是對角線距離除以2的平方根。這來自直角三角形幾何:x ^ 2 + x ^ 2 =斜邊。

從上面計算的方位角,增加45度。 現在,您有一個范圍(D / sqrt(2))和右下角的方位角。 使用上面的站點從具有范圍和方位的緯度/經度計算緯度/經度。

減去45度,對左上角重復上述步驟。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM