#include #include #include #include boost::geometry::model::point > convert(const double longitude, const double latitude); boost::geometry::model::point > convert(const double longitude, const double latitude) { return boost::geometry::model::point >(longitude,latitude); } typedef boost::geometry::model::point > PointType; int main() { boost::geometry::model::polygon polygon; boost::geometry::append(polygon, convert(-64.156,60)); boost::geometry::append(polygon, convert(-56.71666667,60)); boost::geometry::append(polygon, convert(-55.63416667,58.90016667)); boost::geometry::append(polygon, convert(-55.05783333,57.842)); boost::geometry::append(polygon, convert(-54.00983333,57.5855)); boost::geometry::append(polygon, convert(-53.12633333,57.23666667)); boost::geometry::append(polygon, convert(-52.38816667,56.8015)); boost::geometry::append(polygon, convert(-51.82366667,56.30216667)); boost::geometry::append(polygon, convert(-50.29066667,54.38683333)); boost::geometry::append(polygon, convert(-50.1195,53.74233333)); boost::geometry::append(polygon, convert(-50.1675,53.0765)); boost::geometry::append(polygon, convert(-49.9515,52.33433333)); boost::geometry::append(polygon, convert(-48.87416667,51.57)); boost::geometry::append(polygon, convert(-48.26733333,50.66916667)); boost::geometry::append(polygon, convert(-48.11716667,50.038)); boost::geometry::append(polygon, convert(-48.15583333,49.4005)); boost::geometry::append(polygon, convert(-47.9195,48.65366667)); boost::geometry::append(polygon, convert(-47.776,47.40416667)); boost::geometry::append(polygon, convert(-48.009,46.58533333)); boost::geometry::append(polygon, convert(-48.72133333,45.32416667)); boost::geometry::append(polygon, convert(-49.275,44.723)); boost::geometry::append(polygon, convert(-49.85383333,44.273)); boost::geometry::append(polygon, convert(-50.56683333,43.88583333)); boost::geometry::append(polygon, convert(-51.34016667,43.601)); boost::geometry::append(polygon, convert(-52.287,43.39316667)); boost::geometry::append(polygon, convert(-53.3355,43.325)); boost::geometry::append(polygon, convert(-54.15333333,43.35233333)); boost::geometry::append(polygon, convert(-55.1235,43.49016667)); boost::geometry::append(polygon, convert(-55.524,42.66866667)); boost::geometry::append(polygon, convert(-56.15566667,41.96983333)); boost::geometry::append(polygon, convert(-57.0855,41.33683333)); boost::geometry::append(polygon, convert(-58.0425,40.92233333)); boost::geometry::append(polygon, convert(-59.08633333,40.68966667)); boost::geometry::append(polygon, convert(-60.20333333,40.63883333)); boost::geometry::append(polygon, convert(-61.23383333,40.75766667)); boost::geometry::append(polygon, convert(-62.2915,41.07533333)); boost::geometry::append(polygon, convert(-63.17483333,40.60916667)); boost::geometry::append(polygon, convert(-64.1395,40.28866667)); boost::geometry::append(polygon, convert(-64.9885,40.12433333)); boost::geometry::append(polygon, convert(-65.8845,40.09066667)); boost::geometry::append(polygon, convert(-65.99183333,39.9675)); boost::geometry::append(polygon, convert(-66.35233333,39.47066667)); boost::geometry::append(polygon, convert(-66.8055,39.02566667)); boost::geometry::append(polygon, convert(-67.34316667,38.65266667)); boost::geometry::append(polygon, convert(-68.0335,38.32)); boost::geometry::append(polygon, convert(-68.77583333,38.08816667)); boost::geometry::append(polygon, convert(-69.56783333,37.969)); boost::geometry::append(polygon, convert(-70.4015,37.95783333)); boost::geometry::append(polygon, convert(-70.625,37.87433333)); boost::geometry::append(polygon, convert(-71.13883333,37.30616667)); boost::geometry::append(polygon, convert(-71.55983333,36.5375)); boost::geometry::append(polygon, convert(-71.43366667,35.57633333)); boost::geometry::append(polygon, convert(-71.61733333,34.55166667)); boost::geometry::append(polygon, convert(-71.8725,33.90816667)); boost::geometry::append(polygon, convert(-72.28533333,33.3205)); boost::geometry::append(polygon, convert(-72.90083333,32.75516667)); boost::geometry::append(polygon, convert(-74.20033333,31.91883333)); boost::geometry::append(polygon, convert(-75.25333333,31.45233333)); boost::geometry::append(polygon, convert(-75.853,31.05266667)); boost::geometry::append(polygon, convert(-76.523,30.757)); boost::geometry::append(polygon, convert(-77.30483333,30.208)); boost::geometry::append(polygon, convert(-76.94033333,29.4195)); boost::geometry::append(polygon, convert(-76.79333333,28.60983333)); boost::geometry::append(polygon, convert(-76.66833333,28.2855)); boost::geometry::append(polygon, convert(-79.18716667,28.28533333)); boost::geometry::append(polygon, convert(-79.4725,27.876)); boost::geometry::append(polygon, convert(-79.523,27.4335)); boost::geometry::append(polygon, convert(-79.56966667,27.26883333)); boost::geometry::append(polygon, convert(-79.576,27.19233333)); boost::geometry::append(polygon, convert(-79.5865,27.09316667)); boost::geometry::append(polygon, convert(-79.58616667,27.00466667)); boost::geometry::append(polygon, convert(-79.57316667,26.91933333)); boost::geometry::append(polygon, convert(-79.57116667,26.893)); boost::geometry::append(polygon, convert(-79.54016667,26.75766667)); boost::geometry::append(polygon, convert(-79.53716667,26.73833333)); boost::geometry::append(polygon, convert(-79.53666667,26.72333333)); boost::geometry::append(polygon, convert(-79.5335,26.68533333)); boost::geometry::append(polygon, convert(-79.522,26.6355)); boost::geometry::append(polygon, convert(-79.51766667,26.605)); boost::geometry::append(polygon, convert(-79.50833333,26.58683333)); boost::geometry::append(polygon, convert(-79.50766667,26.57516667)); boost::geometry::append(polygon, convert(-79.50633333,26.5685)); boost::geometry::append(polygon, convert(-79.5025,26.51866667)); boost::geometry::append(polygon, convert(-79.49216667,26.48416667)); boost::geometry::append(polygon, convert(-79.493,26.42183333)); boost::geometry::append(polygon, convert(-79.4925,26.38816667)); boost::geometry::append(polygon, convert(-79.49233333,26.38683333)); boost::geometry::append(polygon, convert(-79.52583333,26.3095)); boost::geometry::append(polygon, convert(-79.55283333,26.25433333)); boost::geometry::append(polygon, convert(-79.55383333,26.25216667)); boost::geometry::append(polygon, convert(-79.59216667,26.13483333)); boost::geometry::append(polygon, convert(-79.6015,26.1245)); boost::geometry::append(polygon, convert(-79.60583333,26.10983333)); boost::geometry::append(polygon, convert(-79.637,26.042)); boost::geometry::append(polygon, convert(-79.66716667,25.98833333)); boost::geometry::append(polygon, convert(-79.668,25.986)); boost::geometry::append(polygon, convert(-79.673,25.958)); boost::geometry::append(polygon, convert(-79.68433333,25.93633333)); boost::geometry::append(polygon, convert(-79.68966667,25.90066667)); boost::geometry::append(polygon, convert(-79.691,25.88733333)); boost::geometry::append(polygon, convert(-79.69316667,25.859)); boost::geometry::append(polygon, convert(-79.70266667,25.82216667)); boost::geometry::append(polygon, convert(-79.70383333,25.804)); boost::geometry::append(polygon, convert(-79.704,25.80333333)); boost::geometry::append(polygon, convert(-79.70733333,25.771)); boost::geometry::append(polygon, convert(-79.7075,25.76933333)); boost::geometry::append(polygon, convert(-79.70983333,25.72333333)); boost::geometry::append(polygon, convert(-79.708,25.70516667)); boost::geometry::append(polygon, convert(-79.7045,25.67283333)); boost::geometry::append(polygon, convert(-79.7045,25.62066667)); boost::geometry::append(polygon, convert(-79.7045,25.618)); boost::geometry::append(polygon, convert(-79.702,25.51716667)); boost::geometry::append(polygon, convert(-79.70183333,25.45983333)); boost::geometry::append(polygon, convert(-79.702,25.40066667)); boost::geometry::append(polygon, convert(-79.70333333,25.37016667)); boost::geometry::append(polygon, convert(-79.70133333,25.35483333)); boost::geometry::append(polygon, convert(-79.68733333,25.27533333)); boost::geometry::append(polygon, convert(-79.6885,25.2595)); boost::geometry::append(polygon, convert(-79.6885,25.17316667)); boost::geometry::append(polygon, convert(-79.68933333,25.1585)); boost::geometry::append(polygon, convert(-79.69083333,25.1505)); boost::geometry::append(polygon, convert(-79.70483333,25.05916667)); boost::geometry::append(polygon, convert(-79.70933333,25.04333333)); boost::geometry::append(polygon, convert(-79.73416667,25.005)); boost::geometry::append(polygon, convert(-79.74133333,24.98383333)); boost::geometry::append(polygon, convert(-79.7595,24.92133333)); boost::geometry::append(polygon, convert(-79.82066667,24.73633333)); boost::geometry::append(polygon, convert(-79.823,24.71733333)); boost::geometry::append(polygon, convert(-79.84166667,24.706)); boost::geometry::append(polygon, convert(-79.87616667,24.69116667)); boost::geometry::append(polygon, convert(-79.993,24.63866667)); boost::geometry::append(polygon, convert(-80.0585,24.6045)); boost::geometry::append(polygon, convert(-80.20716667,24.553)); boost::geometry::append(polygon, convert(-80.22016667,24.55083333)); boost::geometry::append(polygon, convert(-80.25266667,24.5355)); boost::geometry::append(polygon, convert(-80.27583333,24.52116667)); boost::geometry::append(polygon, convert(-80.29116667,24.5095)); boost::geometry::append(polygon, convert(-80.32016667,24.50233333)); boost::geometry::append(polygon, convert(-80.324,24.501)); boost::geometry::append(polygon, convert(-80.35083333,24.48966667)); boost::geometry::append(polygon, convert(-80.40583333,24.46966667)); boost::geometry::append(polygon, convert(-80.41833333,24.46766667)); boost::geometry::append(polygon, convert(-80.45333333,24.45383333)); boost::geometry::append(polygon, convert(-80.48833333,24.43833333)); boost::geometry::append(polygon, convert(-80.537,24.41783333)); boost::geometry::append(polygon, convert(-80.6015,24.38833333)); boost::geometry::append(polygon, convert(-80.64266667,24.37216667)); boost::geometry::append(polygon, convert(-80.6585,24.36783333)); boost::geometry::append(polygon, convert(-80.7535,24.32183333)); boost::geometry::append(polygon, convert(-80.75783333,24.31933333)); boost::geometry::append(polygon, convert(-80.77483333,24.30633333)); boost::geometry::append(polygon, convert(-80.77566667,24.30583333)); boost::geometry::append(polygon, convert(-80.99116667,24.1585)); boost::geometry::append(polygon, convert(-80.99183333,24.158)); boost::geometry::append(polygon, convert(-81.01783333,24.143)); boost::geometry::append(polygon, convert(-81.02516667,24.13833333)); boost::geometry::append(polygon, convert(-81.02616667,24.13766667)); boost::geometry::append(polygon, convert(-81.051,24.12133333)); boost::geometry::append(polygon, convert(-81.15083333,24.03666667)); boost::geometry::append(polygon, convert(-81.186,23.99333333)); boost::geometry::append(polygon, convert(-81.20916667,23.922)); boost::geometry::append(polygon, convert(-81.32383333,23.892)); boost::geometry::append(polygon, convert(-81.49316667,23.842)); boost::geometry::append(polygon, convert(-81.65983333,23.83366667)); boost::geometry::append(polygon, convert(-81.8265,23.8175)); boost::geometry::append(polygon, convert(-82.00183333,23.8175)); boost::geometry::append(polygon, convert(-82.15983333,23.82366667)); boost::geometry::append(polygon, convert(-82.40983333,23.85233333)); boost::geometry::append(polygon, convert(-82.65983333,23.85233333)); boost::geometry::append(polygon, convert(-82.80883333,23.82366667)); boost::geometry::append(polygon, convert(-82.85183333,23.822)); boost::geometry::append(polygon, convert(-82.99316667,23.82066667)); boost::geometry::append(polygon, convert(-83.24316667,23.82533333)); boost::geometry::append(polygon, convert(-83.42483333,23.85366667)); boost::geometry::append(polygon, convert(-83.55016667,23.87116667)); boost::geometry::append(polygon, convert(-83.68916667,23.90066667)); boost::geometry::append(polygon, convert(-83.80183333,23.9245)); boost::geometry::append(polygon, convert(-83.99316667,23.973)); boost::geometry::append(polygon, convert(-84.48783333,24.15616667)); boost::geometry::append(polygon, convert(-84.63983333,24.22)); boost::geometry::append(polygon, convert(-84.76783333,24.2735)); boost::geometry::append(polygon, convert(-84.99316667,24.38833333)); boost::geometry::append(polygon, convert(-85.10316667,24.4395)); boost::geometry::append(polygon, convert(-85.52566667,24.64283333)); boost::geometry::append(polygon, convert(-85.7185,24.73616667)); boost::geometry::append(polygon, convert(-85.99316667,24.89283333)); boost::geometry::append(polygon, convert(-86.50116667,25.174)); boost::geometry::append(polygon, convert(-86.35233333,25.71916667)); boost::geometry::append(polygon, convert(-86.1075,26.21883333)); boost::geometry::append(polygon, convert(-86.21916667,26.45366667)); boost::geometry::append(polygon, convert(-86.61783333,26.55766667)); boost::geometry::append(polygon, convert(-87.48916667,26.02066667)); boost::geometry::append(polygon, convert(-88.55,25.70416667)); boost::geometry::append(polygon, convert(-90.49016667,25.77566667)); boost::geometry::append(polygon, convert(-90.78416667,25.73983333)); boost::geometry::append(polygon, convert(-91.875,25.85716667)); boost::geometry::append(polygon, convert(-93.05983333,26.29066667)); boost::geometry::append(polygon, convert(-93.55866667,25.9925)); boost::geometry::append(polygon, convert(-95.6545,26.00533333)); boost::geometry::append(polygon, convert(-96.805,26.0055)); boost::geometry::append(polygon, convert(-96.92133333,25.972)); boost::geometry::append(polygon, convert(-96.9735,25.96916667)); boost::geometry::append(polygon, convert(-97.02566667,25.95966667)); boost::geometry::append(polygon, convert(-97.08466667,25.95683333)); boost::geometry::append(polygon, convert(-97.13683333,25.954)); boost::geometry::append(polygon, convert(-97.14116667,25.954)); boost::geometry::append(polygon, convert(-97.81605295593207,27.01607612255437)); boost::geometry::append(polygon, convert(-91.76985060722265,35.3356681601088)); boost::geometry::append(polygon, convert(-84.89571294528193,41.0738644453726)); boost::geometry::append(polygon, convert(-70.34043050675062,54.64100005535186)); boost::geometry::append(polygon, convert(-64.156,60)); std::cout << "(-78.1239,25.9556) in polygon? " << boost::geometry::within(convert(-78.1239,25.9556),polygon) << std::endl; std::cout << "(-78.1239,25.95) in polygon? " << boost::geometry::within(convert(-78.1239,25.95),polygon) << std::endl; return 0; }