1 | #include <iostream>
|
---|
2 | #include <boost/geometry/geometry.hpp>
|
---|
3 | #include <boost/geometry/geometries/point_xy.hpp>
|
---|
4 | #include <boost/geometry/extensions/gis/latlong/latlong.hpp>
|
---|
5 |
|
---|
6 | boost::geometry::model::point<double, 2, boost::geometry::cs::spherical_equatorial<boost::geometry::degree> > convert(const double longitude, const double latitude);
|
---|
7 | boost::geometry::model::point<double, 2, boost::geometry::cs::spherical_equatorial<boost::geometry::degree> > convert(const double longitude, const double latitude)
|
---|
8 | {
|
---|
9 | return boost::geometry::model::point<double, 2, boost::geometry::cs::spherical_equatorial<boost::geometry::degree> >(longitude,latitude);
|
---|
10 | }
|
---|
11 |
|
---|
12 | typedef boost::geometry::model::point<double, 2, boost::geometry::cs::spherical_equatorial<boost::geometry::degree> > PointType;
|
---|
13 |
|
---|
14 |
|
---|
15 | int main()
|
---|
16 | {
|
---|
17 | boost::geometry::model::polygon<PointType> polygon;
|
---|
18 | boost::geometry::append(polygon, convert(-64.156,60));
|
---|
19 | boost::geometry::append(polygon, convert(-56.71666667,60));
|
---|
20 | boost::geometry::append(polygon, convert(-55.63416667,58.90016667));
|
---|
21 | boost::geometry::append(polygon, convert(-55.05783333,57.842));
|
---|
22 | boost::geometry::append(polygon, convert(-54.00983333,57.5855));
|
---|
23 | boost::geometry::append(polygon, convert(-53.12633333,57.23666667));
|
---|
24 | boost::geometry::append(polygon, convert(-52.38816667,56.8015));
|
---|
25 | boost::geometry::append(polygon, convert(-51.82366667,56.30216667));
|
---|
26 | boost::geometry::append(polygon, convert(-50.29066667,54.38683333));
|
---|
27 | boost::geometry::append(polygon, convert(-50.1195,53.74233333));
|
---|
28 | boost::geometry::append(polygon, convert(-50.1675,53.0765));
|
---|
29 | boost::geometry::append(polygon, convert(-49.9515,52.33433333));
|
---|
30 | boost::geometry::append(polygon, convert(-48.87416667,51.57));
|
---|
31 | boost::geometry::append(polygon, convert(-48.26733333,50.66916667));
|
---|
32 | boost::geometry::append(polygon, convert(-48.11716667,50.038));
|
---|
33 | boost::geometry::append(polygon, convert(-48.15583333,49.4005));
|
---|
34 | boost::geometry::append(polygon, convert(-47.9195,48.65366667));
|
---|
35 | boost::geometry::append(polygon, convert(-47.776,47.40416667));
|
---|
36 | boost::geometry::append(polygon, convert(-48.009,46.58533333));
|
---|
37 | boost::geometry::append(polygon, convert(-48.72133333,45.32416667));
|
---|
38 | boost::geometry::append(polygon, convert(-49.275,44.723));
|
---|
39 | boost::geometry::append(polygon, convert(-49.85383333,44.273));
|
---|
40 | boost::geometry::append(polygon, convert(-50.56683333,43.88583333));
|
---|
41 | boost::geometry::append(polygon, convert(-51.34016667,43.601));
|
---|
42 | boost::geometry::append(polygon, convert(-52.287,43.39316667));
|
---|
43 | boost::geometry::append(polygon, convert(-53.3355,43.325));
|
---|
44 | boost::geometry::append(polygon, convert(-54.15333333,43.35233333));
|
---|
45 | boost::geometry::append(polygon, convert(-55.1235,43.49016667));
|
---|
46 | boost::geometry::append(polygon, convert(-55.524,42.66866667));
|
---|
47 | boost::geometry::append(polygon, convert(-56.15566667,41.96983333));
|
---|
48 | boost::geometry::append(polygon, convert(-57.0855,41.33683333));
|
---|
49 | boost::geometry::append(polygon, convert(-58.0425,40.92233333));
|
---|
50 | boost::geometry::append(polygon, convert(-59.08633333,40.68966667));
|
---|
51 | boost::geometry::append(polygon, convert(-60.20333333,40.63883333));
|
---|
52 | boost::geometry::append(polygon, convert(-61.23383333,40.75766667));
|
---|
53 | boost::geometry::append(polygon, convert(-62.2915,41.07533333));
|
---|
54 | boost::geometry::append(polygon, convert(-63.17483333,40.60916667));
|
---|
55 | boost::geometry::append(polygon, convert(-64.1395,40.28866667));
|
---|
56 | boost::geometry::append(polygon, convert(-64.9885,40.12433333));
|
---|
57 | boost::geometry::append(polygon, convert(-65.8845,40.09066667));
|
---|
58 | boost::geometry::append(polygon, convert(-65.99183333,39.9675));
|
---|
59 | boost::geometry::append(polygon, convert(-66.35233333,39.47066667));
|
---|
60 | boost::geometry::append(polygon, convert(-66.8055,39.02566667));
|
---|
61 | boost::geometry::append(polygon, convert(-67.34316667,38.65266667));
|
---|
62 | boost::geometry::append(polygon, convert(-68.0335,38.32));
|
---|
63 | boost::geometry::append(polygon, convert(-68.77583333,38.08816667));
|
---|
64 | boost::geometry::append(polygon, convert(-69.56783333,37.969));
|
---|
65 | boost::geometry::append(polygon, convert(-70.4015,37.95783333));
|
---|
66 | boost::geometry::append(polygon, convert(-70.625,37.87433333));
|
---|
67 | boost::geometry::append(polygon, convert(-71.13883333,37.30616667));
|
---|
68 | boost::geometry::append(polygon, convert(-71.55983333,36.5375));
|
---|
69 | boost::geometry::append(polygon, convert(-71.43366667,35.57633333));
|
---|
70 | boost::geometry::append(polygon, convert(-71.61733333,34.55166667));
|
---|
71 | boost::geometry::append(polygon, convert(-71.8725,33.90816667));
|
---|
72 | boost::geometry::append(polygon, convert(-72.28533333,33.3205));
|
---|
73 | boost::geometry::append(polygon, convert(-72.90083333,32.75516667));
|
---|
74 | boost::geometry::append(polygon, convert(-74.20033333,31.91883333));
|
---|
75 | boost::geometry::append(polygon, convert(-75.25333333,31.45233333));
|
---|
76 | boost::geometry::append(polygon, convert(-75.853,31.05266667));
|
---|
77 | boost::geometry::append(polygon, convert(-76.523,30.757));
|
---|
78 | boost::geometry::append(polygon, convert(-77.30483333,30.208));
|
---|
79 | boost::geometry::append(polygon, convert(-76.94033333,29.4195));
|
---|
80 | boost::geometry::append(polygon, convert(-76.79333333,28.60983333));
|
---|
81 | boost::geometry::append(polygon, convert(-76.66833333,28.2855));
|
---|
82 | boost::geometry::append(polygon, convert(-79.18716667,28.28533333));
|
---|
83 | boost::geometry::append(polygon, convert(-79.4725,27.876));
|
---|
84 | boost::geometry::append(polygon, convert(-79.523,27.4335));
|
---|
85 | boost::geometry::append(polygon, convert(-79.56966667,27.26883333));
|
---|
86 | boost::geometry::append(polygon, convert(-79.576,27.19233333));
|
---|
87 | boost::geometry::append(polygon, convert(-79.5865,27.09316667));
|
---|
88 | boost::geometry::append(polygon, convert(-79.58616667,27.00466667));
|
---|
89 | boost::geometry::append(polygon, convert(-79.57316667,26.91933333));
|
---|
90 | boost::geometry::append(polygon, convert(-79.57116667,26.893));
|
---|
91 | boost::geometry::append(polygon, convert(-79.54016667,26.75766667));
|
---|
92 | boost::geometry::append(polygon, convert(-79.53716667,26.73833333));
|
---|
93 | boost::geometry::append(polygon, convert(-79.53666667,26.72333333));
|
---|
94 | boost::geometry::append(polygon, convert(-79.5335,26.68533333));
|
---|
95 | boost::geometry::append(polygon, convert(-79.522,26.6355));
|
---|
96 | boost::geometry::append(polygon, convert(-79.51766667,26.605));
|
---|
97 | boost::geometry::append(polygon, convert(-79.50833333,26.58683333));
|
---|
98 | boost::geometry::append(polygon, convert(-79.50766667,26.57516667));
|
---|
99 | boost::geometry::append(polygon, convert(-79.50633333,26.5685));
|
---|
100 | boost::geometry::append(polygon, convert(-79.5025,26.51866667));
|
---|
101 | boost::geometry::append(polygon, convert(-79.49216667,26.48416667));
|
---|
102 | boost::geometry::append(polygon, convert(-79.493,26.42183333));
|
---|
103 | boost::geometry::append(polygon, convert(-79.4925,26.38816667));
|
---|
104 | boost::geometry::append(polygon, convert(-79.49233333,26.38683333));
|
---|
105 | boost::geometry::append(polygon, convert(-79.52583333,26.3095));
|
---|
106 | boost::geometry::append(polygon, convert(-79.55283333,26.25433333));
|
---|
107 | boost::geometry::append(polygon, convert(-79.55383333,26.25216667));
|
---|
108 | boost::geometry::append(polygon, convert(-79.59216667,26.13483333));
|
---|
109 | boost::geometry::append(polygon, convert(-79.6015,26.1245));
|
---|
110 | boost::geometry::append(polygon, convert(-79.60583333,26.10983333));
|
---|
111 | boost::geometry::append(polygon, convert(-79.637,26.042));
|
---|
112 | boost::geometry::append(polygon, convert(-79.66716667,25.98833333));
|
---|
113 | boost::geometry::append(polygon, convert(-79.668,25.986));
|
---|
114 | boost::geometry::append(polygon, convert(-79.673,25.958));
|
---|
115 | boost::geometry::append(polygon, convert(-79.68433333,25.93633333));
|
---|
116 | boost::geometry::append(polygon, convert(-79.68966667,25.90066667));
|
---|
117 | boost::geometry::append(polygon, convert(-79.691,25.88733333));
|
---|
118 | boost::geometry::append(polygon, convert(-79.69316667,25.859));
|
---|
119 | boost::geometry::append(polygon, convert(-79.70266667,25.82216667));
|
---|
120 | boost::geometry::append(polygon, convert(-79.70383333,25.804));
|
---|
121 | boost::geometry::append(polygon, convert(-79.704,25.80333333));
|
---|
122 | boost::geometry::append(polygon, convert(-79.70733333,25.771));
|
---|
123 | boost::geometry::append(polygon, convert(-79.7075,25.76933333));
|
---|
124 | boost::geometry::append(polygon, convert(-79.70983333,25.72333333));
|
---|
125 | boost::geometry::append(polygon, convert(-79.708,25.70516667));
|
---|
126 | boost::geometry::append(polygon, convert(-79.7045,25.67283333));
|
---|
127 | boost::geometry::append(polygon, convert(-79.7045,25.62066667));
|
---|
128 | boost::geometry::append(polygon, convert(-79.7045,25.618));
|
---|
129 | boost::geometry::append(polygon, convert(-79.702,25.51716667));
|
---|
130 | boost::geometry::append(polygon, convert(-79.70183333,25.45983333));
|
---|
131 | boost::geometry::append(polygon, convert(-79.702,25.40066667));
|
---|
132 | boost::geometry::append(polygon, convert(-79.70333333,25.37016667));
|
---|
133 | boost::geometry::append(polygon, convert(-79.70133333,25.35483333));
|
---|
134 | boost::geometry::append(polygon, convert(-79.68733333,25.27533333));
|
---|
135 | boost::geometry::append(polygon, convert(-79.6885,25.2595));
|
---|
136 | boost::geometry::append(polygon, convert(-79.6885,25.17316667));
|
---|
137 | boost::geometry::append(polygon, convert(-79.68933333,25.1585));
|
---|
138 | boost::geometry::append(polygon, convert(-79.69083333,25.1505));
|
---|
139 | boost::geometry::append(polygon, convert(-79.70483333,25.05916667));
|
---|
140 | boost::geometry::append(polygon, convert(-79.70933333,25.04333333));
|
---|
141 | boost::geometry::append(polygon, convert(-79.73416667,25.005));
|
---|
142 | boost::geometry::append(polygon, convert(-79.74133333,24.98383333));
|
---|
143 | boost::geometry::append(polygon, convert(-79.7595,24.92133333));
|
---|
144 | boost::geometry::append(polygon, convert(-79.82066667,24.73633333));
|
---|
145 | boost::geometry::append(polygon, convert(-79.823,24.71733333));
|
---|
146 | boost::geometry::append(polygon, convert(-79.84166667,24.706));
|
---|
147 | boost::geometry::append(polygon, convert(-79.87616667,24.69116667));
|
---|
148 | boost::geometry::append(polygon, convert(-79.993,24.63866667));
|
---|
149 | boost::geometry::append(polygon, convert(-80.0585,24.6045));
|
---|
150 | boost::geometry::append(polygon, convert(-80.20716667,24.553));
|
---|
151 | boost::geometry::append(polygon, convert(-80.22016667,24.55083333));
|
---|
152 | boost::geometry::append(polygon, convert(-80.25266667,24.5355));
|
---|
153 | boost::geometry::append(polygon, convert(-80.27583333,24.52116667));
|
---|
154 | boost::geometry::append(polygon, convert(-80.29116667,24.5095));
|
---|
155 | boost::geometry::append(polygon, convert(-80.32016667,24.50233333));
|
---|
156 | boost::geometry::append(polygon, convert(-80.324,24.501));
|
---|
157 | boost::geometry::append(polygon, convert(-80.35083333,24.48966667));
|
---|
158 | boost::geometry::append(polygon, convert(-80.40583333,24.46966667));
|
---|
159 | boost::geometry::append(polygon, convert(-80.41833333,24.46766667));
|
---|
160 | boost::geometry::append(polygon, convert(-80.45333333,24.45383333));
|
---|
161 | boost::geometry::append(polygon, convert(-80.48833333,24.43833333));
|
---|
162 | boost::geometry::append(polygon, convert(-80.537,24.41783333));
|
---|
163 | boost::geometry::append(polygon, convert(-80.6015,24.38833333));
|
---|
164 | boost::geometry::append(polygon, convert(-80.64266667,24.37216667));
|
---|
165 | boost::geometry::append(polygon, convert(-80.6585,24.36783333));
|
---|
166 | boost::geometry::append(polygon, convert(-80.7535,24.32183333));
|
---|
167 | boost::geometry::append(polygon, convert(-80.75783333,24.31933333));
|
---|
168 | boost::geometry::append(polygon, convert(-80.77483333,24.30633333));
|
---|
169 | boost::geometry::append(polygon, convert(-80.77566667,24.30583333));
|
---|
170 | boost::geometry::append(polygon, convert(-80.99116667,24.1585));
|
---|
171 | boost::geometry::append(polygon, convert(-80.99183333,24.158));
|
---|
172 | boost::geometry::append(polygon, convert(-81.01783333,24.143));
|
---|
173 | boost::geometry::append(polygon, convert(-81.02516667,24.13833333));
|
---|
174 | boost::geometry::append(polygon, convert(-81.02616667,24.13766667));
|
---|
175 | boost::geometry::append(polygon, convert(-81.051,24.12133333));
|
---|
176 | boost::geometry::append(polygon, convert(-81.15083333,24.03666667));
|
---|
177 | boost::geometry::append(polygon, convert(-81.186,23.99333333));
|
---|
178 | boost::geometry::append(polygon, convert(-81.20916667,23.922));
|
---|
179 | boost::geometry::append(polygon, convert(-81.32383333,23.892));
|
---|
180 | boost::geometry::append(polygon, convert(-81.49316667,23.842));
|
---|
181 | boost::geometry::append(polygon, convert(-81.65983333,23.83366667));
|
---|
182 | boost::geometry::append(polygon, convert(-81.8265,23.8175));
|
---|
183 | boost::geometry::append(polygon, convert(-82.00183333,23.8175));
|
---|
184 | boost::geometry::append(polygon, convert(-82.15983333,23.82366667));
|
---|
185 | boost::geometry::append(polygon, convert(-82.40983333,23.85233333));
|
---|
186 | boost::geometry::append(polygon, convert(-82.65983333,23.85233333));
|
---|
187 | boost::geometry::append(polygon, convert(-82.80883333,23.82366667));
|
---|
188 | boost::geometry::append(polygon, convert(-82.85183333,23.822));
|
---|
189 | boost::geometry::append(polygon, convert(-82.99316667,23.82066667));
|
---|
190 | boost::geometry::append(polygon, convert(-83.24316667,23.82533333));
|
---|
191 | boost::geometry::append(polygon, convert(-83.42483333,23.85366667));
|
---|
192 | boost::geometry::append(polygon, convert(-83.55016667,23.87116667));
|
---|
193 | boost::geometry::append(polygon, convert(-83.68916667,23.90066667));
|
---|
194 | boost::geometry::append(polygon, convert(-83.80183333,23.9245));
|
---|
195 | boost::geometry::append(polygon, convert(-83.99316667,23.973));
|
---|
196 | boost::geometry::append(polygon, convert(-84.48783333,24.15616667));
|
---|
197 | boost::geometry::append(polygon, convert(-84.63983333,24.22));
|
---|
198 | boost::geometry::append(polygon, convert(-84.76783333,24.2735));
|
---|
199 | boost::geometry::append(polygon, convert(-84.99316667,24.38833333));
|
---|
200 | boost::geometry::append(polygon, convert(-85.10316667,24.4395));
|
---|
201 | boost::geometry::append(polygon, convert(-85.52566667,24.64283333));
|
---|
202 | boost::geometry::append(polygon, convert(-85.7185,24.73616667));
|
---|
203 | boost::geometry::append(polygon, convert(-85.99316667,24.89283333));
|
---|
204 | boost::geometry::append(polygon, convert(-86.50116667,25.174));
|
---|
205 | boost::geometry::append(polygon, convert(-86.35233333,25.71916667));
|
---|
206 | boost::geometry::append(polygon, convert(-86.1075,26.21883333));
|
---|
207 | boost::geometry::append(polygon, convert(-86.21916667,26.45366667));
|
---|
208 | boost::geometry::append(polygon, convert(-86.61783333,26.55766667));
|
---|
209 | boost::geometry::append(polygon, convert(-87.48916667,26.02066667));
|
---|
210 | boost::geometry::append(polygon, convert(-88.55,25.70416667));
|
---|
211 | boost::geometry::append(polygon, convert(-90.49016667,25.77566667));
|
---|
212 | boost::geometry::append(polygon, convert(-90.78416667,25.73983333));
|
---|
213 | boost::geometry::append(polygon, convert(-91.875,25.85716667));
|
---|
214 | boost::geometry::append(polygon, convert(-93.05983333,26.29066667));
|
---|
215 | boost::geometry::append(polygon, convert(-93.55866667,25.9925));
|
---|
216 | boost::geometry::append(polygon, convert(-95.6545,26.00533333));
|
---|
217 | boost::geometry::append(polygon, convert(-96.805,26.0055));
|
---|
218 | boost::geometry::append(polygon, convert(-96.92133333,25.972));
|
---|
219 | boost::geometry::append(polygon, convert(-96.9735,25.96916667));
|
---|
220 | boost::geometry::append(polygon, convert(-97.02566667,25.95966667));
|
---|
221 | boost::geometry::append(polygon, convert(-97.08466667,25.95683333));
|
---|
222 | boost::geometry::append(polygon, convert(-97.13683333,25.954));
|
---|
223 | boost::geometry::append(polygon, convert(-97.14116667,25.954));
|
---|
224 | boost::geometry::append(polygon, convert(-97.81605295593207,27.01607612255437));
|
---|
225 | boost::geometry::append(polygon, convert(-91.76985060722265,35.3356681601088));
|
---|
226 | boost::geometry::append(polygon, convert(-84.89571294528193,41.0738644453726));
|
---|
227 | boost::geometry::append(polygon, convert(-70.34043050675062,54.64100005535186));
|
---|
228 | boost::geometry::append(polygon, convert(-64.156,60));
|
---|
229 | std::cout << "(-78.1239,25.9556) in polygon? " << boost::geometry::within(convert(-78.1239,25.9556),polygon) << std::endl;
|
---|
230 | std::cout << "(-78.1239,25.95) in polygon? " << boost::geometry::within(convert(-78.1239,25.95),polygon) << std::endl;
|
---|
231 | return 0;
|
---|
232 | }
|
---|