3 public class RectArea {
4 public double minlon; // 経度(西)
5 public double maxlon; // 経度(東)
6 public double minlat; // 緯度(南)
7 public double maxlat; // 緯度(北)
10 * 矩形領域を中心点と中心点からの距離(メートル)でセットする
12 * @param lat // 中心点の緯度
13 * @param lon // 中心点の経度
14 * @param m // 距離 領域の一辺の長さの半分
16 public RectArea(double lat, double lon, int m) {
17 double BIG_Y = (40000000.0d / 2.0d / Math.PI); // 地球の半径
18 double LAT1 = (10000000.0d / 90.0d); // 緯度1度の距離(m)
19 double dLat = m / LAT1; // 距離を表す緯度(差分)
20 minlat = lat - dLat; // 底辺(緯度)
21 maxlat = lat + dLat; // 上辺(緯度)
22 double y = Math.sin((90.0d - lat) / 180.0d) * BIG_Y; // 緯線上の地球の半径
23 double lon1 = y * 2.0d * Math.PI; // 経度1度の距離(m)
24 double dLon = m / lon1; // 距離を表す経度(差分)
25 minlon = lon - dLon; // 左辺
26 maxlon = lon + dLon; // 右辺