緯度経度座標があり、それを幅 10 km の正方形の中心に配置し、最小緯度/経度と最大緯度/経度を取得するとします。
すでに存在するこれを行う簡単な方法はありますか?
緯度経度座標があり、それを幅 10 km の正方形の中心に配置し、最小緯度/経度と最大緯度/経度を取得するとします。
すでに存在するこれを行う簡単な方法はありますか?
正確である必要がない場合は、非常に簡単です。
緯度の場合、1 km は 0.009 度です (元のメートルの定義に従います)。正方形は中心から 5 km 離れているため、中心点から 0.045 度を足したり引いたりするだけです。
経度については、もう少し複雑です。上記の値を緯度のコサインで割ります。
コード内:
lat_min = lat_center - 0.045;
lat_max = lat_center + 0.045;
long_min = long_center - (0.045 / Math.cos(lat_center*Math.PI/180);
long_max = long_center + (0.045 / Math.cos(lat_center*Math.PI/180);
(Math.PI/180
度からラジアンに変換するために必要です)。
注意: ポールの周りでは機能しません。
正方形の向きは?赤道と平行?その場合は、緯度/経度から 45 度、5km * sqrt(2) の距離の方位を実行して、右上隅を取得します。左下と同様に、225 度の方位を使用します。
http://www.movable-type.co.uk/scripts/latlong.htmlで、開始点からの距離と方位が与えられた目的地を参照してください。