以下のように、指定された緯度と経度を変換したい:-
- 左下の緯度
- 左下の経度
- 右上緯度
- 右上の経度
たとえば、緯度: 29.0167 と経度: 77.3833 があります。これらの座標を左下の緯度、左下の経度、右上の緯度、右上の経度に変換する方法を教えてください。
誰でも私を助けてください。
以下のように、指定された緯度と経度を変換したい:-
たとえば、緯度: 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
次に、これから目的のコーナーを計算できます。
2 点間の距離を計算します。距離が短い場合 (約 100 km など)、通常は平面地球近似を使用できます。距離が長い場合は、「大圏」距離を使用する必要があります。別名ハバーシン式。計算したこの距離は、正方形の対角距離です。必要なすべての数式については、このサイトを参照してください: http://www.movable-type.co.uk/scripts/latlong.html
左下から右上に向かって方位を計算します。繰り返しますが、2 つの緯度/経度ポイント間の方位の計算については、上記のサイトを参照してください。
右下を取得するには、ボックスの側面の距離が、対角線の距離を 2 の平方根で割ったものであることを知っています。これは、直角三角形のジオメトリからのものです: x^2 + x^2 = 斜辺。
上記で計算された方位から、45 度を追加します。これで、範囲 (D/sqrt(2)) と右下のポイントへの方位が得られました。上記のサイトを使用して、範囲と方位を使用して緯度/経度から緯度/経度を計算します。
45 度を引いて、左上について繰り返します。