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