diff --git a/test/data/fk5_to_galactic.txt b/test/data/fk5_to_galactic.txt new file mode 100644 index 0000000..3dd0b4b --- /dev/null +++ b/test/data/fk5_to_galactic.txt @@ -0,0 +1,1000 @@ + 91.648275177321636 -16.891145694724017 + 193.014811515165576 20.835035229195682 + 163.329974481304532 -8.619845041536204 + 140.519975059463690 16.620714858705881 + 103.866576390748676 66.361810798698315 + 0.921795859878524 64.980921694513412 + 27.680742039803366 -67.197593695591507 + 8.623578796615892 42.460694576629031 + 34.066164260318871 15.361828207627468 + 99.298485699311797 43.897127889205962 + 20.884660553616303 9.122395999088837 + 111.114660057932042 2.619009873586890 + 106.520906080246732 -53.242522872567015 + 136.651270749871685 -3.545208247395951 + 226.984046211219322 -2.021013061905196 + 320.020860112243440 -8.035059673090434 + 78.113697837652140 13.637732754205359 + 73.848964761941772 -10.043005756854287 + 82.335533353851716 -48.692014681693102 + 35.515413802334905 25.836355423334201 + 69.407866640680680 55.282248533622010 + 80.519918190128408 35.936596449023696 + 263.794427941506626 49.165413383871481 + 265.780828428010068 -13.211316907729774 + 177.865151977115744 58.441274866662120 + 73.192856913765496 32.866704643882514 + 15.584916360994253 -76.456557649662088 + 6.883293816928832 30.874258981604541 + 48.645229168288033 5.941545767727909 + 207.117261016604544 -42.959065048234343 + 89.449303401912132 -84.651705836434729 + 82.708294877749026 17.963529512964254 + 66.868340073719537 -29.579479456647917 + 120.246883319773318 -13.793111327066462 + 295.528442575063650 0.145641319537373 + 288.285416968204629 76.836283952532412 + 79.790207566583788 66.425338616586501 + 131.859212506040876 -50.125163057131786 + 71.988487734663607 -21.463245278518798 + 46.322864103522015 27.983247160096994 + 94.655962718874861 18.805411367918332 + 142.712117807697581 65.143181735482855 + 357.138738901170939 -23.792022190456706 + 148.681294900389190 -37.446077207968912 + 280.056200686659054 -33.697882874565082 + 177.082594649880349 8.196749995220383 + 177.297356739930109 66.656718312490128 + 278.899481708175188 22.374668020945126 + 21.787464900206484 25.327790609068945 + 163.518458111976599 -11.190399166826618 + 299.483726474985815 63.507733127511734 + 131.327387400339887 19.630164938268027 + 27.484820493872540 4.040345394939878 + 56.899328822080939 -47.006543508842995 + 82.397705395390901 61.610889506157974 + 146.061412077242863 -1.883567690667298 + 240.637582866135915 72.121532224167055 + 185.392887150426958 41.461014156143726 + 308.559996860524336 -29.066661412160499 + 72.441002506004352 -28.592443675746644 + 181.259121431999660 43.432886394890772 + 278.377255109158966 -20.687851044509863 + 338.837350573471099 70.013844450026554 + 240.198801162721594 -43.242095201576475 + 191.167612596960879 -55.437065840103955 + 358.387574927603907 20.071076758422045 + 103.564019571030741 24.263953143841022 + 38.356351725769379 77.906729492517258 + 114.955721927966337 7.458752843031630 + 6.648430287511249 49.975840917564533 + 7.303190945832472 -44.545012272551922 + 290.913919444975875 21.942737713071566 + 198.422420994839626 31.231464945750631 + 71.526569381357362 36.610160061424558 + 244.784059049605901 77.317973235901732 + 218.068496325433699 -26.087739057855703 + 258.859717242795057 -29.798956571316783 + 46.650147516739743 4.170202008335265 + 290.695893484799228 22.474056285255195 + 11.487034103051634 -52.265685955031422 + 31.390967142043866 -60.605557543083805 + 171.766667651992776 88.947474324654564 + 208.184310587921630 -11.024988023066605 + 99.405619936126485 33.559342424991499 + 209.119332093459235 33.674123863735865 + 291.169434298241924 24.887045316025478 + 229.265258464831049 -29.436874840965903 + 239.210616371963710 12.990438876437473 + 321.205909960033011 -5.003046519308306 + 241.815495543217310 -4.437630775803660 + 19.756597403019761 0.024207288332590 + 45.156852072741678 7.704853843300929 + 57.175395917642007 -13.816929552762556 + 116.217897051232939 16.134175579534368 + 143.747628721407040 -19.183807000417655 + 32.091931718821293 -48.519389555987075 + 272.006384539746421 -14.065555505083424 + 68.351430330232560 3.307075437949123 + 57.276785497824093 -33.495892477385802 + 126.450867049709942 -46.583699605122646 + 277.001986334101559 -37.677173222520956 + 188.194683843916295 15.149836131719013 + 89.652236079296713 54.126971041132734 + 144.203261150396287 -37.371400377390557 + 248.610976164683620 -55.261659228315693 + 295.313331770983837 34.125304927495520 + 10.832757882443303 27.835146028969820 + 69.559787485508423 -7.120856189422779 + 14.203573223575715 47.599500366506206 + 45.595092169751481 75.285283725468290 + 335.935324128679611 -6.828519451766959 + 160.497867483567546 14.608408694743709 + 11.614946395845148 -47.792007679389926 + 264.114716016810462 33.406429150904955 + 87.940204772716854 -80.989821733292999 + 41.031423545449179 -64.275245881627683 + 70.902141940365127 52.452570712021867 + 290.466243408699256 50.259304123595811 + 355.471433971874774 20.084417061113321 + 290.313025090871520 17.855405196663575 + 85.191822589286531 -23.480286667658913 + 290.929924944856509 53.740606765205008 + 141.816138838492975 -47.090032348297370 + 309.878197750539869 9.241637570968173 + 6.394827931865840 58.197461069493585 + 5.429278576055284 -59.820439613118594 + 224.464856458288978 46.793985040299162 + 189.367088396002572 3.792737539299195 + 136.870530836298485 -9.419391987667181 + 220.951798628019219 73.434723803538660 + 142.796001749047292 51.988426425070458 + 109.331557046449689 -81.322902653523784 + 33.763458349794028 36.308459753810688 + 47.233618784007859 32.157523915422630 + 354.696166676342159 0.364329509099317 + 183.991895800258249 51.938988034844868 + 328.171102777257147 -76.421608521835083 + 18.937227674840678 -49.970407495527986 + 15.632183607622091 -10.038383983457431 + 160.009994633712211 -13.038668962082079 + 209.305023472509731 12.678413024288776 + 9.783397195715395 61.202772856130863 + 284.055082594885562 -16.097400445158463 + 138.469797430612090 9.892014189799065 + 176.017160887304271 -22.808218217992316 + 102.431275508016171 14.387871590015793 + 246.921258584307424 -14.617836075832582 + 344.970681205911262 62.995485821040518 + 275.783957947387364 24.379428713673082 + 268.915682922584892 11.724019737932542 + 344.751303099400502 -42.121963664985003 + 333.409836538928346 -3.694148294313329 + 254.660720394085530 -20.556577201480678 + 167.748658821491887 -75.888110385244772 + 221.293309807527947 -36.938407880278440 + 40.442043720575171 -54.213517626014053 + 29.168828286781824 -28.811326271746619 + 347.779697287942611 -60.723557937977795 + 134.334765000707847 -58.449040801971073 + 108.627264912449618 55.968514876308994 + 129.867542227296866 41.470401559926998 + 306.950257413389352 -54.522850888961919 + 255.921554316673820 8.930919026938861 + 177.982833233379239 51.437080372150199 + 91.324391275989896 59.909031515004685 + 344.144493469188092 14.508967415817322 + 6.187518558874029 -30.056050516745984 + 319.571453959114763 -25.564799453326152 + 223.233490223148323 41.436816233648685 + 77.622380383158983 17.540071808361631 + 84.949962506658778 -8.500548584812210 + 163.408295070359770 15.775192366022365 + 107.692168526730484 -25.970772463573915 + 29.250878157828808 -28.365012723144392 + 81.255533271014556 32.929223332473050 + 271.416150014389473 -9.151092265924550 + 70.202408189250022 -17.678692246656013 + 33.498763416629110 -32.348120625122391 + 95.386223381848666 -26.176838081924281 + 109.159049029919643 -34.130041066463534 + 119.697487946046095 -0.686475017997949 + 226.693628670357754 4.266310071719857 + 74.747825398287034 -70.887770454179105 + 205.474395459200878 -50.835030909607035 + 240.479208934182992 -49.068436746966825 + 13.768740126085905 0.838686721174655 + 273.657867915295128 -71.532546825339438 + 354.758408455531026 9.689429876278554 + 287.582593700035432 9.937865348884340 + 306.915412970370483 -44.812766418448525 + 83.943937472866651 24.070994767027077 + 75.939284387334226 16.995617461388132 + 163.000552913743292 -23.767206723862820 + 309.563038171108587 -65.790087599866339 + 6.672546759884986 -4.334099405944504 + 246.074502706820056 -33.691477207647551 + 290.220252734022097 -28.219724115439451 + 178.502660003032020 63.488610082733921 + 172.219794602980272 7.932645589545031 + 316.773710416723759 38.590325643565826 + 324.702919939778951 -32.802533678671253 + 243.706826871893725 20.351723237241252 + 272.921143292305146 16.566929548114715 + 37.815591079710423 -16.497609854804061 + 165.528999630095228 39.678139496064347 + 130.107156216111662 -76.332753403554676 + 307.351508945617582 12.019423850561759 + 235.316339505492181 57.587065662102532 + 18.722596594952396 17.161820662986628 + 242.807558501217898 21.146230628505052 + 345.403313531537037 -33.053891069994265 + 148.841458969078843 57.479522958965219 + 107.833656696697417 65.637037003875434 + 343.444946253064018 18.573767667498000 + 292.232597431414490 -4.811507994489455 + 85.392139255310823 56.606269674432347 + 248.370616586654052 -34.423963314148565 + 37.460457298526386 23.111049317932910 + 209.976692454163214 38.623203247977806 + 194.462663343451197 -27.581759002475035 + 182.951266239106417 9.466965412284447 + 219.634332458908347 -17.758843081660181 + 163.327476442000318 -22.833844491302074 + 322.218909399390668 -24.229971470047609 + 187.303599033607753 1.507335340745800 + 238.928506866909089 -60.623072658107581 + 339.916430230639151 12.949947163579198 + 145.808997466767238 42.628010384527144 + 10.169013546604978 36.867823519437287 + 332.885153128185550 7.041970158474023 + 193.430109144039506 16.831784998852072 + 209.307338915214871 -32.046701351370977 + 192.685032091754067 -15.037048817137107 + 179.543482729494201 -52.886754337649705 + 123.780727738991075 -53.413393477289368 + 303.348262051810423 -53.061002148975511 + 250.819011215977326 -32.428155996860596 + 207.734906315016957 -20.573882986738091 + 48.794909760104282 61.767617483763679 + 65.320649991081936 -25.606717845204081 + 55.354152236399258 13.200250246034509 + 358.129283463480874 5.813437745070785 + 234.353411288644054 -1.336518049283636 + 234.358474985005017 20.076538893771552 + 145.671940896753171 11.214423578687619 + 34.174763005655251 -56.837955091030807 + 15.795113249998133 81.064028640089617 + 327.646446490578057 -29.242181196288829 + 240.279802937052466 10.377601743804602 + 92.167453243370872 21.285166979059383 + 167.503301073266471 -53.590824771952406 + 39.385343027231905 31.556395470006631 + 26.004641920204040 -51.908251613025648 + 69.975209238124975 11.725562706728462 + 149.135046052184379 30.613629245648394 + 214.216521758919754 -12.967143336205153 + 287.494561237808568 33.005692462891787 + 232.536256803267349 42.791382578034941 + 177.759556523659398 54.351699536545702 + 292.844401352378043 -52.403237304922911 + 321.393745163632275 16.690284304214369 + 327.488812311560025 -19.326948749090132 + 312.389699584380651 -27.436651562873784 + 243.165681881356733 22.231394299846041 + 103.813428650713519 24.588686569548116 + 284.989960667218440 18.134253542686238 + 44.279399238729908 29.768218868884667 + 189.515320525187292 -27.088619312769829 + 265.326102232487472 27.651564356510690 + 343.773358972123958 -29.476094618863360 + 316.746545300283231 -29.570889414824325 + 199.621368151471444 -32.505325205150079 + 120.710364178451670 3.978882364078296 + 27.411324981129070 30.375248594306139 + 244.303610615540265 7.066088003959380 + 231.324335636106042 45.825609685129642 + 47.018890057083468 13.816782816321290 + 87.411426633278680 -42.249428052291627 + 51.225473936268784 -34.476549886039912 + 292.673661110324190 -38.040432511143365 + 359.133276816076602 -19.597589872750554 + 79.711570903431920 43.821157158008774 + 299.187301856674935 57.145434621865896 + 17.426380225060960 -36.297591837273238 + 37.937024825649431 15.445504936286483 + 157.273109708097707 -51.451176112286127 + 153.289417730072500 31.053555450889434 + 146.449023503288089 42.845514598815043 + 103.470357126929301 -50.284490057393597 + 320.450493201365248 18.654267887071335 + 349.307262776846187 14.707387860186348 + 284.348378147814799 -16.020588858480526 + 240.632568667430718 30.670296823495956 + 288.508859209307673 11.640150416279083 + 3.120854571765642 71.974072889223876 + 298.827129433521407 -31.786007258713671 + 56.205684614282831 -76.739903402671189 + 288.007626826202056 47.977652482311818 + 285.068399982279914 37.505226641690292 + 220.563261082765166 -40.856099710631604 + 239.324579896949587 -9.207222662752889 + 86.343522383380801 19.668307829963613 + 227.382120705344079 -3.768163085539187 + 3.665825202469823 19.775734275208563 + 203.870726479756996 -0.485410282444519 + 353.921511331375655 -50.559014889118387 + 133.067363601671929 27.488521679955166 + 39.156279692045409 -38.702954657786833 + 94.000389830413368 -22.789410918563291 + 256.004780759330401 -47.472366529368983 + 271.217584154536439 -8.055976006012401 + 350.004879925761315 15.496471044404746 + 77.522712591100799 -29.059872908184033 + 211.244349092782045 -53.601699659138724 + 297.630814343333668 -37.001373489248550 + 268.757543063233697 12.095511758967069 + 357.564165032492838 -68.856325109216073 + 247.098866588092534 -87.784647697004871 + 228.585112161060891 -42.364304743745691 + 65.656587711621810 65.455941302065867 + 134.970767315493617 -11.185791310904156 + 202.452359198601869 17.120828720445395 + 15.117160268185584 62.992074463080172 + 246.818024419847006 -39.812839672425454 + 20.723942794420072 32.054091870470351 + 219.095773737877096 -19.291909537921121 + 46.721391519808897 44.198379289480769 + 148.914169187305873 63.234134232937741 + 242.176110786429575 -22.146640045622295 + 238.828947642060740 -13.642001084805436 + 68.316228670172634 -29.277241198140686 + 212.907830897684278 -3.982060014655837 + 28.524148450458991 -24.041887869051319 + 231.089193957970821 -39.713583361701176 + 239.710492008058253 3.413996337843261 + 101.534254430441180 -10.045973241358130 + 157.280655262042870 75.206928282741245 + 240.343726443398481 33.978894515192074 + 120.764656360626233 -15.015003802031398 + 86.756184757380709 56.629538489203370 + 186.609922216268501 32.533386990022890 + 255.841286174732062 -21.554414158053508 + 139.534395866710867 -52.287905660326061 + 272.234719214417225 -14.545635710351506 + 137.786019079938001 -42.568635341228848 + 92.437722131391965 -67.082846452070697 + 149.607143441629262 -86.144172323810182 + 227.342783618837387 18.219113389493295 + 129.874572593098151 7.987868907253866 + 244.639751162013198 84.038083181028782 + 281.010675446716732 -33.924894110601180 + 115.874637825662290 1.291273667154669 + 165.870610677992261 15.936319457272329 + 333.794516817586214 0.602142141703379 + 296.018493504528351 60.403780101719256 + 292.942803284424542 -12.454418916179105 + 72.469740482872822 49.807361759122870 + 258.352465030060500 -55.663844209305992 + 33.434997013597645 -0.603113947335094 + 224.088289642591690 -57.538929478969941 + 322.301326516587437 2.805013622373986 + 243.909888083230811 -36.215892175981018 + 70.493962802681850 -84.873729590836561 + 72.633739193997783 59.038431182694566 + 12.850477435285903 49.221559618294577 + 13.989462893452444 49.707726738695591 + 23.963582354670642 -34.218722802921633 + 157.315995745702509 32.437936728474902 + 249.670720287417197 30.822452252531860 + 321.072496908230278 11.531150210739222 + 95.437895048520232 -17.226408164203690 + 145.878234946584627 -0.952160386672641 + 196.039248446265702 -33.005392819652933 + 281.518226031460699 -42.643383613779733 + 69.736434692036696 36.886790786072822 + 61.107014040154034 -44.730073096237895 + 258.338076711222357 28.922715935838369 + 306.054367704120466 27.350885182160042 + 222.576083161085847 9.870310023222274 + 144.996708517142991 3.013756431114629 + 79.938206473320960 39.084317978839607 + 16.633920143160726 13.934098227482172 + 116.903513705021879 15.591956423036443 + 171.813733615575018 39.891630930297119 + 24.863512899127048 23.905974293994220 + 101.484855783780276 -38.548674484807229 + 301.070512800248082 -30.270200143187974 + 357.125838296883273 -8.011939292382158 + 250.411726368394397 -51.106993819125833 + 46.571671382911887 -5.288215241342038 + 100.954104040534247 76.289844276483350 + 65.033590838601015 73.941489277538736 + 67.303430912966121 -44.839934132461387 + 169.601816257481232 55.524809560381613 + 247.529509116316945 70.200151071528424 + 94.943193791897542 43.381782751443424 + 322.842487560381585 4.896229043620506 + 289.683528882602957 -41.356470513172461 + 254.926116876093488 2.188087915977253 + 115.125442861872827 35.728459923916013 + 333.794183988880093 -47.180048317883909 + 152.506742820228880 -47.159105746539531 + 132.717335386801807 -18.799866228883896 + 271.089559631419490 10.218787832634828 + 204.147952308612702 -23.987527496690610 + 284.352256207899529 71.894897815539551 + 330.351097245129722 72.299816207577024 + 149.032785732656805 58.992298311687406 + 238.583232998291095 -34.885681657958443 + 161.142709276380145 11.010303087185285 + 193.536987461860434 -17.762133337202663 + 19.104836089703682 46.119109077685721 + 102.899808530255385 18.111795770015366 + 92.737373125915752 -15.816250268262763 + 331.507030212981419 -26.534221463312605 + 28.641905416332872 39.717648745078478 + 127.650529478687147 24.747489284251511 + 77.198321069388356 30.380606596191086 + 20.924396640454166 30.090623054372912 + 282.287206096464331 -11.663483607470575 + 65.925770452573104 -7.102076639812812 + 207.689633555183775 87.556187092327278 + 343.082602350073898 -44.141432693000795 + 346.210184954099020 -28.562318658401605 + 269.840091997618117 -33.404064268504264 + 25.323272585133122 -17.540295806322753 + 239.654043482615464 -57.357789183818518 + 275.518821484140631 45.933114382350915 + 264.721693720806172 -50.433806246029292 + 287.257427807094871 0.148683782707259 + 352.212554834555078 24.848998485091762 + 0.013204414583969 -16.597409102393570 + 67.020001351872409 50.255962648806346 + 330.753568464678835 -10.713667318158246 + 9.790953310951327 -44.248061128734818 + 143.801781140712876 -1.773615318901642 + 161.563041129180903 -23.166866498785080 + 266.982398336466929 -13.737558938440685 + 118.490702478970633 -72.057177007065960 + 0.572186636010894 21.648801963408975 + 70.765007098806649 23.363415234686070 + 164.866068285349201 35.072746072504032 + 80.069523417493343 60.394593909897758 + 342.391021046812511 -60.254876738015611 + 275.364653634809031 -23.593469060560682 + 15.057849706644785 31.379294422048691 + 126.032255937026221 -44.240966171463690 + 265.813661116585934 -77.194977032572211 + 0.044235163164101 -24.231597292281442 + 233.820801817511551 51.989521916677091 + 258.624430018051271 14.190981166039837 + 256.768598341078473 -6.831057548933424 + 237.049374965159188 59.697330972213344 + 13.677334156966653 -27.062593081653134 + 166.723830692329244 64.007026071034943 + 167.918147352278822 51.779305741110775 + 338.412481468934914 68.113125981743224 + 8.026808443893209 5.251859496915580 + 286.441797372688939 -72.120723505627566 + 19.093674437029016 58.532557397889150 + 335.649310454583201 30.576925867543125 + 112.681243367699622 -21.839357494220412 + 320.127265679904838 14.051738450057575 + 125.336154062134653 -49.429226379440735 + 317.521259218444584 20.540180968129985 + 280.117861065815418 13.510744223350599 + 150.756630946381819 34.680901911471466 + 99.408289381282131 -7.402030499769720 + 221.170674959569709 -11.475906957780849 + 214.056374187247116 -2.363306040222752 + 293.155813976395564 25.086287266535994 + 63.523920076233274 54.727908332165200 + 344.732900207329237 -64.623671272271693 + 123.830084822232322 -86.749529611711992 + 243.031707985355837 41.377731569790484 + 321.502833692637694 29.142168262070559 + 42.224322160141313 25.372127259543515 + 197.513192606022614 -37.316979645232166 + 295.421154584869100 22.417800863236792 + 290.552027545173303 29.403691400267647 + 317.834414363528992 -35.952315378966418 + 250.741185957857084 16.979333184433930 + 1.002066122247276 33.316588826451046 + 300.667722953690259 -48.939924570753945 + 46.163857072003978 19.704408748757196 + 202.650262745915512 36.026900581806039 + 71.275158731572617 -48.146654783891918 + 240.788536010959263 9.359385513934233 + 22.107336298448018 35.947036830082631 + 14.068933278597923 -23.312482246433866 + 263.318580744588303 61.418785150356996 + 354.159025550170156 -71.158074430038155 + 326.751495385852195 27.762099731342666 + 319.929087746890616 -23.539124318639519 + 6.478306140269300 27.218127915599073 + 0.801561518579312 -56.772170381201207 + 98.064866300985713 -17.925725157529296 + 76.297389563579443 -67.549645655811005 + 181.711587850239056 -51.103181236491366 + 60.511122634145146 -66.677336649067001 + 188.454713582067313 -9.517295785454724 + 176.907856863209588 -19.595311917138549 + 246.031729892554836 79.352355963463481 + 125.204278675331722 61.851002858463467 + 267.729488685064325 -23.325363848006823 + 246.344050951822908 -7.798375131877886 + 170.368796622663154 25.322291936142999 + 180.753855899984870 8.909412594838761 + 310.714472422685958 -6.083231976354935 + 209.804783143621307 -26.006504736506354 + 245.886088864878701 29.690784429329476 + 268.261263213641712 -22.291897569492356 + 254.328740728510184 -46.479432876752306 + 227.425853787022248 -29.205067243216341 + 341.801557451811732 -69.764137122292425 + 167.814075698834642 55.046169179781572 + 24.792149592692638 -20.636085696743692 + 317.261213950123818 34.412526330862200 + 329.447581282461272 5.829660159760096 + 53.744080820720406 29.575391374236155 + 243.153977530180214 26.598177452600297 + 170.196116442673173 45.166221410422594 + 81.407488658837153 0.625211563955030 + 62.073790406632469 5.625134092102444 + 79.925170433614426 6.913906130273754 + 181.048274753199962 -21.900525161262248 + 282.324968421571157 -15.725882718063872 + 139.081624360810679 54.117246888384294 + 80.022688051129151 -51.558611263471867 + 317.312890012441073 47.654575113515847 + 37.004197230562355 -14.832186749294452 + 152.582790188426799 -59.505764019437130 + 310.291880031399216 38.725874249986745 + 307.002169855721775 27.728583337423689 + 53.459183136403738 -38.835640447027231 + 280.200468520546849 -12.423636298842956 + 49.280211763936173 -39.064996196725424 + 261.720554081468208 -53.285701141899935 + 141.986470244998173 -21.132991597726260 + 62.423507888545082 -64.614314430527699 + 26.959614047099379 -59.934304792377119 + 316.169413090331659 12.010641381994832 + 298.312070619301153 -54.359137181327000 + 211.990901016364887 -85.370002639683761 + 235.071077189062294 3.796489890283286 + 149.535021191896760 37.866860883877983 + 54.467311761847284 18.294123405555514 + 346.382414365365207 -37.119218122402600 + 308.526148892818355 50.962553093343523 + 295.455489542696739 -25.280224684005006 + 199.347733716970453 48.921167169183924 + 134.224253629964664 3.631156742693189 + 192.165181372700033 -50.997245164688664 + 339.644239657181288 -13.320503772019979 + 11.692664203927855 -40.585552034047282 + 194.238822925342561 -0.931433332328703 + 83.969832071817152 42.380992337644862 + 219.537991533466396 26.364008263010838 + 82.789885426892681 -73.810740178308095 + 69.842145518297343 24.100451766706691 + 206.765925920624255 50.647463906067422 + 292.585924786379394 -23.797773334903763 + 202.090525030584473 2.467390791615188 + 46.461162492455792 71.848269006258533 + 291.064394433440725 -23.894645104155423 + 357.098631636122491 -57.536254650612506 + 144.540891493130914 -29.413027524308891 + 87.930486066431385 -1.931957355078271 + 107.998068026954243 62.270111432181885 + 166.195108103879164 -76.795291124824516 + 0.894062748466206 -41.027364915687272 + 159.521997723568262 8.079737212137093 + 66.151880059716689 11.299006117100882 + 24.146520151004836 -10.832595280275875 + 305.934124038324398 -62.179621427432927 + 321.819855419828002 4.435466786652480 + 79.205824873977392 63.999512591772586 + 137.595384804107937 -28.563347211376136 + 89.233275786286470 25.471889631651436 + 163.994463241499204 -28.094704378398713 + 279.628371682655597 23.918473800456567 + 290.543155627426813 -47.572253762894292 + 310.256771783054887 8.503724658460650 + 267.205501523046962 10.492094975094899 + 0.122597929147555 68.787000516766170 + 59.793304436882501 25.122488995216433 + 90.695897873107853 -1.425417565377257 + 285.110532965844413 -14.479760703932198 + 256.009639252988620 -17.498928084908837 + 231.053201969898396 80.854762294399663 + 301.411802664888626 48.225740495439908 + 240.824334632264737 -67.039882188433950 + 134.341668027633034 -71.300410742408587 + 21.567209357156823 59.944401580392807 + 86.664409410971189 14.409635382002204 + 267.540517319357889 -80.127006663481808 + 10.452305680247855 -15.428771759208633 + 185.989315970848565 -2.002368288406271 + 336.073663941756536 -26.475907416362944 + 174.559197883625302 21.162734278200350 + 219.439081434972877 67.171497018712188 + 62.296828707759779 -46.292483300745204 + 74.561037965178372 -26.076464227784449 + 284.674203884380347 -45.288640939226056 + 301.848362148044259 1.768943524035362 + 36.271361324022422 63.081680875023288 + 10.552620971627714 55.728704759578690 + 1.226513500725381 41.032929532424426 + 223.207113443043113 13.498493221191207 + 127.536061388954977 18.927410293377726 + 116.777376590803144 46.185913865837499 + 216.203976879296278 4.906203307947086 + 134.352049640007635 19.627955257622514 + 353.884570319578074 77.239753278434762 + 318.558047355595932 5.868539308308491 + 143.732695884684489 -80.722879448287415 + 93.824703800905525 -50.710333882355783 + 169.702679759872638 -55.352178610188091 + 208.071148548869076 47.650996348235317 + 25.512344338491989 44.487732267261315 + 167.544784927747116 -7.245438883735164 + 193.167007667178723 -7.200108073165656 + 329.897990846080631 20.575012729496329 + 56.133415329632015 6.683966400162177 + 308.078218830040498 52.153067920214582 + 177.652779197600239 -15.174576301607777 + 53.106244980347277 10.608262551475802 + 38.179499257678422 -8.894288411754754 + 20.743396121909921 24.226301136997005 + 71.215782481130006 -46.136699394525593 + 97.223142151507091 13.232960114758143 + 96.669292415456738 -29.300212430797703 + 268.885491284220052 41.639380800967132 + 255.507277982387421 65.167003758144034 + 342.821594350402222 60.805016703272962 + 77.519126958884215 -39.970998795798657 + 233.235085357066197 24.677982084027324 + 343.867070092339077 54.259993883825082 + 339.332173722588664 40.012757671103067 + 316.561738672660397 50.651405162199950 + 176.156488815415486 -51.657981156413122 + 224.729884073431975 41.738053580499134 + 202.195112052455499 -20.599935792249195 + 355.971610073341139 -17.873797248803179 + 69.114836717098413 23.126803636174103 + 215.164646509251497 -43.975244350348035 + 46.063232436595264 29.446973851833313 + 50.040454019383972 -48.450085968571784 + 275.733059544704645 40.250487238570550 + 353.717450212772917 -50.638425094849723 + 133.182456085672612 38.155174595214454 + 221.449972800184668 -80.337570145994889 + 280.238122652598975 -13.575033008997062 + 213.990598665425125 -38.172210345662549 + 188.209377397914722 -44.392694370179505 + 220.303485007553036 -32.224975736126211 + 359.142688906321837 -42.291211871483974 + 53.130544500001633 -2.187590839263746 + 353.502059559619511 43.143272400156214 + 111.790373491866390 6.295247604475590 + 161.429624993391457 -39.025897389851849 + 32.741878564968175 68.409097679603107 + 177.520234895976841 29.567422254099725 + 3.854293134766344 -25.349364443565563 + 352.953318815668467 28.456134874848154 + 271.057799032229070 14.245874657962190 + 4.095403689131417 12.042051595791200 + 194.359524298842359 -18.857415414290955 + 109.522522782953942 -59.341447984534462 + 203.396595281813859 2.869205844238282 + 330.920421535429568 36.700534057189181 + 243.910535004257525 58.346968010780330 + 346.369036761481027 1.256385296447158 + 155.645642076733424 -8.346384986224042 + 62.206761741373583 -49.773737019257489 + 28.714403044693729 -64.190742966264906 + 96.470426420913128 -42.992995443799209 + 282.756610888709133 -72.287523766832706 + 36.525314125589055 19.828782539865585 + 32.992193825556292 68.963420069609839 + 187.206604973974237 -69.609741988447979 + 102.211681884190639 -40.235743727566259 + 309.044624857096437 43.183256183720886 + 358.251501622882870 25.882495021814417 + 53.525196332909601 31.089673610428814 + 97.790869147925932 70.010980979967925 + 286.740953800463785 79.802714247503658 + 219.557715330999230 -52.948685352183439 + 144.653145795554138 19.489886165884730 + 265.358069417865863 11.989331506081633 + 130.068171711099524 -9.866637317048021 + 23.443545049366339 6.151698982179316 + 170.208453336914204 33.280432309635550 + 18.549469358566146 -75.215758522635511 + 114.110815300491808 20.623341996670689 + 47.992709873172117 -54.794789220683441 + 46.787007123025042 24.309131231268637 + 306.300177022766263 -59.648147681660554 + 287.627882542097723 -16.068361619470789 + 87.279395382503751 -74.822092255646453 + 265.593395293972151 -76.098804908450006 + 355.241831500997648 20.327398033703226 + 102.747972006967004 -36.378178531610011 + 43.263723491227502 48.316270218643545 + 265.764663676377495 17.170890185102881 + 130.046461538220342 -74.316200807662952 + 15.429192991124065 -45.691775334896143 + 39.620006090637013 33.563357848641857 + 256.865760950144704 61.131062756986708 + 172.838552410517138 -4.301770069774459 + 197.133096276780918 -74.022928112152286 + 78.443198216104321 46.072552511415687 + 343.768705915182068 -72.546209494941706 + 6.164891304734431 67.452298528875147 + 52.264815265531844 -11.752825043323154 + 198.012382380438538 -46.801699006738474 + 342.374956486889516 -40.408881171356832 + 308.304322838769394 52.954291999881541 + 118.604231184669629 14.632386576742077 + 353.125103196409555 -2.715760838832414 + 272.513522836395964 -62.865922837613290 + 191.717663341153440 12.855918656955858 + 219.428942700948596 -8.365591894253136 + 194.540718293475578 -77.595063072306999 + 325.927489605609935 -7.297398089211763 + 241.029630061233433 -32.657793551117003 + 17.285755093466019 84.680255555284205 + 35.238385744145894 7.616047623438874 + 273.312460912175879 -35.903934024234708 + 217.888622276392539 0.313694557599438 + 226.018744673985992 22.040632036463336 + 12.043627222286030 -64.649570284550293 + 339.444272545099295 14.615732966943131 + 90.243371473742826 -30.618467092287563 + 159.397088341286349 -51.110000461349621 + 230.648096509035156 -16.661902879272542 + 171.850124178088691 14.800743484479593 + 39.449729314016594 -16.681301599920740 + 88.386634415287432 17.345068492915420 + 165.190685702539525 22.651796259023740 + 340.082288459565746 20.366479249587030 + 220.696271267772147 50.146777411509071 + 145.090279803659115 -50.735574119385277 + 359.583505672004151 0.190188784482548 + 71.128105941803284 71.875390316181466 + 268.681166905079067 -10.089228766065455 + 253.921328014426592 -25.886269925696379 + 162.605701360551876 22.872191450415720 + 33.950721800635570 6.976199576524216 + 216.662173656311211 52.386446527759574 + 193.377345692762049 10.783093749269151 + 275.305272685858938 -27.694133528960954 + 182.471414554221013 11.646376179234382 + 73.250134574067161 0.749982829299397 + 147.176266827863003 3.130881105906945 + 210.802479195327351 -12.508347800425692 + 311.235924047359447 -3.792491379509732 + 65.466133643493393 -64.549919064598612 + 106.436580082948907 -47.594753439113532 + 205.872022221089765 -14.914672610172090 + 13.009345651115293 13.363923092712124 + 258.008171243758738 -28.373713577680192 + 25.402852528783541 -52.224921671526843 + 126.106198449054986 40.930088628496108 + 259.478576880892547 73.044786720481810 + 346.281728072252690 0.619677564720249 + 341.031672601956700 26.645238181183213 + 251.299761558679336 -18.049156006622624 + 116.903014847199501 -11.761143379822089 + 101.980642218761872 56.516949873852141 + 67.467878602178686 -2.559840745193155 + 141.890756027948072 58.460040983195931 + 93.872723449759093 24.926588400233090 + 211.032196092710166 49.379463369539870 + 154.876519921268425 39.821438054418728 + 78.722564816115550 -16.899602002273156 + 70.291544518133648 -23.628532582118901 + 0.758755960474672 8.008725035377950 + 239.155073686843707 -13.055810218293898 + 197.052233063173503 27.608871742252294 + 174.763782049922753 17.409602205706321 + 35.981005222557862 4.024031422256511 + 106.693165086760828 -47.544994687714826 + 296.282173406772017 -42.563619429445076 + 190.652013786219584 60.076372722281661 + 174.603195843113554 6.997175961087047 + 77.376626285464766 -21.602439976564330 + 356.918495820033286 -42.622262211271881 + 347.911011135279182 0.369751140728757 + 173.072595622858472 3.760342964798287 + 86.364103609874292 -21.467634796400002 + 54.197639215481892 -65.443988827580057 + 117.654488184931211 41.598108162440155 + 207.179172890766921 -3.795096836080199 + 202.160761188050827 11.387734455252218 + 323.999421717924236 9.190407161860200 + 21.672447172867354 -3.395295784726950 + 273.407636292967538 10.497321475138143 + 335.865735518799795 11.874859163292765 + 269.758338657582954 16.419049036744859 + 242.385943452806060 10.137708510512326 + 348.246157792598808 42.546155742200327 + 90.503947821910032 18.469607083669583 + 280.711242855186242 47.680710027279254 + 127.472420256154308 -16.605595126517326 + 129.379493991631676 41.250173278275476 + 276.479186107920441 64.227732334299560 + 197.220448726424905 58.801121047967179 + 243.847892943863002 19.342511423448396 + 345.087968929413421 -18.912634731460525 + 181.888236650141806 -63.265552662312352 + 114.022333546626527 -42.806509875452811 + 36.855861694047142 3.355003019910199 + 72.985033237324672 -3.332911896808202 + 150.829268787176034 13.327859109297592 + 89.591284299548946 54.171522163039036 + 127.061450079659167 4.066996613762888 + 154.420822005115497 14.529586973949710 + 284.933469878196661 10.436837206997408 + 104.356544790593418 39.857461704057258 + 251.965807348533673 -35.760655887539116 + 205.518138642386532 69.013695981665379 + 82.746874978689377 -56.829073706936114 + 256.395070725857352 79.383615781995616 + 290.492558037476499 3.053768495279797 + 324.079805211557357 -5.664195118684076 + 127.636487916999002 56.647628592747608 + 220.465567046310980 -15.026911476355911 + 315.288395641082843 -29.236658080348715 + 273.231301345201700 -52.132045602132280 + 204.468598752232026 -41.647557764590900 + 205.775678294231511 -40.959564932030517 + 273.868178865993627 -4.046361425501737 + 287.165625929795056 -49.913422647509805 + 278.168199581696342 -5.966585124881157 + 69.434568984072001 9.448074134401793 + 202.517091860746547 30.796455705485375 + 66.352894743224681 -17.722400510786603 + 41.604804545827939 -63.888796000024456 + 41.676881853594175 -17.029400274174577 + 222.189291195571030 -64.747637880593743 + 320.803563595141611 57.157773379759384 + 181.867910590936447 -59.438715983968912 + 77.776891857671743 -8.267750203566877 + 249.586582489813225 4.541178142694217 + 69.441691780452246 -24.775742942241514 + 156.303441262642792 -29.563354373936615 + 64.481458895501419 57.161254178058975 + 70.267956640540376 -13.027301982770831 + 99.914512090703028 -56.557763323135994 + 225.515902550264229 1.140515590589672 + 118.946724034252597 -52.217060109705287 + 308.135177855711845 32.800329399791728 + 262.565472662115440 -44.899238926123637 + 41.693696708942731 72.673302943520980 + 34.462616715426215 -80.144428428823474 + 216.299005034451653 -3.214281565025166 + 2.743084339155125 -5.598868361243872 + 24.439673950705092 -36.666499171168056 + 287.260120009323941 47.246986115400489 + 228.519856462650125 71.890006115758013 + 127.829149419781345 -37.065274563647371 + 111.218919096873236 28.922408625200916 + 353.078736082828414 -30.222421468901029 + 48.560517093854990 -24.684466008132841 + 29.525168525183950 -18.077489727534690 + 125.709810540409066 36.775106527251978 + 71.289391714154974 -78.313606031432144 + 206.083508079646492 25.008295960717806 + 14.424349777144144 8.601755095480017 + 82.863900631241918 -18.355145178308476 + 210.302809744641962 4.667631901832484 + 166.617517980878233 -10.538676121677796 + 343.043188608165110 -42.221074530626844 + 195.258180840877287 42.505413048535594 + 323.295772781268226 12.325924759699792 + 72.983032913853776 67.820702405839498 + 153.833087815302576 30.047830345522453 + 64.404852850840413 56.554675175339341 + 231.727753567504635 57.666503304265525 + 55.608481317508016 39.716597739462919 + 197.295912617709064 -42.846450508946987 + 268.744087920718755 -39.574145257003480 + 156.055266856309032 65.622235234088109 + 280.566457072277672 54.509818020985442 + 36.458179987523806 8.879392640941115 + 226.312186073030631 -40.035454169526218 + 319.050226015213525 -58.051896737171106 + 221.497611176930860 11.630938086147715 + 357.056679142964072 -33.527441229848833 + 339.733131012453214 -28.779540652426650 + 73.948043221160248 -25.101497829218200 + 358.950329551920561 -0.433376336448063 + 187.433095632213053 22.793990327556049 + 114.057032615990110 -70.794588315460018 + 311.497299424014784 24.643282234015626 + 103.381071517296007 -11.912217138793697 + 186.017073809182392 -39.731193126932901 + 26.789867446175677 8.176050235224318 + 302.215746714043462 -42.293317833910393 + 263.217051711517911 -40.602943877812649 + 258.472373258934624 82.608133902659517 + 143.700768384676593 52.738562260338284 + 87.840793070744837 21.990966940149089 + 201.632310443602478 -57.681630298983251 + 99.544717564524348 6.652104908998914 + 270.676797969557924 -42.772494243059413 + 216.814671219345456 56.155408413294907 + 185.993269688199092 -42.736540710581856 + 16.131200941183685 31.065227093080875 + 350.828689611131495 -26.254237297042909 + 234.196012780438508 -41.346979132064099 + 44.611814641500018 76.401702760330394 + 24.306661552411008 21.933928385393859 + 295.684014360559729 -8.757351799858442 + 185.097160321605003 5.126840581174974 + 359.436557798204547 1.838383106264613 + 186.033044375411123 33.190626677748782 + 67.191983167653035 47.712434786467313 + 131.986568962696282 -43.296556903036759 + 331.009712101766581 -41.892678650844672 + 134.194370006747477 71.434113656348529 + 220.377266081851189 -7.968747687383554 + 305.648512375100438 -28.013097099941579 + 157.798817067061663 54.234637475736193 + 85.604920175689287 45.549203255288688 + 76.089617914989091 -68.990189416816563 + 99.567691280710036 15.162936862408488 + 312.232555272488241 -36.815207968084437 + 53.962322347762559 -19.912575240774256 + 127.335854240848462 4.471286351953442 + 197.063351668562063 10.287038320146808 + 151.382082385189250 6.483064003438622 + 249.109172023171254 31.293351324273605 + 178.629381718753365 52.879914556940015 + 48.996082655425795 -62.228325304034861 + 73.598251982975640 -34.020173579722822 + 97.902534506537563 -43.140390733693003 + 270.925506727694597 -1.511690696874818 + 88.389186290671020 -41.879583146532291 + 340.198268086205474 56.261918172289448 + 129.407646125183220 47.251076288092868 + 201.887381069151814 4.177355381656206 + 204.863872323531865 -45.505829983556190 + 239.790372978289810 54.797308543817429 + 200.207750316042990 29.222668385842756 + 300.753141453701289 3.430937470135007 + 305.359257813975034 22.846167421134606 + 306.661756602820560 -44.246620451556701 + 233.988387186236196 -6.423421130812971 + 153.911781022076866 -4.950142487912425 + 36.620161986877172 -64.473613926409797 + 215.969651761265709 -21.115969161944559 + 45.307402746391716 -12.602211262763651 + 10.380787761431133 19.638176073286697 + 314.470506305277354 42.633453848920567 + 20.603950911067859 28.195599866275217 + 147.671180122974818 12.979647607205095 + 119.368791915348353 29.188173405954640 + 343.166023330527310 39.372999222326065 + 356.757883388687276 6.414643375092996 + 141.627573222270485 4.965074877562996 + 288.701006932175858 -50.509645542413651 + 107.386360489806023 -1.087610706723444 + 210.958821090322374 46.366087407642162 + 69.174952077081485 55.055107852174437 + 92.602180668086888 -33.719097544400789 + 357.500080137711393 -31.160739052527799 + 150.940073956811403 -18.002966121908724 + 279.731501075391577 56.733400007321741 + 209.282678467947648 -39.554554944638113 + 129.924997212531366 -44.210487934106787 + 81.857166980752908 -12.375750066757226 + 200.632519894396097 -1.565586165567857 + 128.143897184965397 -21.119689433142312 + 288.606384559311664 34.945551517098352 + 83.786942915461864 22.897424927382321 + 336.540476719187382 76.634190623419684 + 164.278182611268505 -32.865132440180993 + 212.152858890020042 40.512394135291466 + 278.623392656804413 -28.779576933319071 + 300.734261095863133 16.909972869461431 + 43.655598692114083 -42.058869613529374 + 319.660404737881208 -32.473968857637708 + 359.131934985143573 -30.776438038213740 + 218.112319622571704 -29.747029287967010 + 153.894340537432413 -20.785052395464344 + 142.719471821226477 -9.398905701397361 + 68.104777120919053 -15.583756603610217 + 189.113759276598159 -73.562542242030389 + 176.514660966458251 44.819056023686237 + 296.439519470598555 -31.224863691983831 + 245.162078716635392 34.310016267731093 + 32.689000786469151 -19.243717735005252 + 108.816088217157102 -13.032487753433038 + 99.056259209388728 -60.963558592536849 + 331.820980279009575 72.140041028858818 + 31.837237934347122 13.142288658162849 + 150.501902121749566 40.498300895535124 + 203.060001876549023 13.934534387851382 diff --git a/test/data/initial_coords.txt b/test/data/initial_coords.txt new file mode 100644 index 0000000..d0cee06 --- /dev/null +++ b/test/data/initial_coords.txt @@ -0,0 +1,1000 @@ + 334.661793414173246 36.533242113596863 + 113.895199649442930 26.457992436892294 + 66.210772203754004 36.997623186785262 + 73.641700279094295 70.624652797457614 + 204.381010469407187 49.025351034281201 + 214.396093072530562 12.338259958341141 + 347.225227104823773 -26.866608994399837 + 235.143754873765516 2.151856195813920 + 269.606389512208239 7.919653198750327 + 235.285153506624738 64.647260125497837 + 269.177331337658586 -6.379531627222649 + 346.070424986215698 63.005669550325536 + 3.019787258959257 8.370496055027063 + 38.319975611178961 56.589303114894662 + 107.533336956977351 -13.417175003607728 + 236.308025909617186 -64.969182220751080 + 291.532518914736499 46.139062539169046 + 313.983328940741899 29.634278132756144 + 347.273135053894862 5.944419466598745 + 260.526724891183221 13.581322398453736 + 231.291118042502859 42.542415936060273 + 258.283303492468917 53.095435021291848 + 168.335642598946720 -6.106511276449574 + 117.210483914176010 -52.636282087449594 + 158.272058118531419 41.007604402180611 + 262.688069788866528 46.933679625759012 + 357.845250923986328 -30.360969050092397 + 243.674536238557181 -5.822768680083954 + 284.696106425203880 16.674608007678199 + 61.529132805276390 -14.167364015254348 + 9.665739284376805 -22.631897824364788 + 288.133287813165850 51.909560601108666 + 325.340113758120026 11.947430745047852 + 8.883435754535496 48.995704777246665 + 177.029034640518944 -61.812512872729862 + 189.451860245948836 14.353724363978092 + 214.691763750977003 42.660110385089830 + 18.704716236912091 12.340871832902103 + 322.232230099411595 20.795638595927823 + 262.175824917762213 23.326587788725348 + 294.606004100369205 62.740391091357232 + 180.080191020401372 49.976173130493862 + 291.668187169171688 -41.317839121551970 + 34.548669268043980 21.049727489385717 + 78.822015743553649 -69.260080173303407 + 93.138862177120515 35.514766981208275 + 168.518071423056654 38.617466953394697 + 165.374352937253121 -35.314834045331047 + 255.423520875304433 2.268576228449700 + 64.099082118073724 35.067122060764504 + 191.321958369468263 0.677167734709882 + 60.387202363134854 79.254885604303269 + 276.773010626091718 -2.989072410498180 + 334.141397681516196 -4.990437156977705 + 219.417716877661263 46.281924593930029 + 54.066058080797411 53.419521556599349 + 176.265613329838345 17.874536729483935 + 135.844183379961237 37.610014497915103 + 305.496508312000401 -84.671033628710902 + 327.995002307402160 16.196733014009517 + 138.185539616623856 40.755898473293875 + 113.578525222604597 -66.692270160052800 + 204.621895006352645 10.493920806118222 + 67.614492608783905 -37.546689760007482 + 45.302955777853285 -10.853164286140078 + 247.534489816017100 -18.513366718442036 + 287.858418461064673 72.332583900379618 + 206.473163471511526 27.612588728644685 + 350.362793375814590 68.925362242824718 + 228.259575769492301 5.493427564429868 + 319.831820932113658 -36.456684333006990 + 178.349313152687159 -39.570708851809215 + 126.581950760476388 25.283029356831655 + 257.122932676027403 45.855342389175853 + 181.414481921249575 19.983369735301860 + 81.229538347430207 -15.788108355086660 + 88.190798487071078 -51.396370077753865 + 285.408252017852590 14.102560123634206 + 178.262069224092869 -39.006365214823703 + 329.433722423919505 -34.038782167500948 + 340.333860195006423 -24.143783108860983 + 191.963602675877667 27.818211547991183 + 90.897334040673599 -0.853694729164500 + 259.510340942945277 68.758237924278490 + 132.277954966047815 17.582393149727078 + 179.513439447979181 -36.762381831795615 + 81.567017086484100 -26.236297987727799 + 127.283632828576899 -16.346603655396656 + 234.306643184354044 -61.842057204456459 + 112.655842309854719 -27.638064730846544 + 276.744760980962326 -11.692765022519009 + 281.461357213651524 14.352540281939312 + 306.867413858660996 14.239149858090043 + 341.966066454715417 77.365131252442552 + 38.636248392375904 39.484170968912458 + 327.861128147545003 -20.502970929163137 + 120.979858288495024 -58.363443997362978 + 297.496953653272044 32.768491559073333 + 323.316228643144882 3.112793544682285 + 15.377509561079910 16.219219114506053 + 70.486199671966702 -65.809349916158098 + 106.020475904557600 28.597106793240460 + 225.719957005894457 53.657373145576372 + 31.040317844190760 22.478141546001584 + 51.460207132395468 -42.105511595060591 + 185.697546923135405 -28.322296754457668 + 248.162878676987305 -4.770806560137014 + 308.385291884359958 28.057668429408839 + 233.050205995959999 8.281190314512099 + 209.382723191066361 29.379101532324164 + 256.001743835445495 -52.683522805573141 + 90.870068536748946 52.906231405500925 + 324.057486053738728 -33.718334751377178 + 159.225729446262221 -19.136273561345408 + 7.387496876416324 -19.643788297243717 + 345.477965038853711 -20.877095095175189 + 234.801152081181186 44.045023267777466 + 184.754250037682539 -11.826088512155087 + 245.648297929573431 -20.597366624854985 + 176.234540626501598 -43.380963868193177 + 333.536461652675598 27.635353749107495 + 185.716717980714151 -8.464021874565853 + 25.977557425295238 13.848640645983577 + 204.302987351662892 -53.011645510063317 + 221.487546140547948 10.252135190074776 + 338.956666009070432 -36.926146940063788 + 149.530807699561052 12.154329557547015 + 95.198390847174025 22.655416610491571 + 35.061539531680289 51.033068794160627 + 174.903919876080607 23.681815647667218 + 167.278630629943109 61.012661408116088 + 10.713354116811193 -18.678711561344407 + 249.939886268655187 16.284733062130108 + 258.100960451481342 25.392742101554273 + 262.732112384820994 -33.223186633084573 + 149.166366188236452 38.647171409563803 + 5.435584125897246 -39.215525409031301 + 327.231056694292988 -29.181854438709767 + 284.176338519729597 -19.882123470300886 + 59.471700898743563 36.076528227887586 + 112.602946077457560 8.917127362661549 + 219.940310095054571 13.359291195952576 + 131.216503218789256 -69.314616433066078 + 56.173892112539818 67.375947718653237 + 63.829372832838651 18.420664079819606 + 312.440281576936570 67.040776738506267 + 104.434080640017655 -36.620327932627468 + 210.664663673278113 6.092851482192454 + 163.438155327408822 -32.215394959079347 + 148.024127582113977 -39.024131698097982 + 317.748400263663029 -52.919457012369016 + 249.374885326109620 -52.636295886668400 + 100.538407870470166 -45.624540888272342 + 23.198483226702070 -16.755922920544069 + 71.504500953185627 -22.176958732258143 + 335.405788093064075 -17.570151911950866 + 307.588884401048574 -15.719683138814966 + 343.704504441933068 -44.935355659312243 + 18.811205367542264 3.894645181402240 + 208.609805012736246 59.375611415431898 + 172.978655993686573 74.569506882522390 + 7.815232431203123 -62.447697650476314 + 134.503366944382179 -31.918120164059722 + 149.073048423561318 42.404326828910371 + 217.406604209041575 50.764755467460397 + 241.829541847885508 -32.270801842700067 + 301.991652157793908 -35.101674210755789 + 280.629434994794622 -75.018265231817523 + 144.252375854843223 10.512515089962081 + 286.030523300285893 47.242021541173898 + 321.524751743137074 38.783797827428430 + 94.496288709200940 50.846537239322473 + 356.110922656118134 34.910579551784444 + 307.190555645665654 -15.480527406191813 + 263.331776173592516 53.689639274824934 + 128.003624894287270 -55.242665673953560 + 317.984216654641159 22.026327570080344 + 312.465272697750720 -13.682490584111246 + 344.075920500109646 30.465152118097325 + 0.038612347105311 27.366432732119396 + 5.954775090830875 62.011702223198107 + 113.065220613147858 -10.207055270106283 + 358.313822853377644 -13.683714253924903 + 53.583920336156595 -16.295163602945085 + 60.255762735061566 -37.890656975982701 + 273.085933290450953 -16.585241270376500 + 25.030679815556315 -42.720043765500435 + 253.970437894657408 -27.740023206689425 + 168.899501440474410 -50.055870916892935 + 3.667757805112624 -72.030019336868250 + 278.936590631854358 54.844647391084656 + 285.912363009770672 45.547042666289421 + 53.845002628511601 26.075229665716829 + 8.533307444432019 -51.114782305360983 + 274.342957521980395 -25.283397740820959 + 80.521264761603973 -41.131889112918572 + 94.382783195441107 -78.694987997652547 + 164.473020999178146 39.245638748984298 + 89.973690662526550 39.633734776711833 + 204.582082172668834 -23.017828512181541 + 304.899478887687735 -70.346318312328151 + 136.115833330645387 -15.567142188480094 + 155.687441915533213 -37.492605568138814 + 299.742903458680132 -3.258449613293861 + 133.607496849909808 52.689683107677347 + 14.599177893418393 -13.558045462706193 + 199.681734949915295 -50.618002057680684 + 162.448647411931262 11.728557768585434 + 261.108351621623171 -4.254469962652128 + 136.242188033254422 -14.416701883748811 + 302.638498455206275 -53.028058397751280 + 168.953289690104754 54.572679646968403 + 202.551634444382529 50.339471208113274 + 238.031762128221260 -29.744698061527796 + 166.407072308881681 -65.461287584550618 + 224.509300375937954 50.274360247366424 + 79.877027226729624 -43.113466762999678 + 263.830722031871630 14.099728159122677 + 137.405551930558516 18.691401308332878 + 70.140435037403208 2.222195777375112 + 97.618598925828636 30.909028408331146 + 89.721018706612512 -13.768726105295519 + 54.770062411967970 26.598702678231334 + 277.694533512477506 -72.396358749549833 + 91.948223651031668 23.378859524877541 + 45.915625817472403 -36.065726625395001 + 239.460175196169786 -36.203400618687191 + 148.609781524793789 65.800521710365871 + 240.396395917998206 -0.109595473251506 + 237.532866155277503 -45.185830517971702 + 109.935961875899906 24.608650072825196 + 72.440726770350096 -11.201473439100269 + 79.929765539685334 10.320040063274785 + 43.189510803815132 -3.904720097799370 + 13.372358770895026 9.454974148215056 + 12.287370068682936 -64.065399104174887 + 82.978757249240076 -44.897407217770130 + 82.207334327579133 -4.862540707083933 + 224.967823892931392 31.118893094156839 + 321.322026768034050 13.464076306840004 + 280.702085847459216 25.761381669997100 + 259.722456706106811 -27.333109929163683 + 111.759177252690947 -19.608661635200455 + 130.710029912344680 -8.559487243140438 + 70.589442191144229 63.356724467660463 + 336.777047292125246 -21.786983683006067 + 202.224240063367347 24.186970736831238 + 294.224953280655939 -68.153990035753566 + 125.609033140922037 -18.664554053116110 + 287.897134616500580 61.414756758178690 + 37.477606509842985 0.535040944132473 + 256.363259445862127 18.897256851414920 + 330.281458529637518 -25.156435774799601 + 289.290732706511562 38.142823081450750 + 117.760732667624822 66.844017960041938 + 91.838584534991696 -6.993849036119903 + 178.200782768569610 -28.102280529673088 + 148.899943537007999 5.200041277537361 + 152.977354305390776 42.014867557383774 + 26.776189744116813 -63.621078417398131 + 217.220634464228539 -42.661255038780560 + 268.991904076370133 -66.174650519502123 + 287.127441597895199 -81.590694800175115 + 137.340188119365422 -14.022419858361735 + 286.976935015347408 72.626874672552887 + 169.847053061108255 -41.508299968165744 + 259.703701612067277 22.234470163831340 + 68.116568138820867 6.157044877890244 + 156.454455376659638 -24.388717890897652 + 296.448519258771057 -54.146441349593744 + 297.458146031437025 -77.607487599794666 + 68.229174053386160 -4.142318948820740 + 7.236781254958728 66.753569416879103 + 253.256898980148975 9.015761648512473 + 125.017242990818090 -23.810039916594782 + 151.021373840443289 7.548146525381140 + 276.512005143978740 18.617410370195607 + 346.636103869543319 13.274132554817831 + 321.323510493201752 -1.594755355122651 + 48.579216002652110 -76.099431850533790 + 287.209697397145874 -38.268113557406039 + 245.552618714542660 51.597322321553463 + 190.819039363590349 -5.666960353257114 + 311.753395874220132 -27.496010309529190 + 271.169314326982203 11.319549198695926 + 33.552931254930471 5.816018702503645 + 118.598195531365278 63.267336130131881 + 148.450570427828154 65.286768170049342 + 0.347258795799026 10.686480213874473 + 215.122882725707456 -41.168381465727869 + 245.722155149712904 -28.564343930902822 + 131.861074155670138 -69.498847119224337 + 142.739588673712120 -7.079438723801989 + 171.129292384072585 -48.782225016878769 + 209.188764195568353 17.258759501769717 + 49.369366011874931 -84.130242258050743 + 359.789102447057530 -21.294797059727355 + 182.637795161948731 -13.705764108946129 + 177.504013636466340 -23.226668866532890 + 67.274911810036230 -22.810218900799100 + 106.591685314900204 -27.611944801782215 + 287.465421317733899 55.729222952976933 + 106.120185457441210 -14.570622297146430 + 250.963773600069857 -14.782376136031424 + 98.265322350333534 7.833536065239791 + 328.510242455546631 -45.075739091561637 + 107.474124153564475 80.989447913390876 + 320.349517957321098 -12.111503524199172 + 340.820025755300492 32.784907256758252 + 60.808616233595757 -48.320498076939209 + 129.344906063748454 -54.441799298057433 + 245.583829033644093 -27.534113169514523 + 331.701109219815237 18.945514526518956 + 52.172763837942320 -20.577492727187163 + 35.954778584945004 -79.158075903917407 + 148.176999565795086 -38.639725454151481 + 351.045133472877524 -37.669320177985703 + 14.942354723526559 -28.357000920681635 + 67.289146024496475 -28.992040200774980 + 219.156475678577323 37.925764632709537 + 31.398737444331459 49.944571738014659 + 113.863735408303157 16.794383732330346 + 219.648879542548343 16.415935019207566 + 72.430096643326905 -42.307931554271889 + 249.083177914007251 4.731886123181474 + 88.065709629248914 -13.936269633165873 + 244.933810522250127 28.032441525619806 + 174.937582407555738 50.122788171567670 + 93.778132201378853 -35.072087223906081 + 101.786514918004428 -29.031256278459367 + 325.962583137787703 13.093017773642645 + 99.303367477846550 -1.793200560940075 + 302.813295302797258 -14.373115084105216 + 70.712774886849502 -30.311250939002718 + 119.010034607205668 -21.907732051580034 + 340.786758665980642 47.425318452501287 + 182.185865833940341 38.938300945130258 + 145.229708986355064 -4.871803002637010 + 9.742153815669914 47.804266331967987 + 223.838528196006394 50.892764171833349 + 125.045462432638388 35.305192780381347 + 99.647722009655268 -46.977646028915252 + 23.059718615843735 9.263680757137058 + 120.380586809645138 -58.789846913096788 + 24.375579287397425 18.970586443692603 + 1.376729374672281 -6.971031616109292 + 14.748409229214850 -23.670315201599351 + 125.623751624265751 -3.889149009447927 + 33.103551901107615 69.760648531104934 + 187.313661525185296 23.886847372257773 + 77.669932817592041 -69.980875760704222 + 356.999956238132427 63.290477023026298 + 96.187377978521567 48.738161604031575 + 244.860498914876018 -49.387694510428851 + 189.448602900595716 -2.284699111326705 + 158.372305102967886 -72.594086148758691 + 238.159888461409395 45.557071236868360 + 48.522662857316128 -47.229983998940710 + 283.625641767258742 0.172698796962163 + 49.671972364458298 -28.500358927968488 + 227.852387182624568 -54.715521826691059 + 76.919528772192592 -39.716512707748905 + 8.415113303961185 -23.933881899007755 + 225.696230381151253 43.117210246582253 + 231.178941565272964 8.377982602898165 + 231.157201241596368 9.263326711260392 + 311.263523882717607 -21.786371661680025 + 121.392505247917200 59.821693937078692 + 147.945019229320252 -12.916708686264268 + 219.714726159028743 -47.521403448809238 + 338.703548665946869 38.244527561228132 + 54.747817125317674 54.279363439619729 + 66.260882163534248 -1.805408098641368 + 55.597783750560211 -66.688598044428019 + 256.616757305936005 44.438839770762307 + 334.073938084649512 -1.281649864804042 + 152.167384793402221 -19.523129414034454 + 196.263814913651629 -35.438291331935304 + 116.060027515896266 -3.940905133894332 + 57.853685964421132 57.955683391643390 + 253.134728852956812 52.445195671439244 + 262.889426310122019 -7.620271210660003 + 345.745633539209052 77.176306961031827 + 133.376605476077913 47.858693778211034 + 258.011421054587856 4.047481846168497 + 354.982038416834655 21.326650700408500 + 39.876321123499480 -86.459329343151254 + 272.962277607231727 -35.391087372356857 + 56.719483680730384 -44.020671695692947 + 293.916691947002334 9.610789257409952 + 199.478356641883209 39.687422191952976 + 209.415679509388582 34.681981456615176 + 337.012409952298412 1.991363280737509 + 156.365191836561081 46.186090633342950 + 176.085787092500908 14.942472720976328 + 239.806968050075909 62.175136773347788 + 226.855440389534834 -52.637972303730010 + 46.873710235136421 -72.090807833216616 + 127.383829643605239 -35.282452625765146 + 228.644418469004592 79.130790267235497 + 330.824109963045203 -58.619476653273104 + 32.856019400481479 11.067635365929521 + 25.589564996411148 43.102279160075710 + 148.936189008979852 -41.541297093587033 + 77.630820943080849 -3.508875525910342 + 187.091507357895097 9.860393564564605 + 201.065047966290479 11.198390786273499 + 170.532059012291029 53.374084438422948 + 77.713963797336703 -35.227934525335790 + 86.197998707860322 50.670480800376815 + 78.025770979736862 8.183954991691937 + 236.048536128246838 10.441372091080117 + 304.701642158481206 69.466563746898501 + 334.967181593760415 38.012568954534281 + 288.109986166641988 -64.549446475966207 + 245.061304282892536 13.896325551774066 + 74.612504945671660 85.135100533808284 + 266.997500990545348 50.042099537507028 + 250.885650850488986 3.922981063211520 + 137.433410733020480 -65.206327363637712 + 306.042884870912701 25.121996480488260 + 190.120025199465999 27.324943818833592 + 321.483264835564057 -53.681235169794547 + 295.401374962307159 -51.915045637151245 + 82.288302984104917 -60.867351953076138 + 295.424628930492474 -14.464705834903427 + 49.882113049188177 -36.857404099819462 + 173.688298262707747 -12.817223704742776 + 53.571800312134442 -52.839713748632072 + 161.385859775449774 -58.837723653713624 + 239.744330065395275 -19.585843760167840 + 284.051673065812111 -36.424339505937887 + 238.327472913204417 42.030615473334805 + 256.144474389618267 -59.110270594731666 + 319.652518367198354 -34.660494559901053 + 51.003104848978936 54.794186376817180 + 53.125244478490522 27.373635824859342 + 117.335103461975208 -53.915636199142988 + 11.474578637522805 -9.233214018528489 + 247.594642061879796 -15.934052152011439 + 275.302816286451048 42.996484636321966 + 126.003390722907085 53.501486586108861 + 221.762739840518464 45.949874184772156 + 345.059949174279382 -47.461530517167247 + 104.778941980809805 -64.890954157197442 + 247.204246501469243 0.241994845186542 + 15.202162901504916 18.574365464634802 + 22.501307419288793 -37.008265926524210 + 293.183530452491198 -38.890039111697988 + 157.182610473099373 9.430692865476127 + 141.144635537313945 -30.374854840655132 + 119.033164678789632 -41.779846048697792 + 164.757178229607376 12.133730844769735 + 300.726774818848128 -27.957079522204648 + 168.036795431820650 43.742504137540010 + 151.662955598097142 48.390066791571080 + 205.506559057868316 8.798297413336380 + 266.060144409598820 -19.358476653171422 + 19.830027093866605 -44.103851350417827 + 224.705033665862913 16.129239977897093 + 223.581717969918202 -24.375230327532844 + 0.399791454899514 40.038308557226635 + 217.041662304579717 -45.565798468118849 + 14.466748355644178 13.412507891091076 + 210.870132041765999 -40.281804232949732 + 161.416592878782950 -43.719586746979779 + 127.342896342810960 65.054016249539956 + 336.069084374724127 48.632069968981895 + 96.212135433002743 -12.456887355772118 + 101.267776966988180 -2.077616080889642 + 181.766146912435431 -36.941689333686803 + 232.850202723186015 39.332891998334041 + 349.406434448518155 -44.132368148521159 + 12.915172582157322 -23.878169367522315 + 152.351951811514539 -1.919856461490617 + 211.792351921199696 -30.983990863486348 + 263.412821719973977 18.979781506764372 + 63.183986250426862 -5.062605049448798 + 183.793962459355157 -39.924521166545404 + 180.102454502186475 -32.238410546594736 + 321.396347511994691 -74.564696402946240 + 137.765774701999305 -22.870642926704406 + 238.630981249069407 -8.214631669802854 + 16.852161492738112 -68.118055276741742 + 270.440382197403210 20.213973223499728 + 132.762705240875590 23.369757081846164 + 341.290309162310791 1.647425561570632 + 125.001078542717735 -19.643408924504246 + 246.201551584904763 7.606440030596699 + 296.868557428306531 -26.404227119822512 + 175.051077925029148 4.152786889419590 + 354.303313677537233 -37.701460959264274 + 217.373053738771830 -30.534803371128035 + 273.464939514672210 -74.237954410310650 + 246.426010331850648 -8.279851911087119 + 335.669841785569361 -39.851824742000233 + 341.922769750263910 38.897677304521409 + 356.440006099069365 -10.839169671990145 + 45.415937911330523 -3.739355487097012 + 351.576222210690787 -14.808808330209651 + 82.478036190811224 16.754977041567894 + 66.980312213647721 19.888126928650586 + 183.316111923617399 20.997738619366725 + 190.979165759008055 55.244051326144671 + 101.750127003094761 -58.031547412820913 + 111.658152729024309 -33.190023258921102 + 111.558375406763133 47.661349947706221 + 95.899998923384771 32.606470741377116 + 213.635214313899439 -67.690553139076272 + 78.168374085213870 -8.992333131911764 + 144.857850364100813 -11.227633954785086 + 103.882046219586329 -58.235598141607142 + 62.582693481444345 -47.384313429141741 + 81.256868383867399 -24.640277590739139 + 355.910910328619480 -41.875259190776426 + 156.258487040762731 47.308664005748980 + 298.148139367544161 -16.178433644877355 + 206.104619499622515 -26.980725982118425 + 234.684100256549158 -48.239800489013312 + 262.705736205603330 30.005015778186365 + 140.862114403568484 -11.327090249815857 + 141.430484364146878 48.520137941506917 + 309.438442930675251 42.163311283724951 + 291.607060033447624 28.425074895716151 + 301.155798377495159 44.505860161351102 + 67.675652734485013 15.431309490842420 + 129.454829071607804 -67.736342616012124 + 173.514233904871816 60.517791816568085 + 347.786152598789045 2.758225564918528 + 202.792746206266202 -14.104646617244276 + 297.901750535271901 -3.189028420366848 + 27.398739576115183 -0.024291556067137 + 199.129660042875656 -23.787183814678766 + 197.258565512239102 -35.004061012168620 + 325.959695247802017 -2.455897541765636 + 133.015922860627910 -64.123549658344871 + 324.418551098972728 -5.328040577955530 + 50.627168975817028 -49.977060040320062 + 35.702541111244088 38.334448374499864 + 350.345973614433149 -12.951223021287211 + 339.136207324194629 -26.169260797179756 + 212.740905686225744 -48.806371371990124 + 18.704831216879239 -62.558886555065463 + 18.054611176909930 -26.956632595292660 + 116.856783745118562 -17.726318706824369 + 135.269914270552789 65.244651039050126 + 275.093754984479062 26.956404701415799 + 309.335703650335802 -52.219741409161898 + 196.454978701855282 -11.752911520484126 + 116.587793940273400 -83.043430996577200 + 146.093352213203360 28.755934272265897 + 39.480398339541999 64.143018266989245 + 49.424874116385638 -8.960491057336473 + 268.340028795849264 -53.065180760088630 + 315.509594596184172 -32.786130098532595 + 93.236163629173262 16.128351881113527 + 246.816597932601240 54.938977827901020 + 129.280131187361434 6.358698190423286 + 2.166165164794762 -14.371792961881757 + 274.025108585478563 42.384136912857052 + 149.048061632190382 24.406527936109875 + 120.201110742877844 -80.087311402170471 + 100.095509907763002 10.770406485006623 + 213.305097192148878 29.877998466386966 + 117.036231202584418 -78.817785471219906 + 337.249922762591041 -41.636004890846792 + 34.553871156935053 29.791758831011258 + 317.986468519762752 45.498817386090224 + 204.486383844498874 53.488962283097713 + 22.292450833489458 -17.210394041718001 + 314.995919471473201 -40.956239801690437 + 80.946996182973265 50.496474313588337 + 287.777981299991495 34.574291675234136 + 288.674993848317229 -12.662450575176514 + 10.423627075697466 -54.891797120090494 + 225.755641251481478 -53.540718741108456 + 217.670133889747262 43.771021435274122 + 28.154708947867881 32.560358866487988 + 278.263282574040716 59.833818754452963 + 51.593984737065441 22.162777140208775 + 166.926458818319986 -34.216243098277531 + 34.959843345549963 -67.373504953612510 + 205.147517732160253 -53.667526814303329 + 145.356104959308311 -38.857844133200039 + 211.168333701488677 14.512836628751231 + 269.534294841452549 33.895254513844208 + 320.260979891347233 47.836100152034405 + 136.580455953134020 -69.128599727427314 + 105.277054243440460 -45.793520308022025 + 183.344486390486679 23.965825883979569 + 191.812896143598977 -14.633651726986994 + 37.951783449024916 -35.610535110019221 + 16.538761244515015 -8.755416991550460 + 223.917533708766484 17.868725599510281 + 296.080172014235075 53.946170504930507 + 19.822885165891226 -35.004015694165489 + 287.270440308053992 -26.701198514806507 + 87.928171843203998 22.772486281755018 + 289.273587123400603 -60.497824480520912 + 107.343023566446149 42.831167399870559 + 168.217546733550648 22.404042531312236 + 335.815076828497297 -1.608000924033286 + 327.512442446904913 19.305553555300961 + 46.773980541462528 -66.731838875442008 + 190.619172343257475 -61.083950396714989 + 222.899680106756335 25.470706112423429 + 224.861478531048078 10.719741125029461 + 232.851180920432427 -3.065502551346513 + 119.547530226313256 -2.747337808096967 + 41.120041338511292 80.771815419753025 + 205.597616811622174 70.328673116277571 + 108.716932590908414 -0.665445342952884 + 69.662018179896478 77.122234111296862 + 203.294049072660670 18.716665420334607 + 219.773754774648154 -53.704943358511457 + 16.318721008391698 -18.414938540131665 + 354.735230623277744 8.018504051602646 + 37.341733272512855 -1.636679554216671 + 146.123043259241825 22.817597176878404 + 239.601270136033804 13.741624218459870 + 70.924336638191050 34.819062128507227 + 87.040965626635398 13.971298968401637 + 224.342083190451945 -35.618034896457047 + 287.545806341801040 23.660417764393383 + 196.069092137328681 -10.590348691762042 + 71.131452862108461 22.131934397079341 + 282.283826806756906 22.683139037492790 + 293.160175960822698 0.568304739292528 + 255.920046095811387 0.902737325030940 + 339.855386579291007 3.056723427930590 + 307.781132660356661 62.248579578545673 + 346.887470180881337 28.220230598585044 + 167.270111261611021 -14.367370552842512 + 174.598288226410517 9.261594011756662 + 211.128748612995480 3.724839505348927 + 339.115995735742899 10.712332888094991 + 134.021967361245004 -5.176774288730794 + 215.367210575202876 -1.295562860365871 + 220.900428327852268 -14.801432725984274 + 201.623081434480412 -11.290333329027758 + 42.666424989168277 -1.553011320178227 + 145.048336196285163 9.658558909556293 + 79.739587670152432 -0.299786592658826 + 283.780330132212100 -40.484282513285493 + 275.035551317201396 41.474734699232343 + 62.776082850521071 -19.972132725352335 + 260.587365021165965 23.593161446170836 + 332.842369713093831 -9.647782599523991 + 171.336582353064159 -18.030830873908641 + 328.658000517466519 -45.186269633202045 + 157.471907797978133 76.016982131190204 + 23.709789778510199 -28.140880429136359 + 130.934036951160806 -64.846808567232543 + 68.201595272345926 -17.141813262625419 + 53.399736053978714 -3.039425572142529 + 75.989023790787996 -19.861653085260588 + 316.641443053020907 -42.296556611758007 + 294.388598248921653 16.837707764600591 + 227.362925026164106 -5.775291008796310 + 343.901696145752112 66.627962919458739 + 42.858107075688672 14.713772085015123 + 216.817988905939842 25.018028732641866 + 119.312871347237348 42.341526873824705 + 295.751037860094016 -35.881152642284007 + 237.523945673205361 -16.586521785831962 + 152.125580719729697 -38.340635988032673 + 257.789849284166451 -18.945854726487486 + 77.503997289101562 6.942225934391430 + 6.059835906661535 2.820331625564387 + 101.063027075328279 9.791976567344237 + 216.619590967336592 -20.952731148130372 + 165.800128698493808 8.496966863945051 + 255.840051280129558 -39.501104916499749 + 59.283309874584276 42.430778359489381 + 338.484982260736786 -3.846618327851496 + 343.961413938425835 -26.039786302719577 + 353.063094933345155 15.773270385201313 + 21.178772442553694 -43.513416822127709 + 266.533253327821285 11.955254907731913 + 216.234751671642243 25.209494278318957 + 32.023197473622851 -17.026778486290585 + 356.162778509409520 19.933575991081398 + 197.583228826641147 -19.464117969083361 + 242.808447098916048 -14.865810300033260 + 260.961469708576033 30.234017118779025 + 204.658004156440313 44.742872949847346 + 189.895630054122762 17.305620404836031 + 54.271060562318702 -25.200880153880650 + 86.502419314879248 68.678453758290587 + 144.929264724088057 -36.531735004696955 + 24.421429130055685 52.363134936270853 + 273.018563905841575 -5.566654074747135 + 123.369156914945734 49.026004013989464 + 356.305982463093471 -29.821506449688076 + 319.882029423381482 79.644042649860822 + 337.874845820692485 -13.842824410094822 + 266.076283978695415 22.453715817004376 + 9.700861779616705 -57.397398934331392 + 137.662519090025341 -72.008094653645742 + 3.789502556156652 -14.521214555837084 + 23.483545277275777 -37.779781372876521 + 245.301370414092929 -20.599996474488162 + 355.197411331962655 23.709152521023913 + 239.850226809333719 26.531506126301817 + 149.437086062088639 -32.886884301817766 + 14.817853137445635 -11.552760965492544 + 321.943268819253262 -30.881712971768550 + 254.443310377227334 19.783386187286951 + 172.403756500267946 5.807369278675294 + 77.620497312937388 32.504485011404469 + 29.435782990309779 -21.818890570219459 + 242.352793521395284 50.252796686077367 + 358.120507965262959 -39.564769653988044 + 213.671633990307186 15.511623685274467 + 302.465681686499238 11.278597740227754 + 55.072101004810669 -10.111020825316709 + 315.410966437912919 -54.976983543073615 + 196.140814875265932 -9.780487976118685 + 354.111219231031043 76.869803512348625 + 264.852770730363602 -36.209288006889281 + 33.509951850644242 -49.097764156533387 + 105.200646181161673 24.546495625842759 + 98.297340200317393 -9.553743891315811 + 25.619908806273607 -22.644872376788225 + 244.808241367806204 -60.522407538081865 + 80.900302646490402 -36.795128474517995 + 198.539900857042539 25.579692558687430 + 277.107240075927564 5.505113914178661 + 76.218485992239010 -63.392070377276880 + 105.403874471958673 -4.266744618514299 + 128.310224994006006 -0.898206611327180 + 344.292296511860286 -33.225672645662144 + 237.687790366697925 -35.246878510119934 + 342.184465572612737 24.353054233774373 + 34.872332845276894 5.419536017643410 + 95.229533799560045 -22.966662035587515 + 97.969680303843035 42.994080329604579 + 300.631382506789066 -1.955099165085259 + 292.626859515680735 56.685611379629229 + 105.747896399943443 51.581847855107952 + 233.895578236718421 -30.419628729037363 + 151.558069804252511 15.843050076109671 + 26.874602882574180 9.708478486793252 + 265.970467774862414 -29.191872030305159 + 210.733215371795183 37.197040610267315 + 124.081415129442107 -53.528484158343225 + 92.881144199429770 -46.407628669222802 + 105.054492047095735 53.938616816641165 + 277.102950451350353 4.076581557788433 + 152.753558892451196 19.018047304010633 + 103.885860878426584 22.205759717630627 + 95.105373117645172 -65.520022087145989 + 99.690816655431206 32.271745415652859 + 303.248163592260312 35.575141579725901 + 61.064023401914092 56.635274260289549 + 90.751185504703400 -3.811450171919456 + 213.075072182858719 -65.352248667425883 + 351.129498512480779 -11.891116298652603 + 1.487217087321868 13.814781923833582 + 86.405803624009081 -0.668127664565304 + 261.545796043420012 -10.932799923059976 + 90.260829725442335 -50.456733763223994 + 330.536929008863922 -25.585219346536928 + 182.934686936151451 75.952537218280526 + 180.911546289991605 14.344587906001118 + 256.429392441609764 -39.956722095373017 + 230.316491186576798 -24.928940891118515 + 102.348951070502906 -41.798825816123149 + 3.521995413465779 50.672871072818396 + 214.106243496306206 57.018694569834935 + 302.765393675384132 28.926421648949567 + 175.172492523318425 55.987502799275468 + 281.086249176493595 63.852780182644658 + 148.512550522736660 21.427099339774326 + 136.730002582679845 60.697031817473139 + 323.440383150065827 28.544362280229958 + 322.821405337123963 18.181091823274688 + 259.360829650966309 -23.938088351427492 + 102.546626148998385 -29.084493391395341 + 122.363699736792341 25.284049736187438 + 102.661569252850711 41.393207357353248 + 280.659884848690183 4.543830099780805 + 1.646234775656588 13.907569570971305 + 30.487527218323123 -73.642163086237943 + 158.888615487467320 34.299494316560889 + 90.384235625538281 37.112597680132126 + 326.114134775179139 24.301543291628008 + 317.117763991223114 -43.934044087770260 + 257.947336593218324 -38.799019541396632 + 85.923472130492812 36.803645214943401 + 333.104734171006953 29.889419346704287 + 349.062639842383760 -16.295739577738495 + 208.166043470940963 74.896774757026691 + 96.849945745897145 3.372778419926484 + 108.327400537126110 14.660170183406137 + 225.119615988516216 -48.332046281522082 + 280.743865159637551 -11.564602329937960 + 151.597215666300542 -42.717473240594479 + 236.512698367648341 -39.579680256886370 + 152.503171084510967 -35.850190953221997 + 126.621312753006350 -20.520171338418137 + 224.866201278383556 -8.786878975623566 + 292.139402818161841 58.978268155795327 + 177.738522096451533 -12.564501641171116 + 19.134240775257425 46.044760744622323 + 173.928354880961081 74.916259837371214 + 181.668277901320806 3.679675716315007 + 157.290410829397445 30.989349195046632 + 135.365659960846017 -16.285289551147851 + 280.036093729633478 -50.528752097226743 + 36.027975881815365 -11.582227275769480 + 5.932596326395636 19.585397726403272 + 281.655361393293902 5.018921914875366 + 307.137132667395349 33.040153736603436 + 80.532631635798793 60.515669670361262 + 225.692124549162799 53.602721996229320 + 23.281304587435354 66.603924863689969 + 86.011488791217261 58.109020843875932 + 165.518292991814548 -48.575667549636819 + 238.565725052004296 70.023321730788979 + 78.372583294594222 -46.161980106030015 + 169.180923257805858 27.831021739318995 + 352.184754449975060 -0.553918802331516 + 184.699345965755299 19.596211349381605 + 169.247275737562006 -57.518980988634951 + 239.810766673391782 -60.575210303739809 + 187.639369589279198 60.289484908378007 + 92.616878877839099 -13.351180296851771 + 296.700448858521554 -78.911971838008512 + 46.362647283000847 -56.564693337409835 + 61.899761352662836 -11.837949140354128 + 62.968292999040514 -12.426256363913291 + 137.498600229535612 -53.916290092963145 + 36.573570082165425 -64.210977812354344 + 140.326779053346513 -58.338955091882724 + 291.569192913011420 36.661626759174119 + 127.350646143434076 21.817973460872665 + 315.546409061080169 19.155069874697379 + 345.179661811033043 -20.510658875043944 + 301.942232023323356 -0.238498267332709 + 41.416337936278502 -28.260878580498293 + 202.468199169873770 -4.374319165647205 + 39.037683657186967 -9.157062962048723 + 315.312632277012142 33.746442203545577 + 126.002812744830322 -29.573768690984181 + 323.177430828333684 16.838836467184166 + 44.703861151557632 24.929907909136293 + 229.630258266630761 39.467572036078806 + 314.109054151884266 25.029812632405164 + 0.383603266123846 4.067335546876958 + 109.699145956059397 -10.648748015901061 + 10.376881612328251 10.577831982445177 + 197.902621096058425 -29.867531799355039 + 63.068898624020136 -53.339905358813546 + 212.409190351298179 28.402806318972551 + 1.843420649856631 -26.435194159112910 + 101.528198465202294 -4.459624301245888 + 273.527250950930863 -29.332962165904259 + 313.900204960298083 -22.192304123095862 + 181.951642734067207 -14.292747257024915 + 174.148080959630761 21.042208016621998 + 17.192957642742861 25.641593536540267 + 270.289770551070035 79.510657062682867 + 299.280353408814904 -46.247009974048645 + 311.772184536663588 1.571577239116788 + 297.641512697078213 -11.056047490890288 + 179.848884369837322 80.070820555147961 + 3.155770201773724 -19.551951779718046 + 122.829868046411349 16.794632452518083 + 266.444227964651816 -12.188676561823604 + 327.883730391323866 30.188519865034515 + 105.824895389225233 4.461815979711266 + 67.214624462869139 33.321152915192826 + 318.318105580904046 -54.143286672277569 + 138.264405339223856 30.483015744527584 + 222.086225151647170 -45.872522427170964 + 214.911222180201236 39.675217421836138 + 116.388220641722739 62.791668914592776 + 230.413167432128574 39.536601941761468 + 161.492621594597409 13.409855703721597 + 251.445586080345350 33.731319279072871 + 58.297578574965080 -7.713217183682578 + 70.328919180944467 -59.088131952203597 + 173.805121078885662 46.300964331967165 + 180.022557076557348 -6.116916496067400 + 276.513960023634638 7.149976985788649 + 69.429649228683388 -26.808203145997400 + 357.180968137629293 -57.070549588296771 + 117.107852664780182 -2.172398520250861 + 304.560168648449917 -43.364245557477766 + 294.531160641405677 -57.579293939947391 + 326.365911953256330 19.601340372292857 + 266.200537308485934 -30.057749148169865 + 113.997810920119392 31.996585115321221 + 9.920918840714155 -8.125654310592211 + 202.693911625967786 -37.573337669328204 + 344.402531153087921 46.593266852618434 + 56.163068109170894 1.052404972924202 + 272.784486638074668 -1.685169778301060 + 14.883448272494704 -74.823673779193484 + 70.037513791025034 -54.740047407678375 + 187.292256237473282 21.744581595414132 + 167.363194749922940 60.081964745097501 + 284.223480301138864 57.777867346728911 + 46.101045616112103 -16.984796444138333 + 321.269517974213272 59.790534648630043 + 63.501154456062920 -59.557411610632229 + 156.557050461752993 20.191167059550484 + 53.767214201862444 -0.762212071424576 + 247.955246619438043 0.856165543483462 + 293.041296281083362 -47.464546441360987 + 69.317878380650967 -32.925037298042312 + 208.130035777141273 29.049338084199388 + 259.511966248946749 2.666115499693138 + 171.047695262558904 -70.391507536899013 + 94.302411153503286 27.041816476379637 + 264.286595724508800 -28.442483921019264 + 125.714502871717258 35.914215391809833 + 241.727193299735887 42.410518600699127 + 19.821007506245742 19.085083272897648 + 322.936374548065658 -62.749260336506225 + 187.792254978249474 45.248294353495481 + 99.080298159371651 -10.219856598893170 + 303.660250914826406 -87.434565801044741 + 159.290471569968958 52.823942173968156 + 240.929959628440201 55.196085446176241 + 357.352811255842084 -11.970750140478154 + 306.960857032545221 65.208136267575313 + 336.077321622647048 -77.520986384642001 + 310.366041342987955 8.336556380860509 + 24.137787561189437 66.956505279778810 + 105.053400523951098 18.715455275011880 + 70.678502251092837 55.994801287293065 + 147.963831385271703 -12.243794818992507 + 150.905875338195642 41.780332688552129 + 344.976324826623681 -16.780709866775812 + 332.669536860246922 13.037051985080078 + 354.120866397038412 16.058893724763479 + 137.279642031397032 -50.037637462736754 + 347.071441228926801 13.970316048556263 + 212.513440098127148 -0.812859927092790 + 180.383647553485417 69.244770522167883 + 101.554939081456354 11.727631908899895 + 58.451798439446591 -13.752150988774190 + 161.563506442820170 8.094242806647831 + 125.027016071719046 23.184406684411130 + 188.588035496787882 -59.368512282982785 + 195.778698799056457 -39.970541043092403 + 3.884106327762380 -72.620701673973031 + 106.760206799172437 -21.639645061452278 + 60.581042663906686 46.123664397079793 + 345.062994850033704 -22.755714532178818 + 85.115420852402053 -12.020875942642656 + 299.755916373960986 4.971358453406804 + 254.791885062206688 -9.684197014869849 + 201.837190431529791 -19.432293471625922 + 252.402484305650603 2.749728441348890 + 76.321533667812261 62.882084538192274 + 248.774263679736634 86.243787812267882 + 223.778088866723692 -13.648141968439766 + 258.281751076094736 -28.104028989602874 + 54.971016789905839 61.561509280771098 + 33.931214479936635 -64.225850003966272 + 342.426402120850810 58.061955236833384 + 145.421281005874420 20.558848362461934 + 231.632912219028469 42.466280262224529 + 345.776962359042045 22.694702605806750 + 301.434274169852131 -42.645342917359038 + 47.028145555870971 37.326343374241148 + 180.350769589245175 -3.867585285976422 + 65.420045819835011 -14.282381296078549 + 18.135636621664286 18.374508991028438 + 322.224325490393426 33.890172563302073 + 95.773303510326883 10.198359489724799 + 19.354890419151584 41.488975610778397 + 179.764848249054410 -26.464921707438677 + 280.840004299001691 54.415514024776556 + 200.501272412009200 15.800460079909966 + 48.619259600060495 18.285972226474389 + 139.887625607366004 17.782994718407821 + 92.762337618770090 -68.501410090601098 + 189.836857514091264 -45.910178298535357 + 324.961501950568049 -10.515877941756740 + 307.120952716607405 -74.552596995821105 + 301.256375237442683 -41.200360852056690 + 77.716262636717872 -17.218446286788563 + 48.077935597481343 33.482961249228104 + 43.287127621956692 48.740490451343369 + 314.864777249894530 21.797558078274697 + 28.810226025356243 -19.611828302097450 + 140.189023351006597 44.121983037238664 + 65.454740840138655 -83.008492043173320 + 148.015186458450813 -7.760708168489264 + 300.017962280551671 -8.850038628807409 + 352.241337021072070 47.566151320239605 + 1.529767918590181 -0.210123658180646 + 201.548311133116073 11.246164743009690 + 270.640732350878238 4.997918020526599 + 140.416133099913793 63.643248802797537 + 111.097871980455608 14.945587610435197 diff --git a/test/test_GSky.py b/test/test_GSky.py index 3c008d4..31f8db4 100755 --- a/test/test_GSky.py +++ b/test/test_GSky.py @@ -21,6 +21,18 @@ from gammalib import * from math import * import os +def loadtxt(filename): + """Parse text file with columns of floats. + + We have files with multiple spaces as delimiter, + which I think csv.reader can't handle.""" + data = [] + for row in [_.split() for _ in file(filename)]: + row_data = [] + for item in row: + row_data.append(float(item)) + data.append(row_data) + return data # ================================== # # Test class for GammaLib sky module # @@ -52,7 +64,7 @@ class Test(GPythonTestSuite): self.append(self.test_skymap_tan, "Test TAN projection map") self.append(self.test_skymap_stg, "Test STG projection map") self.append(self.test_skymap_azp, "Test AZP projection map") - + self.append(self.test_fk5_to_galactic, "Test FK5 to Galactic coordinate conversion") # Return return @@ -209,3 +221,47 @@ class Test(GPythonTestSuite): # Return return + + def test_fk5_to_galactic(self): + """ + Test precision of FK5 J2000 to Galactic coordinate tranformations + against pyast (http://dsberry.github.com/starlink/pyast.html) + for 1000 random positions on the sky. + + Test txt files taken from: + See https://github.com/astropy/coordinates-benchmark + """ + fk5_filename = "data/initial_coords.txt" + galactic_filename = "data/fk5_to_galactic.txt" + fk5_coordinates = loadtxt(fk5_filename) + galactic_coordinates = loadtxt(galactic_filename) + coordinates = zip(fk5_coordinates, galactic_coordinates) + max_dist = 0 + + for (ra, dec), (glon, glat) in coordinates: + # Create point A in FK5 J2000 coordinates + input_point = GSkyDir() + input_point.radec_deg(ra, dec) + + # Convert point A to Galactic coordinates + ll, bb = input_point.l_deg(), input_point.b_deg() + actual_point = GSkyDir() + actual_point.lb_deg(ll, bb) + + # Compute offset to reference result + reference_point = GSkyDir() + reference_point.lb_deg(glon, glat) + + # Compute distance and remember maximum + this_dist = actual_point.dist_deg(reference_point) + max_dist = max(max_dist, this_dist) + + max_dist *= 1e3 * 3600 # convert max_dist from deg to milli-arcsec + # Results match within 10 milli-arcsec on my machine, + # I put 20 arcsec here to avoid test failures on machines with + # slightly different numerical results + msg = '' + err = '' + self.test_assert(max_dist < 20, msg, err) + + return