OSDN Git Service

RELEASE: 2015-02-21
[convbusstop/convbusstop.git] / src / osm / jp / RectArea.java
1 package osm.jp;\r
2 \r
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
8 \r
9     /**\r
10      * 矩形領域を中心点と中心点からの距離(メートル)でセットする\r
11      * \r
12      * @param lat       // 中心点の緯度\r
13      * @param lon       // 中心点の経度\r
14      * @param m         // 距離 領域の一辺の長さの半分\r
15      */\r
16         public RectArea(double lat, double lon, int m) {\r
17                 /*\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
24                 */\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
31         }\r
32 \r
33         /**\r
34          * 約100m四方\r
35          * @param lat\r
36          * @param lon\r
37          * @param m\r
38          */\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
46         }\r
47 }\r